1999
DOI: 10.1007/978-3-642-60085-2_7
|View full text |Cite
|
Sign up to set email alerts
|

Using Global Analysis, Partial Specifications, and an Extensible Assertion Language for Program Validation and Debugging

Abstract: We discuss a framework for the application of abstract interpretation as an aid during program development, rather than in the more traditional application of program optimization. Program validation and detection of errors is first performed statically by comparing (partial) specifications written in terms of assertions against information obtained from (global) static analysis of the program. The results of this process are expressed in the user assertion language. Assertions (or parts of assertions) which c… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
100
0

Year Published

2000
2000
2009
2009

Publication Types

Select...
7

Relationship

3
4

Authors

Journals

citations
Cited by 54 publications
(101 citation statements)
references
References 26 publications
0
100
0
Order By: Relevance
“…These schemes express what run-time library predicates are called and where such calls are placed. Figure 2 shows the schemes, whereas the run-time library predicates are described below 7 . checkc(C,F ): checks condition C and sets F to true or false depending on whether it succeeds or not.…”
Section: Transforming Single Predicate Assertionsmentioning
confidence: 99%
See 2 more Smart Citations
“…These schemes express what run-time library predicates are called and where such calls are placed. Figure 2 shows the schemes, whereas the run-time library predicates are described below 7 . checkc(C,F ): checks condition C and sets F to true or false depending on whether it succeeds or not.…”
Section: Transforming Single Predicate Assertionsmentioning
confidence: 99%
“…For example, the assertion: :-texec append(A, B, C): (A=X, B=Y, C=Z) + try_sols (7). expresses that the call to append(X, Y, Z) should be executed to get at most the first 7 solutions through backtracking.…”
Section: Defining Unit Testsmentioning
confidence: 99%
See 1 more Smart Citation
“…Fortunately we carne up with a unique solution to this apparent conundrum: Ciao includes a very rich assertion language (and a methodology for dealing with such assertions) [52,82] which allows expressing not only classical types, but also a much wider variety of properties (modes, determinacy non-failure, cost, ...), but in Ciao these assertions are optíonal. This solution makes Ciao very useful both for programming in the small and in the large.…”
Section: The Ciao Approach To Assertionsmentioning
confidence: 99%
“…Another fundamental characteristic of the Ciao system is that it provides a powerful preprocessor, called CiaoPP [8,52,53], which is capable of statically ñnding non-trivial bugs, verifying that the program complies with speciñcations, and performing many types of program optimizations. A key ingredient for the above task is the Ciao assertion language [82].…”
mentioning
confidence: 99%