Alattin: Mining alternative patterns for defect detection

Suresh Thummalapenta, Tao Xie

Research output: Contribution to journalArticlepeer-review


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, exclusivedisjunctive, 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.

Original languageEnglish (US)
Pages (from-to)293-323
Number of pages31
JournalAutomated Software Engineering
Issue number3-4
StatePublished - Dec 2011
Externally publishedYes


  • Alternative patterns
  • Code search engine
  • Mining software engineering data
  • Static defect detection

ASJC Scopus subject areas

  • Software


Dive into the research topics of 'Alattin: Mining alternative patterns for defect detection'. Together they form a unique fingerprint.

Cite this