Filters








49,700 Hits in 4.4 sec

Automatic predicate abstraction of C programs

Thomas Ball, Rupak Majumdar, Todd Millstein, Sriram K. Rajamani
2012 SIGPLAN notices  
We present the first algorithm to automatically construct a predicate abstraction of programs written in an industrial programming language such as C, and its implementation in a tool -C2bp.  ...  Predicate abstraction of software has many applications, including detecting program errors, synthesizing program invariants, and improving the precision of program analyses through predicate sensitivity  ...  We thank Andreas Podelski for helping us describe the C2bp tool in terms of abstract interpretation. We thank Manuvir Das for providing us his onelevel flow analysis tool.  ... 
doi:10.1145/2442776.2442783 fatcat:odw5ibnlkfcctgkrj2bc3lhovy

Automatic predicate abstraction of C programs

Thomas Ball, Rupak Majumdar, Todd Millstein, Sriram K. Rajamani
2001 SIGPLAN notices  
We present the first algorithm to automatically construct a predicate abstraction of programs written in an industrial programming language such as C, and its implementation in a tool -C2bp.  ...  Predicate abstraction of software has many applications, including detecting program errors, synthesizing program invariants, and improving the precision of program analyses through predicate sensitivity  ...  We thank Andreas Podelski for helping us describe the C2bp tool in terms of abstract interpretation. We thank Manuvir Das for providing us his onelevel flow analysis tool.  ... 
doi:10.1145/381694.378846 fatcat:dccnganv7bdqpl72uraf4l4buy

Automatic predicate abstraction of C programs

Thomas Ball, Rupak Majumdar, Todd Millstein, Sriram K. Rajamani
2001 Proceedings of the ACM SIGPLAN 2001 conference on Programming language design and implementation - PLDI '01  
We present the first algorithm to automatically construct a predicate abstraction of programs written in an industrial programming language such as C, and its implementation in a tool -C2bp.  ...  Predicate abstraction of software has many applications, including detecting program errors, synthesizing program invariants, and improving the precision of program analyses through predicate sensitivity  ...  We thank Andreas Podelski for helping us describe the C2bp tool in terms of abstract interpretation. We thank Manuvir Das for providing us his onelevel flow analysis tool.  ... 
doi:10.1145/378795.378846 dblp:conf/pldi/BallMMR01 fatcat:pswjhix5kra7hh56ejcial2sra

Formal Verification for C Program

Junyan Qian, Baowen Xu
2007 Informatica  
The approach eliminates unneeded variables using program slicing technique, and then automatically extracts an initial abstract model from C source code using predicate abstraction and theorem proving.  ...  We present an approach for automatically verifying C programs against safety specifications based on finite state machine.  ...  For the sake of simplicity, we focus on the automatic abstraction method for verifying sequential C programs.  ... 
doi:10.15388/informatica.2007.178 fatcat:skgunlt25vekjbufody6orzufe

Automatically Verifying Concurrent Queue Algorithms

Eran Yahav, Mooly Sagiv
2003 Electronical Notes in Theoretical Computer Science  
This paper shows how to automatically verify partial correctness of concurrent FIFO queue algorithms using existing abstract interpretation techniques.  ...  Concurrent FIFO queues are a common component of concurrent systems. Using a single shared lock to prevent concurrent manipulations of queue contents reduces system concurrency.  ...  Concrete configuration C 5 using instrumentation predicates, and its canonic abstraction C 5 . Table 1 1 Predicates for the semantics of a Java fragment.  ... 
doi:10.1016/s1571-0661(05)80006-4 fatcat:33x4n5k2tvcarfakho2xwkrvwm

Automatic Creation of Environment Models via Training [chapter]

