This paper concerns the question of how to create abstractions that are useful for program analysis. It presents a method that refines an abstraction automatically for analysis problems in which the semantics of statements and the query of interest are expressed using logical formulas. We present two strategies for refining an abstraction. The simpler strategy is effective in many cases. The second strategy uses a known machine-learning algorithm to learn an appropriate abstraction. A tool that incorporates the method has been implemented and applied to several programs that manipulate linked lists and binary-search trees. In all cases, the tool is able to demonstrate (i) the partial correctness of the programs, and (ii) that the programs p...
This paper explains the vital role of data abstraction in the development of computer programs. Abst...
This paper describes an algorithm performing an analysis and transformation of logic programs. The t...
Representing abstract data structures in a real programming language is a key step of algorithm impl...
This paper concerns the question of how to create abstractions that are useful for program analysis....
A central task for a program analysis concerns how to efficiently find a program abstraction that ke...
Recently, Sagiv, Reps, and Wilhelm introduced a powerful abstract-interpretation framework for progr...
Data refinements are refinement steps in which a program’s local data structures are changed. Data r...
This paper concerns how to automatically create abstractions for program analysis. We show tha
Abstract. This paper concerns how to automatically create abstractions for program analysis. We show...
Given a program analysis problem that consists of a program and a property of interest, we use an em...
This thesis is about methods for establishing semantic properties of programs and how those methods ...
This dissertation explores the use of abstraction in two areas of automated reasoning: verification ...
Predicate abstraction refinement is one of the leading approaches to software verification. The key ...
Abstract Predicate abstraction refinement is one of the leading approaches to software verification....
The core challenge in designing an effective static program analysis is to find a good program abstr...
This paper explains the vital role of data abstraction in the development of computer programs. Abst...
This paper describes an algorithm performing an analysis and transformation of logic programs. The t...
Representing abstract data structures in a real programming language is a key step of algorithm impl...
This paper concerns the question of how to create abstractions that are useful for program analysis....
A central task for a program analysis concerns how to efficiently find a program abstraction that ke...
Recently, Sagiv, Reps, and Wilhelm introduced a powerful abstract-interpretation framework for progr...
Data refinements are refinement steps in which a program’s local data structures are changed. Data r...
This paper concerns how to automatically create abstractions for program analysis. We show tha
Abstract. This paper concerns how to automatically create abstractions for program analysis. We show...
Given a program analysis problem that consists of a program and a property of interest, we use an em...
This thesis is about methods for establishing semantic properties of programs and how those methods ...
This dissertation explores the use of abstraction in two areas of automated reasoning: verification ...
Predicate abstraction refinement is one of the leading approaches to software verification. The key ...
Abstract Predicate abstraction refinement is one of the leading approaches to software verification....
The core challenge in designing an effective static program analysis is to find a good program abstr...
This paper explains the vital role of data abstraction in the development of computer programs. Abst...
This paper describes an algorithm performing an analysis and transformation of logic programs. The t...
Representing abstract data structures in a real programming language is a key step of algorithm impl...