TY - GEN

T1 - Putting static analysis to work for verification

AU - Lev-Ami, Tal

AU - Reps, Thomas

AU - Sagiv, Mooly

AU - Wilhelm, Reinhard

PY - 2000

Y1 - 2000

N2 - We study how program analysis can be used to: Automatically prove partial correctness of correct programs. Discover, locate, and diagnose bugs in incorrect programs. Specifically, we present an algorithm that analyzes sorting programs that manipulate linked lists. A prototype of the algorithm has been implemented. We show that the algorithm is sufficiently precise to discover that (correct versions) of bubble-sort and insertion-sort procedures do, in fact, produce correctly sorted lists as outputs, and that the invariant "is-sorted" is maintained by list-manipulation operations such as element-insertion, element-deletion, and even destructive list reversal and merging of two sorted lists. When we run the algorithm on erroneous versions of bubble-sort and insertion-sort procedures, it is able to discover and sometimes even locate and diagnose the error.

AB - We study how program analysis can be used to: Automatically prove partial correctness of correct programs. Discover, locate, and diagnose bugs in incorrect programs. Specifically, we present an algorithm that analyzes sorting programs that manipulate linked lists. A prototype of the algorithm has been implemented. We show that the algorithm is sufficiently precise to discover that (correct versions) of bubble-sort and insertion-sort procedures do, in fact, produce correctly sorted lists as outputs, and that the invariant "is-sorted" is maintained by list-manipulation operations such as element-insertion, element-deletion, and even destructive list reversal and merging of two sorted lists. When we run the algorithm on erroneous versions of bubble-sort and insertion-sort procedures, it is able to discover and sometimes even locate and diagnose the error.

UR - http://www.scopus.com/inward/record.url?scp=0034593015&partnerID=8YFLogxK

M3 - ???researchoutput.researchoutputtypes.contributiontobookanthology.conference???

AN - SCOPUS:0034593015

SN - 1581132662

T3 - Proceedings of the ACM SIGSOFT 2000 International Symposium on Software Testing and Analysis

SP - 26

EP - 38

BT - Proceedings of the ACM SIGSOFT 2000 International Symposium on Software Testing and Analysis

A2 - Harrold, M.J.

A2 - Harrold, M.J.

Y2 - 21 August 2000 through 24 August 2000

ER -