{"id":{"repo_id":"calpoly","oai_identifier":"oai:digitalcommons.calpoly.edu:theses-3565"},"canonical_url":"https://search.dev.ndltd.org/etd/calpoly/oai:digitalcommons.calpoly.edu:theses-3565","repository":{"repo_id":"calpoly","name":"Cal Poly","base_url":"https://digitalcommons.calpoly.edu/do/oai/"},"display":{"title":"Leveraging Defects Life-Cycle for Labeling Defective Classes","abstract":"<p>Data from software repositories are a very useful asset to building dierent kinds of</p> <p>models and recommender systems aimed to support software developers. Specically,</p> <p>the identication of likely defect-prone les (i.e., classes in Object-Oriented systems)</p> <p>helps in prioritizing, testing, and analysis activities. This work focuses on automated</p> <p>methods for labeling a class in a version as defective or not. The most used methods</p> <p>for automated class labeling belong to the SZZ family and fail in various circum-</p> <p>stances. Thus, recent studies suggest the use of aect version (AV) as provided by</p> <p>developers and available in the issue tracker such as JIRA. However, in many cir-</p> <p>cumstances, the AV might not be used because it is unavailable or inconsistent. The</p> <p>aim of this study is twofold: 1) to measure the AV availability and consistency in</p> <p>open-source projects, 2) to propose, evaluate, and compare to SZZ, a new method</p> <p>for labeling defective classes which is based on the idea that defects have a stable</p> <p>life-cycle in terms of proportion of versions needed to discover the defect and to x</p> <p>the defect. Results related to 212 open-source projects from the Apache ecosystem,</p> <p>featuring a total of about 125,000 defects, show that the AV cannot be used in the</p> <p>majority (51%) of defects. Therefore, it is important to investigate automated meth-</p> <p>ods for labeling defective classes. Results related to 76 open-source projects from the</p> <p>Apache ecosystem, featuring a total of about 6,250,000 classes that are are aected</p> <p>by 60,000 defects and spread over 4,000 versions and 760,000 commits, show that the</p> <p>proposed method for labeling defective classes is, in average among projects and de-</p> <p>fects, more accurate, in terms of Precision, Kappa, F1 and MCC than all previously</p> <p>proposed SZZ methods. Moreover, the improvement in accuracy from combining SZZ</p> <p>with defects life-cycle information is statistically signicant but practically irrelevant</p> <p>(</p> <p>overall and in average, more accurate via defects' life-cycle than any SZZ method.</p>","abstract_html":"&lt;p&gt;Data from software repositories are a very useful asset to building dierent kinds of&lt;/p&gt; &lt;p&gt;models and recommender systems aimed to support software developers. Specically,&lt;/p&gt; &lt;p&gt;the identication of likely defect-prone les (i.e., classes in Object-Oriented systems)&lt;/p&gt; &lt;p&gt;helps in prioritizing, testing, and analysis activities. This work focuses on automated&lt;/p&gt; &lt;p&gt;methods for labeling a class in a version as defective or not. The most used methods&lt;/p&gt; &lt;p&gt;for automated class labeling belong to the SZZ family and fail in various circum-&lt;/p&gt; &lt;p&gt;stances. Thus, recent studies suggest the use of aect version (AV) as provided by&lt;/p&gt; &lt;p&gt;developers and available in the issue tracker such as JIRA. However, in many cir-&lt;/p&gt; &lt;p&gt;cumstances, the AV might not be used because it is unavailable or inconsistent. The&lt;/p&gt; &lt;p&gt;aim of this study is twofold: 1) to measure the AV availability and consistency in&lt;/p&gt; &lt;p&gt;open-source projects, 2) to propose, evaluate, and compare to SZZ, a new method&lt;/p&gt; &lt;p&gt;for labeling defective classes which is based on the idea that defects have a stable&lt;/p&gt; &lt;p&gt;life-cycle in terms of proportion of versions needed to discover the defect and to x&lt;/p&gt; &lt;p&gt;the defect. Results related to 212 open-source projects from the Apache ecosystem,&lt;/p&gt; &lt;p&gt;featuring a total of about 125,000 defects, show that the AV cannot be used in the&lt;/p&gt; &lt;p&gt;majority (51%) of defects. Therefore, it is important to investigate automated meth-&lt;/p&gt; &lt;p&gt;ods for labeling defective classes. Results related to 76 open-source projects from the&lt;/p&gt; &lt;p&gt;Apache ecosystem, featuring a total of about 6,250,000 classes that are are aected&lt;/p&gt; &lt;p&gt;by 60,000 defects and spread over 4,000 versions and 760,000 commits, show that the&lt;/p&gt; &lt;p&gt;proposed method for labeling defective classes is, in average among projects and de-&lt;/p&gt; &lt;p&gt;fects, more accurate, in terms of Precision, Kappa, F1 and MCC than all previously&lt;/p&gt; &lt;p&gt;proposed SZZ methods. Moreover, the improvement in accuracy from combining SZZ&lt;/p&gt; &lt;p&gt;with defects life-cycle information is statistically signicant but practically irrelevant&lt;/p&gt; &lt;p&gt;(&lt;/p&gt; &lt;p&gt;overall and in average, more accurate via defects&#x27; life-cycle than any SZZ method.&lt;/p&gt;","abstract_has_math":false,"creators":["Vandehei, Bailey R"],"institution":null,"degree_name":"MS in Computer Science","degree_level":null,"degree_discipline":"Computer Science","degree_department":null,"school":null,"contributors":["Davide Falessi","Computer Science","College of Engineering"],"advisors":[],"committee_chairs":[],"committee_members":[],"year":2019,"date_issued":"2019-12-01T08:00:00Z","date_published":"2019-12-01T08:00:00Z","updated_at":"2026-07-24T01:32:13Z","subjects":["affect version","defect prediction","dataset","Software Engineering"],"languages":[],"rights":[],"rights_urls":[],"identifier_entries":[{"key":"dc:identifier","label":"Identifier","values":["10.15368/theses.2019.123"],"render_values":[{"text":"10.15368/theses.2019.123","href":"https://doi.org/10.15368/theses.2019.123","code":true}]}]},"links":{"outbound_url":"https://digitalcommons.calpoly.edu/theses/2111","outbound_label":"Repository record","outbound_source":"dc:identifier"},"metadata_groups":[{"id":"people","label":"People","entries":[{"key":"dc:contributor","label":"Contributor","values":["Davide Falessi","Computer Science","College of Engineering"]},{"key":"dc:creator","label":"Author","values":["Vandehei, Bailey R"]}]},{"id":"academic_context","label":"Academic Context","entries":[{"key":"dc:date.available","label":"Dc Date Available","values":["2022-12-12T08:00:00Z"]},{"key":"thesis:degree_discipline","label":"Discipline","values":["Computer Science"]},{"key":"thesis:degree_name","label":"Degree Name","values":["MS in Computer Science"]}]},{"id":"subjects_keywords","label":"Subjects and Keywords","entries":[{"key":"dc:subject","label":"Dc Subject","values":["affect version","defect prediction","dataset","Software Engineering"]}]},{"id":"identifiers","label":"Identifiers","entries":[{"key":"dc:identifier","label":"Identifier","values":["https://digitalcommons.calpoly.edu/theses/2111","10.15368/theses.2019.123"]}]},{"id":"additional","label":"Additional Metadata","entries":[{"key":"dc:description.abstract","label":"Abstract","values":["<p>Data from software repositories are a very useful asset to building dierent kinds of</p> <p>models and recommender systems aimed to support software developers. Specically,</p> <p>the identication of likely defect-prone les (i.e., classes in Object-Oriented systems)</p> <p>helps in prioritizing, testing, and analysis activities. This work focuses on automated</p> <p>methods for labeling a class in a version as defective or not. The most used methods</p> <p>for automated class labeling belong to the SZZ family and fail in various circum-</p> <p>stances. Thus, recent studies suggest the use of aect version (AV) as provided by</p> <p>developers and available in the issue tracker such as JIRA. However, in many cir-</p> <p>cumstances, the AV might not be used because it is unavailable or inconsistent. The</p> <p>aim of this study is twofold: 1) to measure the AV availability and consistency in</p> <p>open-source projects, 2) to propose, evaluate, and compare to SZZ, a new method</p> <p>for labeling defective classes which is based on the idea that defects have a stable</p> <p>life-cycle in terms of proportion of versions needed to discover the defect and to x</p> <p>the defect. Results related to 212 open-source projects from the Apache ecosystem,</p> <p>featuring a total of about 125,000 defects, show that the AV cannot be used in the</p> <p>majority (51%) of defects. Therefore, it is important to investigate automated meth-</p> <p>ods for labeling defective classes. Results related to 76 open-source projects from the</p> <p>Apache ecosystem, featuring a total of about 6,250,000 classes that are are aected</p> <p>by 60,000 defects and spread over 4,000 versions and 760,000 commits, show that the</p> <p>proposed method for labeling defective classes is, in average among projects and de-</p> <p>fects, more accurate, in terms of Precision, Kappa, F1 and MCC than all previously</p> <p>proposed SZZ methods. Moreover, the improvement in accuracy from combining SZZ</p> <p>with defects life-cycle information is statistically signicant but practically irrelevant</p> <p>(</p> <p>overall and in average, more accurate via defects' life-cycle than any SZZ method.</p>"]},{"key":"dc:title","label":"Title","values":["Leveraging Defects Life-Cycle for Labeling Defective Classes"]}]}],"canonical_facts":{"dc:contributor":["Davide Falessi","Computer Science","College of Engineering"],"dc:creator":["Vandehei, Bailey R"],"dc:date.available":["2022-12-12T08:00:00Z"],"dc:description.abstract":["<p>Data from software repositories are a very useful asset to building dierent kinds of</p> <p>models and recommender systems aimed to support software developers. Specically,</p> <p>the identication of likely defect-prone les (i.e., classes in Object-Oriented systems)</p> <p>helps in prioritizing, testing, and analysis activities. This work focuses on automated</p> <p>methods for labeling a class in a version as defective or not. The most used methods</p> <p>for automated class labeling belong to the SZZ family and fail in various circum-</p> <p>stances. Thus, recent studies suggest the use of aect version (AV) as provided by</p> <p>developers and available in the issue tracker such as JIRA. However, in many cir-</p> <p>cumstances, the AV might not be used because it is unavailable or inconsistent. The</p> <p>aim of this study is twofold: 1) to measure the AV availability and consistency in</p> <p>open-source projects, 2) to propose, evaluate, and compare to SZZ, a new method</p> <p>for labeling defective classes which is based on the idea that defects have a stable</p> <p>life-cycle in terms of proportion of versions needed to discover the defect and to x</p> <p>the defect. Results related to 212 open-source projects from the Apache ecosystem,</p> <p>featuring a total of about 125,000 defects, show that the AV cannot be used in the</p> <p>majority (51%) of defects. Therefore, it is important to investigate automated meth-</p> <p>ods for labeling defective classes. Results related to 76 open-source projects from the</p> <p>Apache ecosystem, featuring a total of about 6,250,000 classes that are are aected</p> <p>by 60,000 defects and spread over 4,000 versions and 760,000 commits, show that the</p> <p>proposed method for labeling defective classes is, in average among projects and de-</p> <p>fects, more accurate, in terms of Precision, Kappa, F1 and MCC than all previously</p> <p>proposed SZZ methods. Moreover, the improvement in accuracy from combining SZZ</p> <p>with defects life-cycle information is statistically signicant but practically irrelevant</p> <p>(</p> <p>overall and in average, more accurate via defects' life-cycle than any SZZ method.</p>"],"dc:identifier":["https://digitalcommons.calpoly.edu/theses/2111","10.15368/theses.2019.123"],"dc:subject":["affect version","defect prediction","dataset","Software Engineering"],"dc:title":["Leveraging Defects Life-Cycle for Labeling Defective Classes"],"thesis:degree_discipline":["Computer Science"],"thesis:degree_name":["MS in Computer Science"]},"updated_at":"2026-07-24T01:32:13Z"}