{"title":"在软件产品线环境中保留异常处理设计规则:一种实用的方法","authors":"Ricardo J. Sales Júnior, Roberta Coelho","doi":"10.1109/LADCW.2011.26","DOIUrl":null,"url":null,"abstract":"Checking the conformance between implementation and design rules is an important activity to guarantee quality on architecture and source code. To address the current needs of dependable systems it is also important to define design rules related to the exception handling behavior. The current approaches to automatically check design rules, however, do not provide suitable ways to define design rules related to the exception handling policy of a system. This paper proposes a practical approach to preserve the exception policy of a system or a family of systems along with its evolution, based on the definition and automatic checking of exception handling design rules, that regulates how exceptions flow inside the system -- which exceptions should flow and which elements are responsible for signaling and handling them. This approach automatically generates the partial code of JUnit tests to check such rules, and use the aspect-oriented technique to support such tests. The proposed approach was applied to define and check the exception handling rules of a software product line. Four different versions were evaluated (in both object-oriented and aspect-oriented implementations) in order to evaluate whether the exception handling policy was preserved during SPL evolution. Our experience shows that the proposed approach can be used to effectively detect violations on the exception handling policy of a software product line during its evolution.","PeriodicalId":383812,"journal":{"name":"2011 Fifth Latin-American Symposium on Dependable Computing Workshops","volume":"26 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2011-04-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"9","resultStr":"{\"title\":\"Preserving the Exception Handling Design Rules in Software Product Line Context: A Practical Approach\",\"authors\":\"Ricardo J. Sales Júnior, Roberta Coelho\",\"doi\":\"10.1109/LADCW.2011.26\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Checking the conformance between implementation and design rules is an important activity to guarantee quality on architecture and source code. To address the current needs of dependable systems it is also important to define design rules related to the exception handling behavior. The current approaches to automatically check design rules, however, do not provide suitable ways to define design rules related to the exception handling policy of a system. This paper proposes a practical approach to preserve the exception policy of a system or a family of systems along with its evolution, based on the definition and automatic checking of exception handling design rules, that regulates how exceptions flow inside the system -- which exceptions should flow and which elements are responsible for signaling and handling them. This approach automatically generates the partial code of JUnit tests to check such rules, and use the aspect-oriented technique to support such tests. The proposed approach was applied to define and check the exception handling rules of a software product line. Four different versions were evaluated (in both object-oriented and aspect-oriented implementations) in order to evaluate whether the exception handling policy was preserved during SPL evolution. Our experience shows that the proposed approach can be used to effectively detect violations on the exception handling policy of a software product line during its evolution.\",\"PeriodicalId\":383812,\"journal\":{\"name\":\"2011 Fifth Latin-American Symposium on Dependable Computing Workshops\",\"volume\":\"26 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2011-04-25\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"9\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2011 Fifth Latin-American Symposium on Dependable Computing Workshops\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/LADCW.2011.26\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2011 Fifth Latin-American Symposium on Dependable Computing Workshops","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/LADCW.2011.26","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Preserving the Exception Handling Design Rules in Software Product Line Context: A Practical Approach
Checking the conformance between implementation and design rules is an important activity to guarantee quality on architecture and source code. To address the current needs of dependable systems it is also important to define design rules related to the exception handling behavior. The current approaches to automatically check design rules, however, do not provide suitable ways to define design rules related to the exception handling policy of a system. This paper proposes a practical approach to preserve the exception policy of a system or a family of systems along with its evolution, based on the definition and automatic checking of exception handling design rules, that regulates how exceptions flow inside the system -- which exceptions should flow and which elements are responsible for signaling and handling them. This approach automatically generates the partial code of JUnit tests to check such rules, and use the aspect-oriented technique to support such tests. The proposed approach was applied to define and check the exception handling rules of a software product line. Four different versions were evaluated (in both object-oriented and aspect-oriented implementations) in order to evaluate whether the exception handling policy was preserved during SPL evolution. Our experience shows that the proposed approach can be used to effectively detect violations on the exception handling policy of a software product line during its evolution.