Adding Constraint Building Mechanisms to a Symbolic Execution Engine Developed for Detecting Runtime Errors

TitleAdding Constraint Building Mechanisms to a Symbolic Execution Engine Developed for Detecting Runtime Errors
Publication TypeConference Paper
Year of Publication2015
AuthorsKádár I, Hegedűs P, Ferenc R
Conference NameProceedings of the 15th International Conference on Computational Science and Its Applications (ICCSA 2015)
Pagination20–35
Date Publishedjun
PublisherSpringer-Verlag
Conference LocationBanff, Alberta, Canada
KeywordsConstraint system building, Java runtime errors, Software engineering, symbolic execution
Abstract

Most of the runtime failures of a software system can be revealed during test execution only, which has a very high cost. The symbolic execution engine developed at the Software Engineering Department of University of Szeged is able to detect runtime errors (such as null pointer dereference, bad array indexing, division by zero) in Java programs without running the program in real-life environment. In this paper we present a constraint system building mechanism which improves the accuracy of the runtime errors found by the symbolic execution engine mentioned above. We extend the original principles of symbolic execution by tracking the dependencies of the symbolic variables and substituting them with concrete values if the built constraint system unambiguously determines their value. The extended symbolic execution checker was tested on real-life open-source systems as well.

URLhttps://link.springer.com/chapter/10.1007%2F978-3-319-21413-9_2
DOI10.1007/978-3-319-21413-9_2
Page last modified: January 23, 2018