Symbolic Execution Debugger (SED)

  • Martin Hentschel
  • Richard Bubel
  • Reiner Hähnle
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8734)


We present the Symbolic Execution Debugger for sequential Java programs. Being based on symbolic execution, its functionality goes beyond that of traditional interactive debuggers. For instance, debugging can start directly at any method or statement and all program execution paths are explored simultaneously. To support program comprehension, execution paths as well as intermediate states are visualized.


Symbolic Execution Debugging Program Execution Visualization 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Albert, E., Cabanas, I., Flores-Montoya, A., Gomez-Zamalloa, M., Gutierrez, S.: jPET: An Automatic Test-Case Generator for Java. In: Proc. of the 18th Working Conf. on Reverse Engineering, WCRE 2011, pp. 441–442. IEEE CS (2011)Google Scholar
  2. 2.
    Beckert, B., Hähnle, R., Schmitt, P.H. (eds.): Verification of Object-Oriented Software. LNCS (LNAI), vol. 4334. Springer, Heidelberg (2007)Google Scholar
  3. 3.
    Boyer, R.S., Elspas, B., Levitt, K.N.: SELECT—A formal system for testing and debugging programs by symbolic execution. ACM SIGPLAN Notices 10(6), 234–245 (1975)CrossRefGoogle Scholar
  4. 4.
    Burstall, R.M.: Program proving as hand simulation with a little induction. In: Information Processing 1974, pp. 308–312. Elsevier/North-Holland (1974)Google Scholar
  5. 5.
    Grottke, M., Trivedi, K.S.: A classification of software faults. Journal of Reliability Engineering Association of Japan 27(7), 425–438 (2005)Google Scholar
  6. 6.
    Hähnle, R., Baum, M., Bubel, R., Rothe, M.: A visual interactive debugger based on symbolic execution. In: ASE, pp. 143–146 (2010)Google Scholar
  7. 7.
    Ibing, A.: Parallel SMT-Constrained Symbolic Execution for Eclipse CDT/Codan. In: Yenigün, H., Yilmaz, C., Ulrich, A. (eds.) ICTSS 2013. LNCS, vol. 8254, pp. 196–206. Springer, Heidelberg (2013)CrossRefGoogle Scholar
  8. 8.
    Jacobs, B., Smans, J., Philippaerts, P., Vogels, F., Penninckx, W., Piessens, F.: VeriFast: A Powerful, Sound, Predictable, Fast Verifier for C and Java. In: Bobaru, M., Havelund, K., Holzmann, G.J., Joshi, R. (eds.) NFM 2011. LNCS, vol. 6617, pp. 41–55. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  9. 9.
    Katz, S., Manna, Z.: Towards automatic debugging of programs. In: Proc. of the Intl. Conf. on Reliable Software, Los Angeles, pp. 143–155. ACM Press (1975)Google Scholar
  10. 10.
    King, J.C.: Symbolic Execution and Program Testing. Communications of the ACM 19(7), 385–394 (1976)CrossRefzbMATHGoogle Scholar
  11. 11.
    Pǎsǎreanu, C.S., Mehlitz, P.C., Bushnell, D.H., Gundy-Burlet, K., Lowry, M., Person, S., Pape, M.: Combining Unit-level Symbolic Execution and System-level Concrete Execution for Testing Nasa Software. In: Proc. of the 2008 Intl. Symposium on Software Testing and Analysis, ISSTA 2008, pp. 15–26. ACM (2008)Google Scholar
  12. 12.
    Tillmann, N., de Halleux, J.: Pex: White Box Test Generation for .NET. In: Beckert, B., Hähnle, R. (eds.) TAP 2008. LNCS, vol. 4966, pp. 134–153. Springer, Heidelberg (2008)Google Scholar

Copyright information

© Springer International Publishing Switzerland 2014

Authors and Affiliations

  • Martin Hentschel
    • 1
  • Richard Bubel
    • 1
  • Reiner Hähnle
    • 1
  1. 1.Dept. of Computer ScienceTU DarmstadtDarmstadtGermany

Personalised recommendations