• DocumentCode
    2578444
  • Title

    SMURF: A SVM-based Incremental Anti-pattern Detection Approach

  • Author

    Maiga, Abdou ; Ali, Nasir ; Bhattacharya, Neelesh ; Sabané, Aminata ; Guéhéneuc, Yann-Gaël ; Aimeur, Esma

  • Author_Institution
    Ptidej Team, Ecole Polytech. de Montreal, Montreal, QC, Canada
  • fYear
    2012
  • fDate
    15-18 Oct. 2012
  • Firstpage
    466
  • Lastpage
    475
  • Abstract
    In current, typical software development projects, hundreds of developers work asynchronously in space and time and may introduce anti-patterns in their software systems because of time pressure, lack of understanding, communication, and-or skills. Anti-patterns impede development and maintenance activities by making the source code more difficult to understand. Detecting anti-patterns incrementally and on subsets of a system could reduce costs, effort, and resources by allowing practitioners to identify and take into account occurrences of anti-patterns as they find them during their development and maintenance activities. Researchers have proposed approaches to detect occurrences of anti-patterns but these approaches have currently four limitations: (1) they require extensive knowledge of anti-patterns, (2) they have limited precision and recall, (3) they are not incremental, and (4) they cannot be applied on subsets of systems. To overcome these limitations, we introduce SMURF, a novel approach to detect anti-patterns, based on a machine learning technique - support vector machines - and taking into account practitioners´ feedback. Indeed, through an empirical study involving three systems and four anti-patterns, we showed that the accuracy of SMURF is greater than that of DETEX and BDTEX when detecting anti-patterns occurrences. We also showed that SMURF can be applied in both intra-system and inter-system configurations. Finally, we reported that SMURF accuracy improves when using practitioners´ feedback.
  • Keywords
    learning (artificial intelligence); program diagnostics; software development management; software maintenance; support vector machines; BDTEX; DETEX; SMURF; SVM-based incremental antipattern detection approach; development activities; intersystem configurations; intrasystem configurations; machine learning technique; maintenance activities; software development projects; source code; support vector machines; Accuracy; Kernel; Maintenance engineering; Measurement; Support vector machines; Training; Anti-pattern; empirical software engineering; program comprehension; program maintenance;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Reverse Engineering (WCRE), 2012 19th Working Conference on
  • Conference_Location
    Kingston, ON
  • ISSN
    1095-1350
  • Print_ISBN
    978-1-4673-4536-1
  • Type

    conf

  • DOI
    10.1109/WCRE.2012.56
  • Filename
    6385142