JDart: A dynamic symbolic analysis framework

N/ACitations
Citations of this article
43Readers
Mendeley users who have this article in their library.

This article is free to access.

Abstract

We describe JDART, a dynamic symbolic analysis framework for Java. A distinguishing feature of JDART is its modular architecture: the main component that performs dynamic exploration communicates with a component that efficiently constructs constraints and that interfaces with constraint solvers. These components can easily be extended or modified to support multiple constraint solvers or different exploration strategies. Moreover, JDART has been engineered for robustness, driven by the need to handle complex NASA software. These characteristics, together with its recent open sourcing, make JDART an ideal platform for research and experimentation. In the current release, JDART supports the CORAL, SMTInterpol, and Z3 solvers, and is able to handle NASA software with constraints containing bit operations, floating point arithmetic, and complex arithmetic operations (e.g., trigonometric and nonlinear). We illustrate how JDART has been used to support other analysis techniques, such as automated interface generation and testing of libraries. Finally, we demonstrate the versatility and effectiveness of JDART, and compare it with state-of-the-art dynamic or pure symbolic execution engines through an extensive experimental evaluation.

Cite

CITATION STYLE

APA

Luckow, K., Dimjašević, M., Giannakopoulou, D., Howar, F., Isberner, M., Kahsai, T., … Raman, V. (2016). JDart: A dynamic symbolic analysis framework. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 9636, pp. 442–459). Springer Verlag. https://doi.org/10.1007/978-3-662-49674-9_26

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