首页> 外文会议>Software Engineering, 2009. ICSE 2009 >Mining exception-handling rules as sequence association rules
【24h】

Mining exception-handling rules as sequence association rules

机译:挖掘异常处理规则作为序列关联规则

获取原文

摘要

Programming languages such as Java and C++ provide exception-handling constructs to handle exception conditions. Applications are expected to handle these exception conditions and take necessary recovery actions such as releasing opened database connections. However, exception-handling rules that describe these necessary recovery actions are often not available in practice. To address this issue, we develop a novel approach that mines exception-handling rules as sequence association rules of the form ldquo(FCc 1...FCc n) nland FCa rArr (FCe 1...FCe m)rdquo. This rule describes that function call FCa should be followed by a sequence of function calls (FCe 1...FCe m) when FCa is preceded by a sequence of function calls (FCe 1...FCc n). Such form of rules is required to characterize common exception-handling rules. We show the usefulness of these mined rules by applying them on five real-world applications (including 285 KLOC) to detect violations in our evaluation. Our empirical results show that our approach mines 294 real exception-handling rules in these five applications and also detects 160 defects, where 87 defects are new defects that are not found by a previous related approach.
机译:诸如Java和C ++之类的编程语言提供了异常处理构造来处理异常情况。期望应用程序处理这些异常情况并采取必要的恢复操作,例如释放打开的数据库连接。但是,描述这些必要的恢复操作的异常处理规则在实践中通常不可用。为解决此问题,我们开发了一种新颖的方法,该方法可将异常处理规则挖掘为形式为ldquo(FC c 1 ... FC c n )nland FC a rArr(FC e 1 ... FC e m )。该规则描述了函数调用FCa之后应该是一系列函数调用(FC e 1 ... FC e m )在FC a 之前是一系列函数调用(FC e 1 ... FC c < / sub> n )。需要这种形式的规则来表征常见的异常处理规则。通过将其应用于五个实际应用程序(包括285 KLOC)以检测评估中的违规行为,我们展示了这些挖掘规则的有用性。我们的经验结果表明,我们的方法在这五个应用程序中挖掘了294条真实的异常处理规则,还检测了160个缺陷,其中87个缺陷是以前的相关方法找不到的新缺陷。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号