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

debugging

  1. Home
  2. debugging

debugging

How-to articles with debugging tips and tricks for embedded systems.

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

ESC Boston: Dangerous Flaws in Safety-Critical Device Design

Posted May 10, 2017

On May 3, 2017, Barr Group CTO and software expert Michael Barr delivered this keynote about the safety and security of Internet of Things devices at the Embedded Systems Conference in Boston.

  • Read more
  • Share
  • Facebook
  • Twitter
  • LinkedIn

Top 10 Causes of Nasty Embedded Software Bugs

Posted May 05, 2016

Too often engineers give up trying to discover the cause of infrequent anomalies--because they can't be easily reproduced in the lab--dismissing them as "user errors" or "glitches." Yet these ghosts in the machine live on. So here's a guide to the most frequent root causes of difficult-to-reproduce firmware bugs.

  • Read more
  • Share
  • Facebook
  • Twitter
  • LinkedIn

How to Avoid Common Firmware Bugs

Posted May 04, 2016

Understanding software and hardware bugs in other embedded systems can help you identify, diagnose, and fix bugs in your own.

  • Read more
  • Share
  • Facebook
  • Twitter
  • LinkedIn

How to Install and Configure the RedBoot ROM Monitor

Posted May 04, 2016

RedBoot is a portable, open-source ROM monitor that offers a download and debug environment. What more could you want?

Many embedded developers today use a ROM- or flash-resident software program that provides functionality such as loading and running application software, scripting, read/write access to processor registers, and memory dumps. A ROM monitor, as it is often called, can be a useful and far less expensive debugging tool than an in-circuit emulator.

  • Read more
  • Share
  • Facebook
  • Twitter
  • LinkedIn

Bug-Killing Coding Standard Rules for Embedded C

Posted May 04, 2016

A C coding standard can help keep bugs out of embedded software by leveraging common language features and development tools.

  • Read more
  • Share
  • Facebook
  • Twitter
  • LinkedIn

More Bug-Killing Coding Standards for Embedded C

Posted May 04, 2016

This second article on enforceable coding standards for embedded systems adds a set of additional bug-killing rules for using certain C keywords and naming global variables.

  • 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 Find and Fix the Most Common Embedded Software Bugs

Posted September 09, 2015

As if debugging traditional PC/server software or even smartphone apps wasn't hard enough, debugging embedded software adds significant challenges.

  • Read more
  • Share
  • Facebook
  • Twitter
  • LinkedIn

Mutexes and Semaphores Demystified

Posted May 13, 2015

What's the difference between a mutex and a semaphore? Misuse of these two distinct types of synchronization primitives can lead to difficult to debug defects with potentially severe consequences in safety-critical devices.

  • 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

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 to Define Your Own assert() Macro for Embedded Systems

Posted April 01, 2001

Embedded systems programmers often value the assert() macro. This article explores the underlying definition of this handy macro, to show you how to roll your own.

  • Read more
  • Share
  • Facebook
  • Twitter
  • LinkedIn

How and When to Use C's assert() Macro

Posted March 01, 2001

The assert() macro is one of those simple tools that would not seem to merit an entire article, but I have come across an alarming number of engineers who have not heard of it or do not use it.

  • 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