User Manual Privacy Policy Disclaimer Contact us
  Advanced SearchBrowse




Conference Paper

Probabilistic Graph Models for Debugging Software


Dietz,  Laura
Databases and Information Systems, MPI for Informatics, Max Planck Society;

There are no locators available
Fulltext (public)
There are no public fulltexts available
Supplementary Material (public)
There is no public supplementary material available

Dietz, L. (2009). Probabilistic Graph Models for Debugging Software. In Proceedings of NIPS 2008 Workshop on Analyzing Graphs (pp. 1-8). Columbia: Harvard University.

Cite as: http://hdl.handle.net/11858/00-001M-0000-000F-193C-0
Of all software development activities, debugging---locating the defective source code statements that cause a failure---can be by far the most time-consuming. We employ probabilistic modeling to support programmers in finding defective code. Most defects are identifiable in control flow graphs of software traces. A trace is represented by a sequence of code positions (line numbers in source filenames) that are executed when the software runs. The control flow graph represents the finite state machine of the program, in which states depict code positions and arcs indicate valid follow up code positions. In this work, we extend this definition towards an n-gram control flow graph, where a state represents a fragment of subsequent code positions, also referred to as an n-gram of code positions. We devise a probabilistic model for such graphs in order to infer code positions in which anomalous program behavior can be observed. This model is evaluated on real world data obtained from the open source AspectJ project and compared to the well known multinomial and multi-variate Bernoulli model.