A Machine-learning based Ensemble Method for Anti-patterns Detection. Barbez, A., Khomh, F., & Gu�h�neuc, Y. Journal of Systems and Software (JSS), 161:110486, Elsevier, March, 2020. 15 pages.
Paper abstract bibtex Anti-patterns are poor solutions to recurring design problems. Several empirical studies have highlighted their negative impact on program comprehension, maintainability, as well as fault-proneness. A variety of detection approaches have been proposed to identify their occurrences in source code. However, these approaches can identify only a subset of the occurrences and report large numbers of false positives and misses. Furthermore, a low agreement is generally observed among different approaches. Recent studies have shown the potential of machine-learning models to improve this situation. However, such algorithms require large sets of manually-produced training-data, which often limits their application in practice. In this paper, we present SMAD (SMart Aggregation of Anti-patterns Detectors), a machine-learning based ensemble method to aggregate various anti-patterns detection approaches on the basis of their internal detection rules. Thus, our method uses several detection tools to produce an improved prediction from a reasonable number of training examples. We implemented SMAD for the detection of two well known anti-patterns: God Class and Feature Envy. With the results of our experiments conducted on eight java projects, we show that: (1) Our method clearly improves the so aggregated tools; (2) SMAD significantly outperforms other ensemble methods.
@ARTICLE{Barbez19-JSS-AntiPatternsEsembleMethod,
AUTHOR = {Antoine Barbez and Foutse Khomh and Yann-Ga�l Gu�h�neuc},
JOURNAL = {Journal of Systems and Software (JSS)},
TITLE = {A Machine-learning based Ensemble Method for
Anti-patterns Detection},
YEAR = {2020},
MONTH = {March},
NOTE = {15 pages.},
OPTNUMBER = {},
PAGES = {110486},
VOLUME = {161},
EDITOR = {Paris Avgeriou and David Shepherd},
KEYWORDS = {Topic: <b>Code and design smells</b>, Venue: <b>JSS</b>},
PUBLISHER = {Elsevier},
URL = {http://www.ptidej.net/publications/documents/JSS20a.doc.pdf},
ABSTRACT = {Anti-patterns are poor solutions to recurring design
problems. Several empirical studies have highlighted their negative
impact on program comprehension, maintainability, as well as
fault-proneness. A variety of detection approaches have been proposed
to identify their occurrences in source code. However, these
approaches can identify only a subset of the occurrences and report
large numbers of false positives and misses. Furthermore, a low
agreement is generally observed among different approaches. Recent
studies have shown the potential of machine-learning models to
improve this situation. However, such algorithms require large sets
of manually-produced training-data, which often limits their
application in practice. In this paper, we present SMAD (SMart
Aggregation of Anti-patterns Detectors), a machine-learning based
ensemble method to aggregate various anti-patterns detection
approaches on the basis of their internal detection rules. Thus, our
method uses several detection tools to produce an improved prediction
from a reasonable number of training examples. We implemented SMAD
for the detection of two well known anti-patterns: God Class and
Feature Envy. With the results of our experiments conducted on eight
java projects, we show that: (1) Our method clearly improves the so
aggregated tools; (2) SMAD significantly outperforms other ensemble
methods.}
}
Downloads: 0
{"_id":"55Rtcwo2WecmYvb8J","bibbaseid":"barbez-khomh-guhneuc-amachinelearningbasedensemblemethodforantipatternsdetection-2020","author_short":["Barbez, A.","Khomh, F.","Gu�h�neuc, Y."],"bibdata":{"bibtype":"article","type":"article","author":[{"firstnames":["Antoine"],"propositions":[],"lastnames":["Barbez"],"suffixes":[]},{"firstnames":["Foutse"],"propositions":[],"lastnames":["Khomh"],"suffixes":[]},{"firstnames":["Yann-Ga�l"],"propositions":[],"lastnames":["Gu�h�neuc"],"suffixes":[]}],"journal":"Journal of Systems and Software (JSS)","title":"A Machine-learning based Ensemble Method for Anti-patterns Detection","year":"2020","month":"March","note":"15 pages.","optnumber":"","pages":"110486","volume":"161","editor":[{"firstnames":["Paris"],"propositions":[],"lastnames":["Avgeriou"],"suffixes":[]},{"firstnames":["David"],"propositions":[],"lastnames":["Shepherd"],"suffixes":[]}],"keywords":"Topic: <b>Code and design smells</b>, Venue: <b>JSS</b>","publisher":"Elsevier","url":"http://www.ptidej.net/publications/documents/JSS20a.doc.pdf","abstract":"Anti-patterns are poor solutions to recurring design problems. Several empirical studies have highlighted their negative impact on program comprehension, maintainability, as well as fault-proneness. A variety of detection approaches have been proposed to identify their occurrences in source code. However, these approaches can identify only a subset of the occurrences and report large numbers of false positives and misses. Furthermore, a low agreement is generally observed among different approaches. Recent studies have shown the potential of machine-learning models to improve this situation. However, such algorithms require large sets of manually-produced training-data, which often limits their application in practice. In this paper, we present SMAD (SMart Aggregation of Anti-patterns Detectors), a machine-learning based ensemble method to aggregate various anti-patterns detection approaches on the basis of their internal detection rules. Thus, our method uses several detection tools to produce an improved prediction from a reasonable number of training examples. We implemented SMAD for the detection of two well known anti-patterns: God Class and Feature Envy. With the results of our experiments conducted on eight java projects, we show that: (1) Our method clearly improves the so aggregated tools; (2) SMAD significantly outperforms other ensemble methods.","bibtex":"@ARTICLE{Barbez19-JSS-AntiPatternsEsembleMethod,\r\n AUTHOR = {Antoine Barbez and Foutse Khomh and Yann-Ga�l Gu�h�neuc},\r\n JOURNAL = {Journal of Systems and Software (JSS)},\r\n TITLE = {A Machine-learning based Ensemble Method for \r\n Anti-patterns Detection},\r\n YEAR = {2020},\r\n MONTH = {March},\r\n NOTE = {15 pages.},\r\n OPTNUMBER = {},\r\n PAGES = {110486},\r\n VOLUME = {161},\r\n EDITOR = {Paris Avgeriou and David Shepherd},\r\n KEYWORDS = {Topic: <b>Code and design smells</b>, Venue: <b>JSS</b>},\r\n PUBLISHER = {Elsevier},\r\n URL = {http://www.ptidej.net/publications/documents/JSS20a.doc.pdf},\r\n ABSTRACT = {Anti-patterns are poor solutions to recurring design \r\n problems. Several empirical studies have highlighted their negative \r\n impact on program comprehension, maintainability, as well as \r\n fault-proneness. A variety of detection approaches have been proposed \r\n to identify their occurrences in source code. However, these \r\n approaches can identify only a subset of the occurrences and report \r\n large numbers of false positives and misses. Furthermore, a low \r\n agreement is generally observed among different approaches. Recent \r\n studies have shown the potential of machine-learning models to \r\n improve this situation. However, such algorithms require large sets \r\n of manually-produced training-data, which often limits their \r\n application in practice. In this paper, we present SMAD (SMart \r\n Aggregation of Anti-patterns Detectors), a machine-learning based \r\n ensemble method to aggregate various anti-patterns detection \r\n approaches on the basis of their internal detection rules. Thus, our \r\n method uses several detection tools to produce an improved prediction \r\n from a reasonable number of training examples. We implemented SMAD \r\n for the detection of two well known anti-patterns: God Class and \r\n Feature Envy. With the results of our experiments conducted on eight \r\n java projects, we show that: (1) Our method clearly improves the so \r\n aggregated tools; (2) SMAD significantly outperforms other ensemble \r\n methods.}\r\n}\r\n\r\n","author_short":["Barbez, A.","Khomh, F.","Gu�h�neuc, Y."],"editor_short":["Avgeriou, P.","Shepherd, D."],"key":"Barbez19-JSS-AntiPatternsEsembleMethod","id":"Barbez19-JSS-AntiPatternsEsembleMethod","bibbaseid":"barbez-khomh-guhneuc-amachinelearningbasedensemblemethodforantipatternsdetection-2020","role":"author","urls":{"Paper":"http://www.ptidej.net/publications/documents/JSS20a.doc.pdf"},"keyword":["Topic: <b>Code and design smells</b>","Venue: <b>JSS</b>"],"metadata":{"authorlinks":{}}},"bibtype":"article","biburl":"http://www.yann-gael.gueheneuc.net/Work/Publications/Biblio/complete-bibliography.bib","dataSources":["8vn5MSGYWB4fAx9Z4"],"keywords":["topic: <b>code and design smells</b>","venue: <b>jss</b>"],"search_terms":["machine","learning","based","ensemble","method","anti","patterns","detection","barbez","khomh","gu�h�neuc"],"title":"A Machine-learning based Ensemble Method for Anti-patterns Detection","year":2020}