TY - GEN
T1 - Alattin
T2 - 24th IEEE/ACM International Conference on Automated Software Engineering, ASE2009
AU - Thummalapenta, Suresh
AU - Xie, Tao
PY - 2009
Y1 - 2009
N2 - To improve software quality, static or dynamic verification tools accept programming rules as input and detect their violations in software as defects. As these programming rules are often not well documented in practice, previous work developed various approaches that mine programming rules as frequent patterns from program source code. Then these approaches use static defect-detection techniques to detect pattern violations in source code under analysis. These existing approaches often produce many false positives due to various factors. To reduce false positives produced by these mining approaches, we develop a novel approach, called Alattin, that includes a new mining algorithm and a technique for detecting neglected conditions based on our mining algorithm. Our new mining algorithm mines alternative patterns in example form "P1 or P2", where P1 and P 2 are alternative rules such as condition checks on method arguments or return values related to the same API method. We conduct two evaluations to show the effectiveness of our Alattin approach. Our evaluation results show that (1) alternative patterns reach more than 40% of all mined patterns for APIs provided by six open source libraries; (2) the mining of alternative patterns helps reduce nearly 28% of false positives among detected violations.
AB - To improve software quality, static or dynamic verification tools accept programming rules as input and detect their violations in software as defects. As these programming rules are often not well documented in practice, previous work developed various approaches that mine programming rules as frequent patterns from program source code. Then these approaches use static defect-detection techniques to detect pattern violations in source code under analysis. These existing approaches often produce many false positives due to various factors. To reduce false positives produced by these mining approaches, we develop a novel approach, called Alattin, that includes a new mining algorithm and a technique for detecting neglected conditions based on our mining algorithm. Our new mining algorithm mines alternative patterns in example form "P1 or P2", where P1 and P 2 are alternative rules such as condition checks on method arguments or return values related to the same API method. We conduct two evaluations to show the effectiveness of our Alattin approach. Our evaluation results show that (1) alternative patterns reach more than 40% of all mined patterns for APIs provided by six open source libraries; (2) the mining of alternative patterns helps reduce nearly 28% of false positives among detected violations.
KW - Alternative patterns
KW - Code search
KW - Frequent itemset mining
UR - http://www.scopus.com/inward/record.url?scp=77952148651&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=77952148651&partnerID=8YFLogxK
U2 - 10.1109/ASE.2009.72
DO - 10.1109/ASE.2009.72
M3 - Conference contribution
AN - SCOPUS:77952148651
SN - 9780769538914
T3 - ASE2009 - 24th IEEE/ACM International Conference on Automated Software Engineering
SP - 283
EP - 294
BT - ASE2009 - 24th IEEE/ACM International Conference on Automated Software Engineering
Y2 - 16 November 2009 through 20 November 2009
ER -