{"title":"An improved mapping method for automated consistency check between software architecture and source code","authors":"Fangwei Chen, Li Zhang, Xiaoli Lian","doi":"10.1109/QRS51102.2020.00021","DOIUrl":null,"url":null,"abstract":"In daily software development, inconsistencies between architecture and code inevitably occur with the continuous contribution, even under model-driven development which can trace between design and code. Many methods have been proposed for consistency checking, but most require huge human efforts on establishing the mappings between architectural and code elements. Besides, the multi-layered architecture and code increases the difficulties in inconsistency detection, while existing algorithms do not handle this well. Thus, we propose an improved mapping method for automated consistency check between software architecture and Java implementation, with the premises that initial tracing between architecture and code are established. To be specific, during software evolution, our method can automatically re-establish the mappings between architecture and code using initial tracing information. Then, with detailed inconsistency check rules, we detect the inconsistencies heuristically. Experiments with two projects show our method’s high effectiveness with more than 98% of recall and 96% of precision.","PeriodicalId":301814,"journal":{"name":"2020 IEEE 20th International Conference on Software Quality, Reliability and Security (QRS)","volume":"7 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2020-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"3","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2020 IEEE 20th International Conference on Software Quality, Reliability and Security (QRS)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/QRS51102.2020.00021","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 3
Abstract
In daily software development, inconsistencies between architecture and code inevitably occur with the continuous contribution, even under model-driven development which can trace between design and code. Many methods have been proposed for consistency checking, but most require huge human efforts on establishing the mappings between architectural and code elements. Besides, the multi-layered architecture and code increases the difficulties in inconsistency detection, while existing algorithms do not handle this well. Thus, we propose an improved mapping method for automated consistency check between software architecture and Java implementation, with the premises that initial tracing between architecture and code are established. To be specific, during software evolution, our method can automatically re-establish the mappings between architecture and code using initial tracing information. Then, with detailed inconsistency check rules, we detect the inconsistencies heuristically. Experiments with two projects show our method’s high effectiveness with more than 98% of recall and 96% of precision.