Thomas Ball, Vladimir Levin, Fei Xie
2004 Lecture Notes in Computer Science  
This approach has been realized in SLAM, a software model checker for C programs, and applied to the domain of Windows device drivers that utilize the Windows Driver Model API (a set of entry points into  ...  The idea of training is to take several programs that use a common API and apply model checking to create abstractions of the API procedures.  ...  Rajamani, Byron Cook, and all other members of the SLAM/SDV team for their contribution, support and feedback. We also sincerely thank James C. Browne for his help.  ... 
doi:10.1007/978-3-540-24730-2_7 fatcat:q3ujwazddrd7bhazry26qud3se

Predicate abstraction for software verification

Cormac Flanagan, Shaz Qadeer
2002 Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages - POPL '02  
Our method is based on predicate abstraction, an abstract interpretation technique in which the abstract domain is constructed from a given set of predicates over program variables.  ...  Experiments on a 44KLOC program show that our approach can automatically infer the necessary predicates and invariants for all but 31 of the 396 routines that contain loops.  ...  Acknowledgments We gratefully acknowledge the contributions of Chandu Thekkath, who helped us to model the method create of Frangipani in Java, and the ESC/Java team whose work provided the infrastructure  ... 
doi:10.1145/503272.503291 dblp:conf/popl/FlanaganQ02 fatcat:ulirgqrjhjhu7dlrxogv526mdu

Predicate abstraction for software verification

Cormac Flanagan, Shaz Qadeer
2002 SIGPLAN notices  
Our method is based on predicate abstraction, an abstract interpretation technique in which the abstract domain is constructed from a given set of predicates over program variables.  ...  Experiments on a 44KLOC program show that our approach can automatically infer the necessary predicates and invariants for all but 31 of the 396 routines that contain loops.  ...  Acknowledgments We gratefully acknowledge the contributions of Chandu Thekkath, who helped us to model the method create of Frangipani in Java, and the ESC/Java team whose work provided the infrastructure  ... 
doi:10.1145/565816.503291 fatcat:i6woyl74gzekxizrbcsnvbeipu

Counting dynamically synchronizing processes

Zeinab Ganjei, Ahmed Rezine, Petru Eles, Zebo Peng
2016 International Journal on Software Tools for Technology Transfer (STTT)  
Automatically verifying correctness, and deadlock freedom, of such programs is beyond the capabilities of current techniques.  ...  We address the problem of automatically establishing correctness for programs generating an arbitrary number of concurrent processes and manipulating variables ranging over an infinite domain.  ...  All predicate abstraction predicates and counting invariants have been derived automatically.  ... 
doi:10.1007/s10009-015-0411-0 fatcat:33io3ccyhfbm3diur7rerejqqy

Lazy Shape Analysis [chapter]

Dirk Beyer, Thomas A. Henzinger, Grégory Théoduloz
2006 Lecture Notes in Computer Science  
Many software model checkers are based on predicate abstraction.  ...  To achieve this, we extend lazy abstraction refinement, which so far has been used only for predicate abstractions, to three-valued logical structures.  ...  The abstraction (Π, Ψ ) of a program is a pair consisting of a predicate abstraction Π and a heap abstraction Ψ .  ... 
doi:10.1007/11817963_48 fatcat:3yoq4gkou5amjg2aa5x7bgk4zm

Counterexample-guided focus

Andreas Podelski, Thomas Wies
2010 Proceedings of the 37th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages - POPL '10  
We realize this idea in a tool that automatically infers quantified invariants for the verification of a variety of heapmanipulating programs.  ...  We fine-tune the focus operator to each individual step of the analysis (for a specific verification task). This fine-tuning must be done automatically.  ...  However, indexed predicate abstraction has not yet been used for the analysis of heap programs. Heuristics for automatic discovery of indexed predicates are described in [32] .  ... 
doi:10.1145/1706299.1706330 dblp:conf/popl/PodelskiW10 fatcat:h2s3vpjnenf3rdrmzq3cfos4vq

Counterexample-guided focus

Andreas Podelski, Thomas Wies
2010 SIGPLAN notices  
We realize this idea in a tool that automatically infers quantified invariants for the verification of a variety of heapmanipulating programs.  ...  We fine-tune the focus operator to each individual step of the analysis (for a specific verification task). This fine-tuning must be done automatically.  ...  However, indexed predicate abstraction has not yet been used for the analysis of heap programs. Heuristics for automatic discovery of indexed predicates are described in [32] .  ... 
doi:10.1145/1707801.1706330 fatcat:lmff57fldra47cshszf35zlqrq

Probabilistic Model Checking Modulo Theories

Bjorn Wachter, Lijun Zhang, Holger Hermanns
2007 Fourth International Conference on the Quantitative Evaluation of Systems (QEST 2007)  
As a consequence, the user often has to manually abstract the intended model to get a tractable one. To this end, we propose the predicate abstraction model checker PASS which automates this process.  ...  We leverage recent advances in automatic theorem proving to compute tractable finite-state models. Experiments show the feasibility of our approach.  ...  Therefore, predicate abstraction tools employ automatic theorem provers.  ... 
doi:10.1109/qest.2007.10 dblp:conf/qest/WachterZH07 fatcat:vy2l2ve6urdwrlcbdsh2oulvou

The SLAM Toolkit [chapter]

Thomas Ball, Sriram K. Rajamani
2001 Lecture Notes in Computer Science  
Given a safety property to check on a C program P , the SLAM process [4] iteratively refines a boolean program abstraction of P using three tools: -C2bp, a predicate abstraction tool that abstracts P  ...  C2bp is the first automatic predicate abstraction tool to handle a full-scale programming language with procedure calls and pointers, and perform a sound and precise abstraction.  ... 
doi:10.1007/3-540-44585-4_25 fatcat:7fzprd55zbaajgsjcpzuzso3la

Program Analysis with Dynamic Precision Adjustment

Dirk Beyer, Thomas A. Henzinger, Gregory Theoduloz
2008 2008 23rd IEEE/ACM International Conference on Automated Software Engineering  
For example, the explicit tracking of the values of a variable may be switched off in favor of a predicate abstraction when and where the number of different variable values that have been encountered  ...  The method is evaluated on verifying the SSH client/server software and shows significant gains compared with predicate abstraction-based model checking. *  ...  We have not yet addressed the problem of automatically mining meaningful predicates from a given set of sample values. This is left for future investigation.  ... 
doi:10.1109/ase.2008.13 dblp:conf/kbse/BeyerHT08 fatcat:wxe7utxy2ja6dovqszcosgbaja
« Previous Showing results 1 — 15 out of 49,700 results