Lab Quiz Friday, March 17th (30 min)
Final lab report due: 15.06.2017
2015 Massimiliano di Penta's slides: Commands to crawl pages and
mine bugzilla alike repositories
Overall Goal of the projects (check first lecture slides for
Develop a Java version of the SZZ algorithm
and mine Eclipse JDT core commits. T
he goal here is
more on maintenance and reliability. A software engineer needs to
find out bugs the earliest possible.
Which commit did introduce a bug?
The final output will be:
1. Apply your Java version of SZZ on a predefined
number of bugs of Eclipse JDT core and identify the commits that
possible cause the bugs
2. Sample bugs to validate this claim: the commits found with SZZ
are indeed the ones that cause the bugs.
Integrate three different tools to
mine motifs in software dependency graphs and detect design patterns
- mine Eclipse JDT core commits.
The testing goal
here is to understand the input and the output of the different
applications you need to integrate.
integration of black box tools is one typical operation of a
motifs intentional designed structures?
The final output will be:
1. Integrate the three tools suggested at the
lecture and apply it on a sample of jar files to discuss your
2. Apply your tool to a sample of commits to answer the research
question and sample motifs to discuss your findings
- Write the steps of your work. Per each step describe what you
concretely will do to complete it.
For example: Step 1: Find the bug ID in the commit message.
Pre-conditions: To find the ID I must have downloaded a commit
message and a identified the BUG ID. Parse the commit comment to
search the ID of the BUG (regular expressions?) Post condition:
store the pair commit sha number and BUG ID
- Write the algorithm of your future tool
- Write the the Input Output of each tool and describe how you can
convert each output into the next input.
Download the Eclipse JDT core commits. Select a suitable time
window. Apply the algorithm for the syntactic part
Download the Eclipse JDT core commits. Apply java-call
graph. Describe what types of dependency you find between
Apply your tool(s) to your sample commits or jar files
Analyze the findings and interpret the results in terms of
your research goals (see them in OLE).
Final analysis, project SZZ: Report the
demographic of your data and discuss the cumulative occurrence
of the induced commits vs. the fix commits.
Final analysis, project Motifs: Discuss the master
regulator. the middle managers, and the workhorses classes of
your project with respect to the distribution of patterns
instances: how are the design pattern instances distributed
across the three categories?