Abstraction-Based Partial Deduction for Solving Inverse Problems - A Transformational Approach to Software Verification

We present an approach to software verification by program inversion, exploiting recent progress in the field of automatic program transformation, partial deduction and abstract interpretation. Abstraction-based partial deduction can work on infinite state spaces and produce finite representations of infinite solution sets. We illustrate the potential of this approach for infinite model checking of safety properties.

[1]  Nicolas Halbwachs,et al.  Tools and Algorithms for the Construction and Analysis of Systems , 2005, Lecture Notes in Computer Science.

[2]  Pieter H. Hartel,et al.  Programming Languages: Implementations, Logics, and Programs , 1996, Lecture Notes in Computer Science.

[3]  Michael Leuschel,et al.  Program Specialisation and Abstract Interpretation Reconciled , 1998, IJCSLP.

[4]  Hugh Glaser,et al.  Principles of Declarative Programming , 1998, Lecture Notes in Computer Science.

[5]  Siau-Cheng Khoo,et al.  Parameterized partial evaluation , 1991, PLDI '91.

[6]  Maurice Bruynooghe,et al.  Detecting Unsolvable Queries for Definite Logic Programs , 1998, J. Funct. Log. Program..

[7]  Robert Glück,et al.  Semantics Modifiers: An Approach to Non-Standard Semantics of Programming Languages , 1998, Fuji International Symposium on Functional and Logic Programming.

[8]  Danny De Schreye,et al.  Logic Program Specialisation: How To Be More Specific , 1996, PLILP.

[9]  Edmund M. Clarke,et al.  Formal Methods: State of the Art and Future Directions Working Group Members , 1996 .

[10]  Konstantinos Sagonas,et al.  XSB as an efficient deductive database engine , 1994, SIGMOD '94.

[11]  Edmund M. Clarke Automatic Verification of Finite-state Concurrent Systems , 1994, Application and Theory of Petri Nets.

[12]  Neil D. Jones,et al.  The Essence of Program Transformation by Partial Evaluation and Driving , 1999, Logic, Language and Computation.

[13]  Randal E. Bryant,et al.  Symbolic Boolean manipulation with ordered binary-decision diagrams , 1992, CSUR.

[14]  C. R. Ramakrishnan,et al.  Efficient Model Checking Using Tabled Resolution , 1997, CAV.

[15]  Valentin F. Turchin,et al.  Program transformation with metasystem transitions , 1993, Journal of Functional Programming.

[16]  Robert Glück,et al.  On the generation of specializers , 1994, Journal of Functional Programming.

[17]  Peter Henderson,et al.  Questions and Answers About Ten Formal Methods , 1999 .

[18]  Danny De Schreye,et al.  Controlling generalization and polyvariance in partial deduction of normal logic programs , 1998, TOPL.

[19]  M. de Rijke,et al.  Logic, Language and Computation , 1997 .

[20]  Matthew B. Dwyer,et al.  Staging Static Analyses Using Abstraction-Based Program Specialization , 1998, PLILP/ALP.