The compressed archive can be found at https://drive.google.com/open?id=1KWxiGlIk4pCiXtkmCC5jgukQqfDMMWR7
The zip file in this Google Site includes the following data:
1) RQ1.xlsx: It lists the 192 performance issues, categorized by root causes. Each issue is annotated with five key information (if available): 1) the issue symptom, 2) the root cause, 3) the resolution, 4) any other aspects of concerns (e.g. maintainability), and 5) the profiling data. For each issue, we summarized the code revision for resolving the issue.
2) RQ2.xlsx: It contains the 192 performance issues categorized by localized optimization and design-level optimization. Column D records the type of design-level optimization pattern for each design-level performance issue.
3) RQ3.xlsx: It contains the 1) effort (in terms of the number of developers and the number of discussions), 2) the improvement factor, and 3) any other concerning aspects for each performance issues arranged in three different sheets.
4) Literature Review.xlsx: It includes the papers in our literature review. For each paper, we listed the title, the venue, the type of performance issues being investigated, the paper summary, the year, and the contributed performance issue detecting/fixing tools (if any).
5) kratos-generate-diff-dsm.zip: This contains our tool that can automatically model the design structure difference resulted from a code revision. The output is a Differencing Design Structure Matrix (Diff-DSM) describing the design structure difference from this code revision. The tool is a jar file, named kratos-processor.jar. It can be executed in different operating systems.
In order to run the tool you need to accomplish the following steps
1. Clone an apache project repository to your local machine.
2. Enter the repository and use "git log --numstat --date=iso > project-git.log" command to generate a git log file (Please note that the “project” in the command should replaced by
the name of the project that you are analyzing, e.g. avro or cassandra)
3. Download and install Understand Scitool from here: https://scitools.com/features/. This is a commercial tool for static code analysis.
4. Make sure that you are able to use Understand Scitool from the Command Line with “und” (For more instructions about how to install and execute Understand Scitool, you can refer to here https://scitools.com/support/commandline/)
5. Finally, you are ready to run our tool using 4 parameters:
p1: project name e.g. avro
p2: the output directory e.g. C:/Users/abc/saveDir
p3: the directory where the repository is in (for instance, if you cloned Avro project in C:/Users/abc/avro then you should input C:/Users/abc)
p4: the commit id for which you want to analyze