Skip to main content
Top

2004 | OriginalPaper | Chapter

Localizing Program Errors for Cimple Debugging

Authors : Samik Basu, Diptikalyan Saha, Scott A. Smolka

Published in: Formal Techniques for Networked and Distributed Systems – FORTE 2004

Publisher: Springer Berlin Heidelberg

Activate our intelligent search to find suitable subject content or patents.

search-config
loading …

We present automated techniques for the explanation of counter-examples, where a counter-example should be understood as a sequence of program statements. Our approach is based on variable dependency analysis and is applicable to programs written in Cimple, an expressive subset of the C programming language. Central to our approach is the derivation of a focus-statement sequence (FSS) from a given counter-example: a subsequence of the counter-example containing only those program statements that directly or indirectly affect the variable valuation leading to the program error behind the counter-example. We develop a ranking procedure for FSSs where FSSs of higher rank are conceptually easier to understand and correct than those of lower rank. We also analyze constraints over uninitialized variables in order to localize program errors to specific program segments; this often allows the user to subsequently take appropriate debugging measures. We have implemented our techniques in the FocusCheck model checker, which efficiently checks for assertion violations in Cimple programs on a per-procedure basis. The practical utility of our approach is illustrated by its successful application to a fast, linear-time median identification algorithm commonly used in statistical analysis and in the Resolution Advisory module of the Traffic Collision Avoidance System.

Metadata
Title
Localizing Program Errors for Cimple Debugging
Authors
Samik Basu
Diptikalyan Saha
Scott A. Smolka
Copyright Year
2004
Publisher
Springer Berlin Heidelberg
DOI
https://doi.org/10.1007/978-3-540-30232-2_6

Premium Partner