2012 34th International Conference on Software Engineering (ICSE) 2012
DOI: 10.1109/icse.2012.6227185
|View full text |Cite
|
Sign up to set email alerts
|

Leveraging test generation and specification mining for automated bug detection without false positives

Abstract: Abstract-Mining specifications and using them for bug detection is a promising way to reveal bugs in programs. Existing approaches suffer from two problems. First, dynamic specification miners require input that drives a program to generate common usage patterns. Second, existing approaches report false positives, that is, spurious warnings that mislead developers and reduce the practicability of the approach. We present a novel technique for dynamically mining and checking specifications without relying on ex… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1

Citation Types

0
42
0

Year Published

2014
2014
2023
2023

Publication Types

Select...
3
2
2

Relationship

0
7

Authors

Journals

citations
Cited by 48 publications
(42 citation statements)
references
References 45 publications
0
42
0
Order By: Relevance
“…The high overall quality of the inferred models can aid a variety of software development tasks including API understanding [2,16], debugging, test generation [33], and runtime fault detection [21,37]. For example, during debugging a programmer can analyze whether a given library is invoked as expected.…”
Section: Discussionmentioning
confidence: 99%
See 2 more Smart Citations
“…The high overall quality of the inferred models can aid a variety of software development tasks including API understanding [2,16], debugging, test generation [33], and runtime fault detection [21,37]. For example, during debugging a programmer can analyze whether a given library is invoked as expected.…”
Section: Discussionmentioning
confidence: 99%
“…For example, during debugging a programmer can analyze whether a given library is invoked as expected. Similarly, an inferred TEMI model that exhibits high recall (i.e., that is complete) can help to detect invocations that violate the library's protocol [37], while avoiding spurious warnings.…”
Section: Discussionmentioning
confidence: 99%
See 1 more Smart Citation
“…[57] is an example of neural reasoning for knowledge base. For programs, even though all non-trivial properties are undecidable, formal methods can be viewed as an approximation with pure mathematical deduction, often giving the guarantee of either no false-positive, or no false-negative, which may be important to program analysis [58]. For now, it seems hard to combine these two techniques, but once they were combined, it would be beneficial for both.…”
Section: B Integrating Prior About Programs To Network Architecturesmentioning
confidence: 99%
“…For example, calling peek() on java.util.Stack without a preceding push() gives an EmptyStackException, and calling next() on java.util.Iterator without checking whether there is a next element with hasNext() can result in a NoSuchElementException. API clients that violate such protocols do not obtain the desired behaviors and may even crash the program [1].…”
mentioning
confidence: 99%