@inproceedings{thummalapenta2009mining, author = {Thummalapenta, Suresh and Xie, Tao}, title = {Mining exception-handling rules as sequence association rules}, booktitle = {ICSE '09: Proceedings of the 31st International Conference on Software Engineering}, year = {2009}, month = {January}, abstract = {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 “(FC1c1…FCcn) ∧ FCa ⇒ (FCe1…FCem)”. This rule describes that function call FCa should be followed by a sequence of function calls (FCe1…FCem) when FCa is preceded by a sequence of function calls (FCe1…FCcn). 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.}, publisher = {IEEE Computer Society}, url = {http://approjects.co.za/?big=en-us/research/publication/mining-exception-handling-rules-as-sequence-association-rules/}, pages = {496-506}, isbn = {978-1-4244-3453-4}, edition = {ICSE '09: Proceedings of the 31st International Conference on Software Engineering}, }