Preserving the Exception Handling Design Rules in Software Product Line Context: A Practical Approach

Ricardo J. Sales Júnior, Roberta Coelho
{"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}
引用次数: 9

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.
在软件产品线环境中保留异常处理设计规则:一种实用的方法
检查实现规则和设计规则之间的一致性是保证体系结构和源代码质量的重要活动。为了满足可靠系统的当前需求,定义与异常处理行为相关的设计规则也很重要。然而,当前自动检查设计规则的方法并没有提供合适的方法来定义与系统异常处理策略相关的设计规则。本文基于异常处理设计规则的定义和自动检查,提出了一种实用的方法来保留一个系统或一组系统及其演变的异常策略,该策略规定了异常如何在系统内部流动——哪些异常应该流动,哪些元素负责发出信号并处理它们。这种方法自动生成JUnit测试的部分代码来检查这些规则,并使用面向方面的技术来支持这些测试。将该方法应用于软件产品线的异常处理规则的定义和检查。评估了四个不同的版本(在面向对象和面向方面的实现中),以便评估在SPL演进过程中是否保留了异常处理策略。我们的经验表明,所提出的方法可用于在软件产品线的发展过程中有效地检测异常处理策略的违例。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信