Skip to main content

+1 866 653-6233 LinkedIn Software Expert Witness Directory

About Us Contact Us

Barr Group Software Experts

Barr Group Software Experts

Main navigation

  • Expert Services
    • Consulting Experts in Software and Electronics
    • Expert Reports by Testifying Software Experts
    • Reverse Engineering and Forensic Analysis
    • Software Source Code Review and Analysis
  • Areas of Expertise
    • Left Side
      • Artificial Intelligence
      • Automotive Systems
      • Cloud Computing
      • Computer Security
      • Consumer Electronics
      • Electronic Circuits
      • Enterprise Software
      • Financial Technology
      • Firmware and IoT
    • Right Side
      • Industrial Controls
      • Mechanical Design
      • Medical Devices
      • Military & Aerospace
      • Mobile Devices & Apps
      • Optical Equipment
      • Renewable Energy
      • Signal Processing
      • Telecommunications
  • Matters & Venues
    • Patent Infringement and Invalidity Experts
    • Software Copyright and Trade Secrets Experts
    • Product Liability and Failure Analysis Experts
    • Contract Disputes and Software Project Failures
    • Venues and Clients
  • Directory
  • Case Studies
    • DirecTV Anti-Piracy
    • Samsung Software Copyright
    • Toyota Runaway Cars
  • Resources
    • Expert Witness Blog
    • Source Code Review in Litigation
    • Software Source Code Discovery

tools

  1. Home
  2. tools

tools

These blog posts are about development tools of relevance to embedded software designers.

Inexpensive Firmware Process Improvements for Small Teams

Posted July 07, 2017

Learn practical and easy-to-apply software process improvements that even the smallest design teams can use to make firmware easier to code, debug and test, with a tools cost of less than $600.

  • Read more
  • Share
  • Facebook
  • Twitter
  • LinkedIn

How to Prevent and Detect Stack Overflow

Posted September 07, 2016

The safety and security of every embedded system is dependent upon proper operation of the stack (or stacks, if there are multiple). If a stack overflow occurs, a major or minor malfunction is very likely to follow. Despite this, the stack in the majority of embedded systems is sized based on nothing more than a hunch. As well, run-time stack monitoring is too seldom used.

  • Read more
  • Share
  • Facebook
  • Twitter
  • LinkedIn

Patterns of Thinking in Software Development

Posted May 04, 2016

Metaphors and analogies can be valuable tools for learning new software concepts and tapping subject matter expertise during embedded software development.

  • Read more
  • Share
  • Facebook
  • Twitter
  • LinkedIn

2016 Safety & Security Survey

Posted March 08, 2016

Barr Group's 2016 Embedded Systems Safety & Security Survey had participation from more than 2,500 embedded systems design engineers and revealed a number of interesting trends in the embedded industry.

  • Read more
  • Share
  • Facebook
  • Twitter
  • LinkedIn

How to Prevent Bugs in Embedded Software with TDD

Posted March 01, 2016

It’s a fact: When you create code, you create bugs. Listen in as we present the finer points of Test-Driven Development (TDD) - a game-changing approach to embedded software development that can greatly reduce bugs early in the development process. TDD is not a debugging technique but rather an approach to proactively preventing defects.

  • Read more
  • Share
  • Facebook
  • Twitter
  • LinkedIn

How to Make Embedded Software Smaller and Faster

Posted January 06, 2016

Many embedded systems have reliability, cost, and performance requirements that demand performance be designed into the system, from architecture to algorithms to data structures to coding guidelines.

  • Read more
  • Share
  • Facebook
  • Twitter
  • LinkedIn

Pros and Cons of AndroidOS for Embedded Systems

Posted March 03, 2015

Android software architecture, hardware requirements, licensing terms, and security considerations with a few case studies to illustrate the pros and cons of building embedded systems around the AndroidOS.

  • Read more
  • Share
  • Facebook
  • Twitter
  • LinkedIn

Portable Fixed-Width Integers in C

Posted January 01, 2004

For embedded software developers, the most significant improvements to the C programming language made in the ISO C99 standard update are in the new <stdint.h> header file. Learn the typedef names for the new fixed width integer data types, to make hardware interfacing in C easier. 

  • Read more
  • Share
  • Facebook
  • Twitter
  • LinkedIn

Introduction to On-Chip Debug

Posted March 01, 2003

Motorola's Background Debug Mode is one of a variety of on-chip debug technologies. Collectively, they offer some of the best features of debug monitors and in-circuit emulators—with far less headache and cost.

  • Read more
  • Share
  • Facebook
  • Twitter
  • LinkedIn

KVM: A Small Java Virtual Machine for J2ME

Posted June 01, 2002

Sun's K Virtual Machine gives embedded developers a virtual kick in the pants. KVM makes it possible to, for the first time, run Java programs on any 16-bit processor with 128KB of available memory.

  • Read more
  • Share
  • Facebook
  • Twitter
  • LinkedIn

How to Use Lint for Static Code Analysis

Posted May 01, 2002

Language specifications, including those for C and C++, are often loosely written. A static analysis tool called lint can help you find dangerous and non-portable constructs in your code before your compiler turns them into run-time bugs.

  • Read more
  • Share
  • Facebook
  • Twitter
  • LinkedIn

How to Detect Memory Leaks

Posted February 01, 2002

Memory leaks can be particularly risky for long-running embedded systems. Here are some tools to identify, track, and analyze memory leaks in embedded C and C++ programs.

  • Read more
  • Share
  • Facebook
  • Twitter
  • LinkedIn

How Endianness Works: Big-Endian vs. Little Endian

Posted January 01, 2002

Some human languages are read and written from left to right; others from right to left. A similar issue arises in the field of computers, involving the representation of numbers.

  • Read more
  • Share
  • Facebook
  • Twitter
  • LinkedIn

How to Use the C Preprocessor's #error Directive

Posted September 01, 1999

One of the least used but potentially most useful features of the C preprocessor is the ANSI-specified #error directive. Here's a look at a couple of clever uses for #error that have proven invaluable in embedded software development.

  • Read more
  • Share
  • Facebook
  • Twitter
  • LinkedIn

How to Choose an Embedded C Compiler

Posted May 01, 1999

Let's face it, there's nothing sexy about the topic of cross compilers. Embedded programmers couldn't get the job done without one, but spend very little time thinking about how they work or how they could make our work easier.

  • Read more
  • Share
  • Facebook
  • Twitter
  • LinkedIn

Java Compilers for Embedded Systems

Posted September 01, 1998

Java compilers (also known as ahead-of-time or AOT compilers) may be the breakthrough needed to propagate widespread use of Java throughout the embedded industry.

  • Read more
  • Share
  • Facebook
  • Twitter
  • LinkedIn

Kaffe: A Compact Open Source Java Virtual Machine

Posted February 01, 1998

Quite a few embedded programmers are considering adopting the Java programming language. But it's not as easy to run Java programs in an embedded environment as you might think.

  • Read more
  • Share
  • Facebook
  • Twitter
  • LinkedIn

Request an Expert

(866) 653-6233

Barr Group logo
Call us

Expert Services

  • Source Code Review Services
  • Expert Witness Directory
  • Reverse Engineering Services
  • Expert Reports & Testimony
  • How-To Technical Articles
  • Engineering Services

Latest Insights

  • Payment Processing and e-Payments Fraud
  • Albert Einstein Expert Witness
  • Medical Device Litigation and FDA 510(k)
  • Personality Traits of the Best Expert Witnesses

Website contents copyright © 2012-2025 by Barr Group. | Barr Group's logo is a U.S.-registered ® trademark.

SITEMAP  |  PRIVACY