@article{thummalapenta_xie_2011, title={Alattin: mining alternative patterns for defect detection}, volume={18}, ISSN={["1573-7535"]}, DOI={10.1007/s10515-011-0086-z}, abstractNote={To improve software quality, static or dynamic defect-detection 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 or dynamic defect-detection techniques to detect pattern violations in source code under analysis. However, 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 new mining algorithms and a technique for detecting neglected conditions based on our mining algorithm. Our new mining algorithms mine patterns in four pattern formats: conjunctive, disjunctive, exclusive-disjunctive, and combinations of these patterns. We show the benefits and limitations of these four pattern formats with respect to false positives and false negatives among detected violations by applying those patterns to the problem of detecting neglected conditions.}, number={3-4}, journal={AUTOMATED SOFTWARE ENGINEERING}, author={Thummalapenta, Suresh and Xie, Tao}, year={2011}, month={Dec}, pages={293–323} } @article{thummalapenta_marri_xie_tillmann_halleux_2011, title={Retrofitting unit tests for parameterized unit testing}, volume={6603}, journal={Fundamental approaches to software engineering}, author={Thummalapenta, S. and Marri, M. R. and Xie, T. and Tillmann, N. and Halleux, J.}, year={2011}, pages={294–309} } @article{thummalapenta_cerulo_aversano_di penta_2010, title={An empirical study on the maintenance of source code clones}, volume={15}, number={1}, journal={Empirical Software Engineering}, author={Thummalapenta, S. and Cerulo, L. and Aversano, L. and Di Penta, M.}, year={2010}, pages={1–34} } @inproceedings{thummalapenta_halleux_tillmann_wadsworth_2010, title={Dygen: Automatic generation of high-coverage tests via mining gigabytes of dynamic traces}, volume={6143}, booktitle={Test and proofs, proceedings}, author={Thummalapenta, S. and Halleux, J. and Tillmann, N. and Wadsworth, S.}, year={2010}, pages={77–93} } @article{thummalapenta_xie_2009, title={Alattin: Mining Alternative Patterns for Detecting Neglected Conditions}, ISSN={["1527-1366"]}, DOI={10.1109/ase.2009.72}, abstractNote={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 P2 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.}, journal={2009 IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING, PROCEEDINGS}, author={Thummalapenta, Suresh and Xie, Tao}, year={2009}, pages={283–294} } @article{xie_thummalapenta_lo_liu_2009, title={DATA MINING FOR SOFTWARE ENGINEERING}, volume={42}, ISSN={["1558-0814"]}, DOI={10.1109/MC.2009.256}, abstractNote={To improve software productivity and quality, software engineers are increasingly applying data mining algorithms to various software engineering tasks. However, mining SE data poses several challenges. The authors present various algorithms to effectively mine sequences, graphs, and text from such data.}, number={8}, journal={COMPUTER}, author={Xie, Tao and Thummalapenta, Suresh and Lo, David and Liu, Chao}, year={2009}, month={Aug}, pages={55–62} }