Fault Localization via Efficient Probabilistic Modeling of Program Semantics

34Citations
Citations of this article
34Readers
Mendeley users who have this article in their library.
Get full text

Abstract

Testing-based fault localization has been a significant topic in software engineering in the past decades. It localizes a faulty program element based on a set of passing and failing test executions. Since whether a fault could be triggered and detected by a test is related to program semantics, it is crucial to model program semantics in fault localization approaches. Existing approaches either consider the full semantics of the program (e.g., mutation-based fault localization and angelic debugging), leading to scalability issues, or ignore the semantics of the program (e.g., spectrum-based fault localization), leading to imprecise localization results. Our key idea is: by modeling only the correctness of program values but not their full semantics, a balance could be reached between effectiveness and scalability. To realize this idea, we introduce a probabilistic approach to model program semantics and utilize information from static analysis and dynamic execution traces in our modeling. Our approach, SmartFL (SeMantics bAsed pRobabilisTic Fault Localization), is evaluated on a real-world dataset, Defects4J. The top-1 statement-level accuracy of our approach is 21 %, which is the best among state-of-the-art methods. The average time cost is 210 seconds per fault while existing methods that capture full semantics are often 10x or more slower.

Cite

CITATION STYLE

APA

Zeng, M., Wu, Y., Ye, Z., Xiong, Y., Zhang, X., & Zhang, L. (2022). Fault Localization via Efficient Probabilistic Modeling of Program Semantics. In Proceedings - International Conference on Software Engineering (Vol. 2022-May, pp. 958–969). IEEE Computer Society. https://doi.org/10.1145/3510003.3510073

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free