Compositional Symbolic Execution Using Fine-Grained Summaries. Lin, Y., Miller, T., & Søndergaard, H. In Proceedings of the 24th Australasian Software Engineering Conference (ASWEC 2015), pages 213–222, 2015. IEEE Computing Society.
Compositional Symbolic Execution Using Fine-Grained Summaries [link]Paper  doi  abstract   bibtex   
Compositional symbolic execution has been proposed as a way to increase the efficiency of symbolic execution. Essentially, when a function is symbolically executed, a \emphsummary of the path that was executed is stored. This summary records the precondition and postcondition of the path, and on subsequent calls that satisfy that precondition, the corresponding postcondition can be returned instead of executing the function again. However, using functions as the unit of summarisation leaves the symbolic execution tool at the mercy of a program designer, essentially resulting in an arbitrary summarisation strategy. In this paper, we explore the use of \emphfine-grained summaries, in which blocks \emphwithin functions are summarised. We propose three types of summarisation and demonstrate how to generate these. At such a fine-grained level, symbolic execution of a path effectively becomes the concatenation of the summaries along that path. Using a prototype symbolic execution tool, we perform a preliminary experimental evaluation of our summary approaches, demonstrating that they can improve the speed of symbolic execution by reducing the number of calls sent to the underlying constraint solver.
@inproceedings{Lin-Mil-Son_ASWEC15,
  author    = {Yude Lin and 
		Tim Miller and 
		Harald S{\o}ndergaard},
  title     = {Compositional Symbolic Execution Using Fine-Grained Summaries},
  booktitle = {Proceedings of the 24th Australasian Software Engineering
                Conference (ASWEC 2015)},
  pages     = {213--222},
  publisher = {IEEE Computing Society},
  year      = {2015},
  doi       = {10.1109/ASWEC.2015.32},
  url_Paper = {http://ieeexplore.ieee.org/xpl/login.jsp?tp=&arnumber=7365810},
  abstract  = {Compositional symbolic execution has been proposed as a way to 
		increase the efficiency of symbolic execution. Essentially, 
		when a function is symbolically executed, a \emph{summary} of 
		the path that was executed is stored. This summary records the 
		precondition and postcondition of the path, and on subsequent 
		calls that satisfy that precondition, the corresponding 
		postcondition can be returned instead of executing the function
		again. However, using functions as the unit of summarisation 
		leaves the symbolic execution tool at the mercy of a program 
		designer, essentially resulting in an arbitrary summarisation 
		strategy. In this paper, we explore the use of 
		\emph{fine-grained} summaries, in which blocks \emph{within} 
		functions are summarised. We propose three types of 
		summarisation and demonstrate how to generate these. At such a 
		fine-grained level, symbolic execution of a path effectively 
		becomes the concatenation of the summaries along that path. 
		Using a prototype symbolic execution tool, we perform a 
		preliminary experimental evaluation of our summary approaches, 
		demonstrating that they can improve the speed of symbolic 
		execution by reducing the number of calls sent to the 
		underlying constraint solver.},
  keywords  = {Symbolic execution},
}

Downloads: 0