How Java APIs Break - An Empirical Study
Kamil Jezek (a), Jens Dietrich (b), Premek Brada (a)
(a)
NTIS - New Technologies for the Information Society
European Centre of Excellence
Faculty of Applied Sciences
University of West Bohemia
Univerzitni 8, 306 14 Pilsen
Czech Republic
(b)
School of Engineering and Advanced Technology
Massey University
Palmerston North, New Zealand
Raw data obtained from experiments
This page provides raw data obtained from the experiments. The data are provided in the same order as they are
discussed in the paper
All experiments were performed on Linux.
6.1. Program Distribution Completeness
Obtain data:
Number of program versions:
- grep -l 'Class:.*Not found' *.txt | sort | uniq | wc
- 480 program versions
Number of programs with missing JUnit
- grep "junit.*Not found" -l *.txt | sort | uniq
- 92 program versions, manually computed 24 programs
Number of project versions referencing "sun" (34) and "com.sun" (82) packages
- grep -l "Class:.*com\\.sun\\..*Not found" *.txt | sort | uniq | wc
- grep -l "Class:.* sun\\..*Not found" *.txt | sort | uniq | wc
6.2. Horizontal Compatibility
Results summarised in: merged-compatibility-problems.ods
The table contains merged data for corpus only and Maven projects.
Raw data for each project: compatibility-problems-merged.zip
These raw data were used for manual analysis of significant results.
6.3. Vertical Compatibility – Binary and Source Incompatible Changes,
6.4. Vertical Compatibility – Binary Incompatible but Source Compatible
Changes
Results summarised in: api-incompatibilities.ods
Raw data for each project: api-evaluation-results.zip
These raw data were used for manual analysis of significant results.
6.5. Impact on Horizontal Incompatibility
Number of dependencies used for experiments = number of lines in files:
Results summarised and number of obtained experiments (number of lines in files):
Detailed analysis obtained manually from raw experiment data: