{"id":{"repo_id":"carleton","oai_identifier":"oai:carleton.scholaris.ca:20.500.14718/42561"},"canonical_url":"https://search.dev.ndltd.org/etd/carleton/oai:carleton.scholaris.ca:20.500.14718/42561","repository":{"repo_id":"carleton","name":"Carleton University","base_url":"https://carleton.scholaris.ca/server/oai/request"},"display":{"title":"Using Machine Learning to Detect Architectural Integrity Violations Associated with Bugs","abstract":"Recent years have seen a surge of research into the impact architectural relations among files have on software maintainability and file bug-proneness. In particular, a set of rules for determining recurring design flaws associated with bugs has been proposed. In the present thesis we have investigated if machine learning can be used to advance the research on software architecture analysis and, specifically, on pinpointing architectural issues which may be the root causes of elevated bug- and change-proneness. In the case study of the Tiki open source project, we have been able to replicate three of the six known types of such architectural integrity violations and discover one new type, the Reverse Unstable Interface pattern. We have also demonstrated that one has to consider a mixture of local and global relationships in architectural bug detection and, contrary to common practice, should not disregard occasional co-changing of the two files as noise.","abstract_html":"Recent years have seen a surge of research into the impact architectural relations among files have on software maintainability and file bug-proneness. In particular, a set of rules for determining recurring design flaws associated with bugs has been proposed. In the present thesis we have investigated if machine learning can be used to advance the research on software architecture analysis and, specifically, on pinpointing architectural issues which may be the root causes of elevated bug- and change-proneness. In the case study of the Tiki open source project, we have been able to replicate three of the six known types of such architectural integrity violations and discover one new type, the Reverse Unstable Interface pattern. We have also demonstrated that one has to consider a mixture of local and global relationships in architectural bug detection and, contrary to common practice, should not disregard occasional co-changing of the two files as noise.","abstract_has_math":false,"creators":["Zakurdaeva, Alla Vitalevna"],"institution":"Carleton University","degree_name":"Master of Applied Science (M.App.Sc.)","degree_level":"Master&apos;s","degree_discipline":"Technology Innovation Management","degree_department":null,"school":null,"contributors":[],"advisors":[],"committee_chairs":[],"committee_members":[],"year":2021,"date_issued":"2021","date_published":"2021","updated_at":"2026-07-24T01:34:43Z","subjects":[],"languages":["en"],"rights":["Copyright © 2021 the author(s). Theses may be used for non-commercial research, educational, or related academic purposes only. Such uses include personal study, research, scholarship, and teaching. Theses may only be shared by linking to Carleton University Institutional Repository and no part may be used without proper attribution to the author. No part may be used for commercial purposes directly or indirectly via a for-profit platform; no adaptation or derivative works are permitted without consent from the copyright owner."],"rights_urls":[],"identifier_entries":[{"key":"dc:identifier.doi","label":"DOI","values":["10.22215/etd/2021-14643"],"render_values":[{"text":"10.22215/etd/2021-14643","href":"https://doi.org/10.22215/etd/2021-14643","code":true}]}]},"links":{"outbound_url":"https://hdl.handle.net/20.500.14718/42561","outbound_label":"Handle","outbound_source":"dc:identifier.uri"},"metadata_groups":[{"id":"people","label":"People","entries":[{"key":"dc:creator","label":"Author","values":["Zakurdaeva, Alla Vitalevna"]}]},{"id":"academic_context","label":"Academic Context","entries":[{"key":"dc:date.accessioned","label":"Dc Date Accessioned","values":["2025-04-08T20:39:54Z"]},{"key":"dc:date.available","label":"Dc Date Available","values":["2025-04-08T20:39:54Z"]},{"key":"dc:date.issued","label":"Date","values":["2021"]},{"key":"dc:publisher","label":"Institution","values":["Carleton University"]},{"key":"dc:type","label":"Dc Type","values":["thesis"]},{"key":"thesis:degree_discipline","label":"Discipline","values":["Technology Innovation Management"]},{"key":"thesis:degree_level","label":"Degree Level","values":["Master&apos;s"]},{"key":"thesis:degree_name","label":"Degree Name","values":["Master of Applied Science (M.App.Sc.)"]}]},{"id":"language_rights","label":"Language and Rights","entries":[{"key":"dc:language.iso","label":"Language (ISO)","values":["en"]},{"key":"dc:rights","label":"Dc Rights","values":["Copyright © 2021 the author(s). Theses may be used for non-commercial research, educational, or related academic purposes only. Such uses include personal study, research, scholarship, and teaching. Theses may only be shared by linking to Carleton University Institutional Repository and no part may be used without proper attribution to the author. No part may be used for commercial purposes directly or indirectly via a for-profit platform; no adaptation or derivative works are permitted without consent from the copyright owner."]}]},{"id":"identifiers","label":"Identifiers","entries":[{"key":"dc:identifier.doi","label":"DOI","values":["10.22215/etd/2021-14643"]},{"key":"dc:identifier.uri","label":"Identifier URI","values":["https://hdl.handle.net/20.500.14718/42561"]}]},{"id":"additional","label":"Additional Metadata","entries":[{"key":"dc:description.abstract","label":"Abstract","values":["Recent years have seen a surge of research into the impact architectural relations among files have on software maintainability and file bug-proneness. In particular, a set of rules for determining recurring design flaws associated with bugs has been proposed. In the present thesis we have investigated if machine learning can be used to advance the research on software architecture analysis and, specifically, on pinpointing architectural issues which may be the root causes of elevated bug- and change-proneness. In the case study of the Tiki open source project, we have been able to replicate three of the six known types of such architectural integrity violations and discover one new type, the Reverse Unstable Interface pattern. We have also demonstrated that one has to consider a mixture of local and global relationships in architectural bug detection and, contrary to common practice, should not disregard occasional co-changing of the two files as noise."]},{"key":"dc:title","label":"Title","values":["Using Machine Learning to Detect Architectural Integrity Violations Associated with Bugs"]}]}],"canonical_facts":{"dc:creator":["Zakurdaeva, Alla Vitalevna"],"dc:date.accessioned":["2025-04-08T20:39:54Z"],"dc:date.available":["2025-04-08T20:39:54Z"],"dc:date.issued":["2021"],"dc:description.abstract":["Recent years have seen a surge of research into the impact architectural relations among files have on software maintainability and file bug-proneness. In particular, a set of rules for determining recurring design flaws associated with bugs has been proposed. In the present thesis we have investigated if machine learning can be used to advance the research on software architecture analysis and, specifically, on pinpointing architectural issues which may be the root causes of elevated bug- and change-proneness. In the case study of the Tiki open source project, we have been able to replicate three of the six known types of such architectural integrity violations and discover one new type, the Reverse Unstable Interface pattern. We have also demonstrated that one has to consider a mixture of local and global relationships in architectural bug detection and, contrary to common practice, should not disregard occasional co-changing of the two files as noise."],"dc:identifier.doi":["10.22215/etd/2021-14643"],"dc:identifier.uri":["https://hdl.handle.net/20.500.14718/42561"],"dc:language.iso":["en"],"dc:publisher":["Carleton University"],"dc:rights":["Copyright © 2021 the author(s). Theses may be used for non-commercial research, educational, or related academic purposes only. Such uses include personal study, research, scholarship, and teaching. Theses may only be shared by linking to Carleton University Institutional Repository and no part may be used without proper attribution to the author. No part may be used for commercial purposes directly or indirectly via a for-profit platform; no adaptation or derivative works are permitted without consent from the copyright owner."],"dc:title":["Using Machine Learning to Detect Architectural Integrity Violations Associated with Bugs"],"dc:type":["thesis"],"thesis:degree_discipline":["Technology Innovation Management"],"thesis:degree_level":["Master&apos;s"],"thesis:degree_name":["Master of Applied Science (M.App.Sc.)"]},"updated_at":"2026-07-24T01:34:43Z"}