Databases Reference
In-Depth Information
edges. We do not report a violation if FC 1 e :::FC m e v C 1 e C 2 e :::C b e ; otherwise,
we report a violation in the application under analysis. We rank all detected
violations based on a similar criterion used for ranking exception-handling
rules.
We applied the approach [28] developed based on our life-cycle model on
static sequences extracted from code examples (found on the web) that use
third-party APIs found in five real-world applications (including 285 KLOC),
mining 294 real exception-handling rules and detecting 160 exception-handling
defects. Among these 294 rules, 88 rules (30%) can be mined by using the
source code of the application as a source of information for our approach.
However, the remaining 206 rules (70%) can be mined only from the code ex-
amples gathered from the web. These results show that approaches developed
based on our life-cycle model can mine more API usage specifications, thereby
showing the significance of our life-cycle model.
10.8 Summary
In this chapter, we proposed a life-cycle model that describes how to reuse
an enormous amount of open source code available on the web for the research
in the area of mining software engineering data. Our life-cycle model integrates
searching and mining, and addresses a significant issue of lacking sucient
data points to mine desirable patterns from a few code bases provided as
input to mining-based approaches. This chapter also presents an example
task of detecting exception-handling defects developed based on described
life-cycle model. We recommend readers to refer to the papers [25{27] for
more approaches developed based on our life-cycle model to address other
problems in the software engineering domain such as assisting programmers
while writing source code. Our life-cycle model represents a step toward a new
direction of leveraging research in the field of search-driven development to
assist the research in mining software engineering data, serving as a synergy
between these two major research areas.
Bibliography
[1] Koder's Zeitgeist. http://www.koders.com/zeitgeist/ .
[2] Mithun Acharya, Tao Xie, Jian Pei, and Jun Xu. Mining API patterns as
partial orders from source code: from usage scenarios to specifications. In
Proceedings of the 6th Joint Meeting of the European Software Engineer-
ing Conference and the ACM SIGSOFT Symposium on the Foundations
of Software Engineering (ESEC/FSE), pages 25{34, ACM Press, 2007.
 
Search WWH ::




Custom Search