Show simple item record

dc.contributor.authorOyetoyan, Tosin Daniel
dc.date.accessioned2015-08-20T08:15:20Z
dc.date.available2015-08-20T08:15:20Z
dc.date.issued2015
dc.identifier.isbn978-82-326-0824-9
dc.identifier.isbn978-82-326-0825-6
dc.identifier.issn1503-8181
dc.identifier.urihttp://hdl.handle.net/11250/297522
dc.description.abstractSociety, systems and related businesses are increasingly dependent on software applications, which are integrated and interoperate with other systems. This dependency has implications for the dependability of both the systems and the businesses. There have been reported cases over the years of both systems and business failures due to software defects. However, the work and effort needed to correct defects is not trivial. This involves changing existing applications, which may be overly complex in their structure. Software undergoes constant evolution due to changes in the business environment such as introduction of new technology or new requirements. It is therefore not surprising that the cost of software maintenance is normally estimated to be the highest in the overall software budget. As the software evolves, so does its size and complexity. One aspect of software complexity is dependency cycles that are formed among software classes and packages. Many design guidelines advocate to avoid dependency cycles and argue that they inhibit software quality. Despite this conventional wisdom, empirical evidence shows that modern software indeed is riddled with this anti-pattern. The question remains that if cyclic property is known to be complex and is pervasive in software applications, how does it relate to defects and change in general, and what can be done to improve efforts to mitigate it? This thesis investigates dependency cycles among software components; an aspect of software structural complexity, to find how such properties correlate with defect measures and change rates, and how this knowledge can motivate to refactor and improve these possible defects hotspots in affected systems. The two main research questions to achieve these objectives are stated as follows: RQ1. What is the effect of dependency cycles on external quality measures of software systems? RQ2. How to refactor dependency cycle to impact the structural quality and reduce refactoring efforts? This work contributes mainly to improvement in software quality (maintainability and indirectly, reliability) and software metrics. The following are the three major contributions of this thesis: C1. Better understanding of how to utilize different defect metrics to improve software quality C2. Identification of the impact of dependency cycles on software quality C2-1: Identification of dependency cycles and neighbourhood as defect hotspots in software systems C2-2: Better understanding of the change impact of dependency cycles C3. Tool and metrics to refactor defect- and change-prone hotspots in dependency cycles C3-1: Added metrics to understand the complexity of components and improve the refactoring of cyclically dependent components C3-2: A cycle breaking decision support system to refactor cyclically connected componentsnb_NO
dc.language.isoengnb_NO
dc.publisherNTNUnb_NO
dc.relation.ispartofseriesDoctoral thesis at NTNU; 2015:84
dc.relation.haspartPaper 1: Oyetoyan, Tosin Daniel; Conradi, Reidar; Cruzes, Daniela Soares. A Comparison of Different Defect Measures to Identify Defect-Prone Components. I: 2013 Joint Conference of the 23nd International Workshop on Software Measurement (IWSM) and the Eighth International Conference on Software Process and Product Measurement (Mensura). IEEE Computer Society 2013, s. 181-190 <a href="http://dx.doi.org/10.1109/IWSM-Mensura.2013.34 " target="_blank"> http://dx.doi.org/10.1109/IWSM-Mensura.2013.34 </a> " © 2013 IEEE. Personal use of this material is permitted. Permission from IEEE must be obtained for all other uses, in any current or future media, including reprinting/republishing this material for advertising or promotional purposes, creating new collective works, for resale or redistribution to servers or lists, or reuse of any copyrighted component of this work in other works."nb_NO
dc.relation.haspartPaper 2: Oyetoyan, Tosin Daniel; Cruzes, Daniela Soares; Conradi, Reidar. A study of cyclic dependencies on defect profile of software components. Journal of Systems and Software 2013 ;Volum 86.(12) s. 3162-3182 <a href="http://dx.doi.org/10.1016/j.jss.2013.07.039 " target="_blank"> http://dx.doi.org/10.1016/j.jss.2013.07.039 </a> This article is reprinted with kind permission from Elsevier, sciencedirect.comnb_NO
dc.relation.haspartPaper 3: Oyetoyan, Tosin Daniel; Conradi, Reidar; Cruzes, Daniela Soares. Criticality of Defects in Cyclic Dependent Components. I: IEEE 13th International Working Conference on Source Code Analysis and Manipulation (SCAM) Eindhoven, 22-23 Sept. 2013. IEEE Computer Society 2013, s. 21-30 <a href="http://dx.doi.org/10.1109/SCAM.2013.6648180 " target="_blank"> http://dx.doi.org/10.1109/SCAM.2013.6648180 </a> "© 2013 IEEE. Personal use of this material is permitted. Permission from IEEE must be obtained for all other uses, in any current or future media, including reprinting/republishing this material for advertising or promotional purposes, creating new collective works, for resale or redistribution to servers or lists, or reuse of any copyrighted component of this work in other works."nb_NO
dc.relation.haspartPaper 4: Oyetoyan, Tosin Daniel; Cruzes, Daniela Soares; Conradi, Reidar. Can Refactoring Cyclic Dependent Components Reduce Defect-Proneness?. I: 29th IEEE International Conference on Software Maintenance (ICSM 2013). IEEE Computer Society 2013 s. 420-423 <a href="http://dx.doi.org/10.1109/ICSM.2013.62 " target="_blank"> http://dx.doi.org/10.1109/ICSM.2013.62</a> " © 2013 IEEE. Personal use of this material is permitted. Permission from IEEE must be obtained for all other uses, in any current or future media, including reprinting/republishing this material for advertising or promotional purposes, creating new collective works, for resale or redistribution to servers or lists, or reuse of any copyrighted component of this work in other works."nb_NO
dc.relation.haspartPaper 5: Oyetoyan, Tosin Daniel; Cruzes, Daniela Soares; Conradi, Reidar. Transition and Defect Patterns of Components in Dependency Cycles during Software Evolution. I: IEEE Conference on Software Maintenance, Reengineering, and Reverse Engineering (CSMR-WCRE), Antwerp, 3-6 Febr. 2014. IEEE Computer Society 2014 ISBN 978-1-4799-3752-3. s. 283-292 <a href="http://dx.doi.org/10.1109/CSMR-WCRE.2014.6747180 " target="_blank"> http://dx.doi.org/10.1109/CSMR-WCRE.2014.6747180</a> " © 2014 IEEE. Personal use of this material is permitted. Permission from IEEE must be obtained for all other uses, in any current or future media, including reprinting/republishing this material for advertising or promotional purposes, creating new collective works, for resale or redistribution to servers or lists, or reuse of any copyrighted component of this work in other works."nb_NO
dc.relation.haspartPaper 6: Oyetoyan, Tosin Daniel; Dietrich, Jens; Falleri, Jean-Rémy; Jezek, Kamil. Circular Dependencies and Change-Proneness: An Empirical Study. I: 2015 IEEE 22nd International Conference on Software Analysis, Evolution, and Reengineering (SANER). IEEE conference proceedings 2015 ISBN 978-1-4799-8469-5. s. 241-250 <a href="http://dx.doi.org/10.1109/SANER.2015.7081834 " target="_blank"> http://dx.doi.org/10.1109/SANER.2015.7081834</a> " © 2015 IEEE. Personal use of this material is permitted. Permission from IEEE must be obtained for all other uses, in any current or future media, including reprinting/republishing this material for advertising or promotional purposes, creating new collective works, for resale or redistribution to servers or lists, or reuse of any copyrighted component of this work in other works."nb_NO
dc.relation.haspartPaper 7: Oyetoyan, Tosin Daniel; Cruzes, Daniela Soares; Thurmann-Nielsen,Christian. A Decision Support System to Refactor Class Cyclesnb_NO
dc.relation.haspartPaper 8: Oyetoyan, Tosin Daniel; Cruzes, Daniela Soares; Conradi, Reidar. Can Reused Components Provide Lead to Future Defective Components in Smart Grid Applications?. I: Parallel and Distributed Computing and Systems : Software Engineering and Applications (PDCS 2012). ACTA Press 2012nb_NO
dc.relation.haspartPaper 9: Oyetoyan, Tosin Daniel; Conradi, Reidar; Sand, Kjell. Initial survey of Smart Grid activities in the Norwegian energy sector - use cases, industrial challenges and implications for research. I: Software Engineering for the Smart Grid (SE4SG), 2012 International Workshop. IEEE conference proceedings 2012 ISBN 978-1-4673-1863-1. s. 34-37 <a href="http://dx.doi.org/10.1109/SE4SG.2012.6225715 " target="_blank"> http://dx.doi.org/10.1109/SE4SG.2012.6225715 </a>nb_NO
dc.relation.haspartPaper 10: Oyetoyan, Tosin Daniel; Conradi, Reidar; Cruzes, Daniela Soares. Open Source Software for the Smartgrid: Challenges for Software Safety and Evolution. NIK: Norsk Informatikkonferanse 2011 ;Volum 2011. s. 239-243 <a href="http:// www.tapironline.no/last-ned/867" target="_blank"> http:// www.tapironline.no/last-ned/867 </a>nb_NO
dc.titleDependency cycles in software systems : quality issues and opportunities for refactoringnb_NO
dc.typeDoctoral thesisnb_NO
dc.subject.nsiVDP::Technology: 500::Information and communication technology: 550nb_NO


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record