Andrei Terechko |
Detecting Heisenbugs - the case for dynamic analysis |
The software content in mobile devices, cars, and embedded systems in general is exploding. Statistically, one in every 1000 lines holds a bug. For a web browser in your phone, users may accept the forced occasional restart. For the 24 million lines of code in the Joint Strike Fighter, the general public may have a different opinion. In our experience, about 80% of these bugs is due to the dynamic behavior of the programs. Dynamic errors are notoriously hard to beat. Often these are true “Heisenbugs”; when you add a print statement or inspect the code in a debugger, the bug mysteriously disappears. Static analysis tools will detect a number of these bugs, but they fail as soon as the code relies on inherently dynamic properties. In this presentation, we will detail dynamic analysis technology approaches with their benefits and pitfalls. Yet, thanks to advances in compiler technology, we will unveil why dynamic analysis today *will* beat the Heisenbugs. |
Andrei Terechko is a quality addict and has tested hardware and software for more than 15 years at Philips Research, NXP Semiconductors and Vector Fabrics. His active engagement with customers brings in a unique user perspective on software verification in contrast to the technology push approach. Furthermore, Andrei is an expert in embedded processors, parallelizing compilers and Systems-on-a-Chip design. Author of 13 US patents and 22 international publications. |
Klik HIER voor de presentatie van Andrei Terechko