{"title":"面向方面系统的逆向工程,以支持它们的理解、演化、测试和评估","authors":"M. Bernardi","doi":"10.1109/CSMR.2008.4493329","DOIUrl":null,"url":null,"abstract":"Aspect oriented programming (AOP) supports the cross-cutting of concerns by means of aspects. The comprehension, maintenance and testing of AO systems may be more difficult than traditional ones, due to the large impact that aspects have on the static structure and dynamic behavior of the overall system. This thesis proposes the following main contributions to address these open issues: (i) an inter-procedural aspect control flow graph (IACFG) representing the interactions among the aspects and the object oriented (OO) components of an AO system; (ii) an approach to perform structural testing of aspect oriented programs based on a fault model specific to aspect oriented programs and on a set of coverage criteria referring IACFG; (iii) a metric model and a source code analysis algorithm in order to identify aspects with high level of impact and complexity in AOP systems. Several experiments were conducted in order to evaluate effectiveness of the proposed approaches.","PeriodicalId":350838,"journal":{"name":"2008 12th European Conference on Software Maintenance and Reengineering","volume":"21 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2008-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"10","resultStr":"{\"title\":\"Reverse Engineering of Aspect Oriented Systems to Support their Comprehension, Evolution, Testing and Assessment\",\"authors\":\"M. Bernardi\",\"doi\":\"10.1109/CSMR.2008.4493329\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Aspect oriented programming (AOP) supports the cross-cutting of concerns by means of aspects. The comprehension, maintenance and testing of AO systems may be more difficult than traditional ones, due to the large impact that aspects have on the static structure and dynamic behavior of the overall system. This thesis proposes the following main contributions to address these open issues: (i) an inter-procedural aspect control flow graph (IACFG) representing the interactions among the aspects and the object oriented (OO) components of an AO system; (ii) an approach to perform structural testing of aspect oriented programs based on a fault model specific to aspect oriented programs and on a set of coverage criteria referring IACFG; (iii) a metric model and a source code analysis algorithm in order to identify aspects with high level of impact and complexity in AOP systems. Several experiments were conducted in order to evaluate effectiveness of the proposed approaches.\",\"PeriodicalId\":350838,\"journal\":{\"name\":\"2008 12th European Conference on Software Maintenance and Reengineering\",\"volume\":\"21 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2008-04-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"10\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2008 12th European Conference on Software Maintenance and Reengineering\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/CSMR.2008.4493329\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2008 12th European Conference on Software Maintenance and Reengineering","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/CSMR.2008.4493329","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Reverse Engineering of Aspect Oriented Systems to Support their Comprehension, Evolution, Testing and Assessment
Aspect oriented programming (AOP) supports the cross-cutting of concerns by means of aspects. The comprehension, maintenance and testing of AO systems may be more difficult than traditional ones, due to the large impact that aspects have on the static structure and dynamic behavior of the overall system. This thesis proposes the following main contributions to address these open issues: (i) an inter-procedural aspect control flow graph (IACFG) representing the interactions among the aspects and the object oriented (OO) components of an AO system; (ii) an approach to perform structural testing of aspect oriented programs based on a fault model specific to aspect oriented programs and on a set of coverage criteria referring IACFG; (iii) a metric model and a source code analysis algorithm in order to identify aspects with high level of impact and complexity in AOP systems. Several experiments were conducted in order to evaluate effectiveness of the proposed approaches.