Eliminating harmful bugs from software.

© 2011 EPFL

© 2011 EPFL

Portend - a system that makes an important step toward eliminating harmful bugs from concurrent software.

Baris Kasikci, Cristian Zamfir, and Prof. George Candea of the I&C Dependable Systems Lab built a system, called Portend, that makes an important step toward eliminating harmful bugs from concurrent software. It focuses on data races, the worst kinds of bugs; these occur when two threads access a shared memory location, at least one of the two accesses is a write, and the ordering of the two accesses is not enforced using synchronization primitives. Harmful data races are at the heart of some of the worst concurrency bugs, that have led in the past to loss of life as well as significant financial losses. Portend automatically classifies data races based on the severity of their consequences, identifies the harmful ones, and informs developers about which ones are most important to fix. Portend achieves high accuracy by efficiently analyzing multiple execution paths and multiple thread schedules in combination. Their work will appear in the proceedings of the International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS 2012).