{"title":"迈向灵活的自动化软件架构侵蚀诊断与治疗","authors":"M. Mair, Sebastian Herold, A. Rausch","doi":"10.1145/2578128.2578231","DOIUrl":null,"url":null,"abstract":"Uncontrolled software architecture erosion can lead to a degradation of the quality of a software system. It is hence of great importance to repair erosion efficiently. Refactorings can help to systematically reverse software architecture erosion through applying them in the system where architectural violations have been detected. However, existing refactoring approaches do not address architecture erosion holistically.\n In this paper, we describe and formalize the theoretical problem of repairing eroded software systems by finding optimal repair sequences. Furthermore, we investigate the applicability and limitations of existing refactoring approaches. We argue, true to the motto \"more knowledge means less search\" that using formalized and explicit knowledge of software engineers---modeled as fault patterns and repair strategies---combined with heuristic search techniques could overcome those limitations.\n This paper outlines a new approach---analog to a patient history in medicine---we have been starting to investigate in our recent research and also aims at stimulating a discussion about further research challenges in repairing eroded software systems.","PeriodicalId":405927,"journal":{"name":"WICSA '14 Companion","volume":"91 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2014-04-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"11","resultStr":"{\"title\":\"Towards flexible automated software architecture erosion diagnosis and treatment\",\"authors\":\"M. Mair, Sebastian Herold, A. Rausch\",\"doi\":\"10.1145/2578128.2578231\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Uncontrolled software architecture erosion can lead to a degradation of the quality of a software system. It is hence of great importance to repair erosion efficiently. Refactorings can help to systematically reverse software architecture erosion through applying them in the system where architectural violations have been detected. However, existing refactoring approaches do not address architecture erosion holistically.\\n In this paper, we describe and formalize the theoretical problem of repairing eroded software systems by finding optimal repair sequences. Furthermore, we investigate the applicability and limitations of existing refactoring approaches. We argue, true to the motto \\\"more knowledge means less search\\\" that using formalized and explicit knowledge of software engineers---modeled as fault patterns and repair strategies---combined with heuristic search techniques could overcome those limitations.\\n This paper outlines a new approach---analog to a patient history in medicine---we have been starting to investigate in our recent research and also aims at stimulating a discussion about further research challenges in repairing eroded software systems.\",\"PeriodicalId\":405927,\"journal\":{\"name\":\"WICSA '14 Companion\",\"volume\":\"91 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2014-04-07\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"11\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"WICSA '14 Companion\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1145/2578128.2578231\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"WICSA '14 Companion","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/2578128.2578231","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Towards flexible automated software architecture erosion diagnosis and treatment
Uncontrolled software architecture erosion can lead to a degradation of the quality of a software system. It is hence of great importance to repair erosion efficiently. Refactorings can help to systematically reverse software architecture erosion through applying them in the system where architectural violations have been detected. However, existing refactoring approaches do not address architecture erosion holistically.
In this paper, we describe and formalize the theoretical problem of repairing eroded software systems by finding optimal repair sequences. Furthermore, we investigate the applicability and limitations of existing refactoring approaches. We argue, true to the motto "more knowledge means less search" that using formalized and explicit knowledge of software engineers---modeled as fault patterns and repair strategies---combined with heuristic search techniques could overcome those limitations.
This paper outlines a new approach---analog to a patient history in medicine---we have been starting to investigate in our recent research and also aims at stimulating a discussion about further research challenges in repairing eroded software systems.