Abstract
Symbiotic is a bug-finding and verification tool that integrates light-weight static analyses and instrumentation with program slicing and symbolic execution. The techniques are suitably combined according to a given goal. The paper describes a particular configuration competing in Test-Comp 2019. We also provide a brief analysis of Symbiotic ’s results achieved in the competition. As our tool uses a fork of the open-source symbolic executor Klee, we focus on comparison with mainstream Klee that also participated in the competition this year.
Similar content being viewed by others
References
Cadar, C., Dunbar, D., Engler, D.: KLEE: unassisted and automatic generation of high-coverage tests for complex systems programs. In: OSDI, pp. 209–224. USENIX Association (2008)
Chalupa, M., Strejček, J., Vitovská, M.: Joint forces for memory safety checking revisited. Int. J. Softw. Tools Technol. Transf. 22, 115–133 (2020). https://doi.org/10.1007/s10009-019-00526-2
Chalupa, M., Vitovská, M., Strejček, J.: Symbiotic 5: Boosted instrumentation-(competition contribution). In: Beyer, D., Huisman, M. (eds.) TACAS, volume 10806 of Lecture Notes in Computer Science, pp. 442–446. Springer, Berlin (2018)
De Moura, L., Bjørner, N.: Z3: an efficient SMT solver. In: TACAS, volume 4963 of LNCS, pp. 337–340. Springer (2008)
Ferrante, J., Ottenstein, K.J., Warren, J.D.: The program dependence graph and its use in optimization. In: International Symposium on Programming, volume 167 of Lecture Notes in Computer Science, pp. 125–132. Springer (1984)
Ganesh, V., Dill, D.L.: A decision procedure for bit-vectors and arrays. In: CAV, volume 4590 of Lecture Notes in Computer Science, pp. 519–531. Springer (2007)
Horwitz, S., Reps, T.W., Binkley, D.: Interprocedural slicing using dependence graphs. ACM Trans. Program. Lang. Syst. 12(1), 26–60 (1990)
King, J.C.: Symbolic execution and program testing. Commun. ACM 19(7), 385–394 (1976)
LLVM. http://llvm.org/
Slaby, J., Strejček, J., Trtík, M.: Symbiotic: synergy of instrumentation, slicing, and symbolic execution-(competition contribution). In: TACAS, volume 7795 of Lecture Notes in Computer Science, pp. 630–632. Springer (2013)
Vitovská, M., Chalupa, M., Strejček, J.: SBT-instrumentation: a tool for configurable instrumentation of LLVM bitcode. CoRR, arXiv:1810.12617 (2018)
Weiser, M.: Program slicing. In: ICSE, pp. 439–449. IEEE (1981)
Acknowledgements
The research is supported by The Czech Science Foundation grant GA18-02177S.
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Jury member: Martina Vitovská.
Rights and permissions
About this article
Cite this article
Chalupa, M., Vitovská, M., Jašek, T. et al. Symbiotic 6: generating test cases by slicing and symbolic execution. Int J Softw Tools Technol Transfer 23, 875–877 (2021). https://doi.org/10.1007/s10009-020-00573-0
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10009-020-00573-0