2005
DOI: 10.1016/j.scico.2005.02.006
|View full text |Cite
|
Sign up to set email alerts
|

Integrated program debugging, verification, and optimization using abstract interpretation (and the Ciao system preprocessor)

Abstract: The technique of Abstract Interpretation has allowed the development of very sophisticated global program analyses which are at the same time provably correct and practical. We present in a tutorial fashion a novel program development framework which uses abstract interpretation as a fundamental tool. The framework uses modular, incremental abstract interpretation to obtain information about the program. This information is used to validate programs, to detect bugs with respect to partial specifications writte… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
203
0

Year Published

2006
2006
2013
2013

Publication Types

Select...
9

Relationship

7
2

Authors

Journals

citations
Cited by 137 publications
(208 citation statements)
references
References 35 publications
0
203
0
Order By: Relevance
“…In contrast, our approach is applicable to a much wider class of logic programs (including non-well-moded and non-definite programs). 12 To compare their power, we evaluated AProVE against the Complexity Analysis System for LOGic (CASLOG) [11] and the Ciao Preprocessor (CiaoPP) [18,19], which implements the approach of [29]. We ran the three tools on all 477 Prolog programs from the TPDB, again using 2.2 GHz Quad-Opteron 848 Linux machines with a timeout of 60 seconds per program.…”
Section: Theorem 27 (Soundness Of Complexity Analysis Ii)mentioning
confidence: 99%
“…In contrast, our approach is applicable to a much wider class of logic programs (including non-well-moded and non-definite programs). 12 To compare their power, we evaluated AProVE against the Complexity Analysis System for LOGic (CASLOG) [11] and the Ciao Preprocessor (CiaoPP) [18,19], which implements the approach of [29]. We ran the three tools on all 477 Prolog programs from the TPDB, again using 2.2 GHz Quad-Opteron 848 Linux machines with a timeout of 60 seconds per program.…”
Section: Theorem 27 (Soundness Of Complexity Analysis Ii)mentioning
confidence: 99%
“…For example, Albert et al use partial evaluation to automatically generate specialized programs by transforming Java bytecode into Prolog to apply powerful constraint logic programming [1]. The Prolog code is then interpreted by the CiaoPP abstract interpreter [5]. While this approach allows for powerful interpretative partial evaluation, it only handles a subset of Java that lacks exception handling, multi-threading, and reflection.…”
Section: Related Workmentioning
confidence: 99%
“…UUDG annotation algorithm input to the proposed annotators. Alternatively, this information can be stated by the programmer via assertions [13].…”
Section: Non Order-preserving Annotation: the Uudg Algorithmmentioning
confidence: 99%