2015 IEEE/ACM 37th IEEE International Conference on Software Engineering 2015
DOI: 10.1109/icse.2015.44
|View full text |Cite
|
Sign up to set email alerts
|

Cascade: A Universal Programmer-Assisted Type Qualifier Inference Tool

Abstract: Abstract-Type qualifier inference tools usually operate in batch mode and assume that the program must not be changed except to add the type qualifiers. In practice, programs must be changed to make them type-correct, and programmers must understand them. CASCADE is an interactive type qualifier inference tool that is easy to implement and universal (i.e., it can work for any type qualifier system for which a checker is implemented). It shows that qualifier inference can achieve better results by involving pro… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
4
0

Year Published

2016
2016
2023
2023

Publication Types

Select...
6
1

Relationship

0
7

Authors

Journals

citations
Cited by 9 publications
(4 citation statements)
references
References 41 publications
0
4
0
Order By: Relevance
“…Second, the viral nature of const makes using it a significant burden, since declaring a method const requires transitively annotating all methods that the first method calls. One participant wished for tools that automatically added const as needed in such cases; for Java, Vakilian et al proposed a tool that would help programmers add similar annotations [42].…”
Section: Resultsmentioning
confidence: 99%
“…Second, the viral nature of const makes using it a significant burden, since declaring a method const requires transitively annotating all methods that the first method calls. One participant wished for tools that automatically added const as needed in such cases; for Java, Vakilian et al proposed a tool that would help programmers add similar annotations [42].…”
Section: Resultsmentioning
confidence: 99%
“…This may be best done 'on request', at specific locations given by the user, akin to how program synthesis tools can insert synthesised programs directly into code. A similar idea is seen in type qualifier inference tools such as Cascade [17], with guided annotation and specification generation.…”
Section: Lessons Learnedmentioning
confidence: 96%
“…Numerous systems enrich the expressiveness of existing type systems with contract-related concepts. Examples include systems for non-null types [Fähndrich and Leino 2003], ownership and uniqueness types [Clarke et al 1998], and others [Foster et al 2002;Vakilian et al 2015]. Indeed, the designers of Spec# chose to mix lightweight static analysis for checking non-null types and method purity with automated theorem proving for functional specifications given in first-order logic [Barnett et al 2011].…”
Section: Lightweight Contractsmentioning
confidence: 99%