Databases Reference
In-Depth Information
FIGURE 10.2: Phases in the life cycle of approaches developed based on
searching and mining.
Since mining entire open source code is not feasible, in this chapter, we
introduce a life-cycle model [19] that assists programmers in mining API us-
age specifications via searching for relevant code examples on demand from
the web. In particular, given a software engineering task (SE task) such as
detecting defects in an application under analysis that is using a set of APIs,
our life-cycle model describes how to search for relevant code examples for the
set of APIs and mine API usage specifications for detecting defects.
In the rest of this chapter, we present the major phases of life-cycle model.
In particular, we describe how to search for relevant code examples via CSEs
and analyze these code examples for mining API usage specifications. We
use two example SE tasks for describing the major phases in our life-cycle
model. We also show the benefits of mining API specifications via searching
for relevant code examples from the web.
10.2 Life-Cycle Model
Figure 10.2 shows the four major phases in the life cycle for achieving an
SE task such as detecting defects in API client code via mining API usage
specifications. These four phases are search, analyze, mine, and apply phases.
Given an SE task, the search phase collects SE data in the form of code
examples by leveraging a code search engine such as Google code search [11].
 
Search WWH ::




Custom Search