Abstract
JDart performs dynamic symbolic execution of Java programs: it executes programs with concrete inputs while recording symbolic constraints on executed program paths. A portfolio of constraint solvers is then used for generating new concrete values from recorded constraints that drive execution along previously unexplored paths. For SV-COMP 2021, we improved JDart by implementing exploration strategies, bounded analysis, and path-specific constraint solving strategies, as well as by enabling the use of SMT-Lib string theory for encoding of string operations.
Contributor Information
Jan Friso Groote, Email: j.f.groote@tue.nl.
Kim Guldstrand Larsen, Email: kgl@cs.aau.dk.
Malte Mues, Email: malte.mues@tu-dortmund.de.
Falk Howar, Email: falk.howar@tu-dortmund.de.
References
- 1.Barrett, C., Conway, C.L., Deters, M., Hadarean, L., Jovanović, D., King, T., Reynolds, A., Tinelli, C.: CVC4. In: Gopalakrishnan, G., Qadeer, S. (eds.) Computer Aided Verification. pp. 171–177. Springer (2011). 10.1007/978-3-642-22110-1_14 [DOI]
- 2.Beyer, D.: Software verification: 10th comparative evaluation (SV-COMP 2021). In: International Conference on Tools and Algorithms for the Construction and Analysis of Systems. Springer (2021)
- 3.Bjørner, N., Tillmann, N., Voronkov, A.: Path feasibility analysis for string-manipulating programs. In: International Conference on Tools and Algorithms for the Construction and Analysis of Systems. pp. 307–321. Springer (2009). 10.1007/978-3-642-00768-2_27 [DOI]
- 4.Cordeiro, L., Kroening, D., Schrammel, P.: JBMC: Bounded model checking for Java bytecode. In: Beyer, D., Huisman, M., Kordon, F., Steffen, B. (eds.) Tools and Algorithms for the Construction and Analysis of Systems. pp. 219–223. Springer International Publishing, Cham (2019). 10.1007/978-3-030-17502-3_17 [DOI]
- 5.De Moura, L., Bjørner, N.: Z3: An efficient SMT solver. In: International conference on Tools and Algorithms for the Construction and Analysis of Systems. pp. 337–340. Springer (2008). 10.1007/978-3-540-78800-3_24 [DOI]
- 6.Howar, F., Jabbour, F., Mues, M.: JConstraints: A library for working with logic expressions in Java. In: Models, Mindsets, Meta: The What, the How, and the Why Not?, pp. 310–325. Springer (2019). 10.1007/978-3-030-22348-9_19 [DOI]
- 7.Luckow, K.S., Dimjasevic, M., Giannakopoulou, D., Howar, F., Isberner, M., Kahsai, T., Rakamaric, Z., Raman, V.: JDart: A dynamic symbolic analysis framework. In: Proceedings of TACAS 2016. pp. 442–459 (2016). 10.1007/978-3-662-49674-9_26 [DOI]
- 8.Mues, M., Howar, F.: JDart artifact used in SV-COMP 2021 (Dec 2020). 10.5281/zenodo.4327551 [DOI]
- 9.Mues, M., Howar, F.: JDart: Dynamic symbolic execution for Java bytecode (competition contribution). In: International Conference on Tools and Algorithms for the Construction and Analysis of Systems. pp. 398–402. Springer (2020). 10.1007/978-3-030-45237-7_28 [DOI]
- 10.Reynolds, A., Woo, M., Barrett, C., Brumley, D., Liang, T., Tinelli, C.: Scaling up DPLL(T) string solvers using context-dependent simplification. In: International Conference on Computer Aided Verification. pp. 453–474. Springer (2017). 10.1007/978-3-319-63390-9_24 [DOI]
- 11.Sharma, V., Hussein, S., Whalen, M., McCamant, S., Visser, W.: Java Ranger at SV-COMP 2020 (competition contribution). In: Tools and Algorithms for the Construction and Analysis of Systems. LNCS 12079, Springer (2020). 10.1007/978-3-030-45237-7_27 [DOI]
- 12.Visser, W., Havelund, K., Brat, G., Park, S., Lerda, F.: Model checking programs. Automated Software Engineering 10(2), 203–232 (Apr 2003). 10.1023/A:1022920129859 [DOI]
