Program slicing enhances a verification technique combining static and dynamic analysis

  • Authors:
  • Omar Chebaro;Nikolai Kosmatov;Alain Giorgetti;Jacques Julliand

  • Affiliations:
  • CEA, LIST, Software Safety Laboratory, Gif-sur-Yvette France;CEA, LIST, Software Safety Laboratory, Gif-sur-Yvette France;LIFC, University of Franche-Comté, Besançon France and INRIA Nancy - Grand Est, CASSIS project, Villers-lès-Nancy France;LIFC, University of Franche-Comté, Besançon France

  • Venue:
  • Proceedings of the 27th Annual ACM Symposium on Applied Computing
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

Recent research proposed efficient methods for software verification combining static and dynamic analysis, where static analysis reports possible runtime errors (some of which may be false alarms) and test generation confirms or rejects them. However, test generation may time out on real-sized programs before confirming some alarms as real bugs or rejecting some others as unreachable. To overcome this problem, we propose to reduce the source code by program slicing before test generation. This paper presents new optimized and adaptive usages of program slicing, provides underlying theoretical results and the algorithm these usages rely on. The method is implemented in a tool prototype called sante (Static ANalysis and TEsting). Our experiments show that our method with program slicing outperforms previous combinations of static and dynamic analysis. Moreover, simplifying the program makes it easier to analyze detected errors and remaining alarms.