Finding What's Not There: A New Approach to Revealing Neglected Conditions in Software
Case Western Reserve University, Cleveland OH
Investigators
Abstract
P0702693 Finding What's Not There: A New Approach to Revealing Neglected Conditions in Software Andy Podgurski A new approach to the detection of neglected conditions in software is explored that is based on the ideas that vital clues about neglected conditions are often distributed throughout a project code base. Clues are represented as graph minors of program dependence graphs, which model programming patterns in which particular conditions are handled properly. PDG minors permit a wide variety of such patterns to be modeled concisely and without unnecessary constraints on the contexts in which the patterns may be found. Patterns are found by mining a database of dependence graphs to identify recurring graph minors, on the assumption that the more a programming pattern is used, the more likely it is to be correct. After putatively correct patterns are identified, the graph database is searched again to identify pattern violations corresponding to neglected conditions. This approach is distinguished from related work on defect detection by its focus on neglected conditions, by its use of dependence graph minors to represent programming patterns, and by its use of graph mining technology to identify patterns. The approach will be evaluated and refined by applying it to reveal neglected conditions in a variety of open-source projects.
View original record on NSF Award Search →