Efficient Summary Reuse for Software Regression Verification

Fei He,Qianshan Yu,Liming Cai
DOI: https://doi.org/10.1109/tse.2020.3021477
IF: 7.4
2022-01-01
IEEE Transactions on Software Engineering
Abstract:Software systems evolve throughout their life cycles. Many revisions are produced over time. Verifying each revision of the software is impractical. Regression verification suggests reusing intermediate results from the previous verification runs. This paper studies regression verification via summary reuse. Not only procedure summaries, but also loop summaries are proposed to be reused. This paper proposes a fully automatic regression verification technique in the context of CEGAR. A lazy counterexample analysis technique is developed to improve the efficiency of summary reuse. We performed extensive experiments on two large sets of industrial programs (3,675 revisions of 488 Linux kernel device drivers). Results show that our summary reuse technique saves 84 to 93 percent analysis time of the regression verification.
What problem does this paper attempt to address?