Skip to main content

Symbiotic  8: Parallel and Targeted Test Generation

(Competition Contribution)

Part of the Lecture Notes in Computer Science book series (LNTCS,volume 12649)

Abstract

The setup of Symbiotic  8 for Test-Comp  2021 brings radical changes in the test generation for coverage-branches property. Similarly as in Symbiotic  7, we generate tests by running our fork of symbolic executor Klee on the analyzed program. Symbiotic  8, however, runs several instances of Klee in parallel. We run one instance of Klee on the original program and, simultaneously, we create one (intentionally unsound) program slice for every program-terminating instruction in the program and run Klee on these slices. Apart from this principal change, we also improved other components of the tool, mainly the program slicer. Further, our fork of Klee now supports symbolic pointer arithmetics and comparison of symbolic addresses.

M. Chalupa—Jury member.

References

  1. C. Cadar, D. Dunbar, and D. Engler. KLEE: Unassisted and automatic generation of high-coverage tests for complex systems programs. In OSDI, pages 209–224. USENIX Association, 2008. http://www.usenix.org/events/osdi08/tech/full_papers/cadar/cadar.pdf.

  2. M. Chalupa, T. Jašek, L. Tomovič, M. Hruška, V. Šoková, P. Ayaziová, J. Strejček, and T. Vojnar. Symbiotic 7: Integration of predator and more (competition contribution). In TACAS, volume 12079 of LNCS, pages 413–417. Springer, 2020. https://doi.org/10.1007/978-3-030-45237-7_31

  3. M. Chalupa, M. Vitovská, T. Jašek, M. Šimáček, and J. Strejček. Symbiotic 6: generating test cases by slicing and symbolic execution. International Journal on Software Tools for Technology Transfer, 2020. https://doi.org/10.1007/s10009-020-00573-0.

  4. L. de Moura and N. Bjørner. Z3: an efficient SMT solver. In TACAS, volume 4963 of LNCS, pages 337–340. Springer, 2008. https://doi.org/10.1007/978-3-540-78800-3_24.

  5. J. C. King. Symbolic execution and program testing. Communications of ACM, 19(7):385–394, 1976. https://doi.org/10.1145/360248.360252.

  6. Mark Weiser. Program slicing. IEEE Transactions on Software Engineering, 10(4):352–357, 1984. https://doi.org/10.1109/TSE.1984.5010248.

  7. LLVM. http://llvm.org/.

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Marek Chalupa .

Editor information

Editors and Affiliations

Rights and permissions

Open Access This chapter is licensed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license and indicate if changes were made.

The images or other third party material in this chapter are included in the chapter's Creative Commons license, unless indicated otherwise in a credit line to the material. If material is not included in the chapter's Creative Commons license and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder.

Reprints and Permissions

Copyright information

© 2021 The Author(s)

About this paper

Verify currency and authenticity via CrossMark

Cite this paper

Chalupa, M., Novák, J., Strejček, J. (2021). Symbiotic  8: Parallel and Targeted Test Generation. In: Guerra, E., Stoelinga, M. (eds) Fundamental Approaches to Software Engineering. FASE 2021. Lecture Notes in Computer Science(), vol 12649. Springer, Cham. https://doi.org/10.1007/978-3-030-71500-7_20

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-71500-7_20

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-71499-4

  • Online ISBN: 978-3-030-71500-7

  • eBook Packages: Computer ScienceComputer Science (R0)