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.
This is a preview of subscription content, access via your institution.

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
Keywords
- Symbiotic
- Program slicing
- Symbolic execution
- Klee