Modeling Software Execution Environment

Modeling Software Execution Environment
WCRE 2012, 36%=42/118

Software execution environment, interfaced with software through library functions and system calls, constitutes an important aspect of the software's semantics. Software analysis ought to take the execution environment into consideration. However, due to lack of source code and the inherent implementation complexity of these functions, it is quite difficult to co-analyze software and its environment. In this paper, we propose to extend program synthesis techniques to construct models for system and library functions. The technique samples the behavior of the original implementation of a function. The samples are used as the specification to synthesize the model, which is a C program. The generated model is iteratively refined. We have developed a prototype that can successfully construct models for a pool of system and library calls from their real world complex binary implementations. Moreover, our experiments have shown that the constructed models can improve dynamic test generation and failure tolerance.

  author    = {Dawei Qi and
               William N. Sumner and
               Feng Qin and
               Mai Zheng and
               Xiangyu Zhang and
               Abhik Roychoudhury},
  title     = {Modeling Software Execution Environment},
  booktitle = {WCRE},
  year      = {2012},
  pages     = {415-424},
  ee        = {},
  crossref  = {DBLP:conf/wcre/2012},
  bibsource = {DBLP,}