A machine-learning based ensemble method for anti-patterns detection

•Different anti-pattern detection tools can be aggregated to improve the detection.•Our method significantly improves the overall detection performances of the so aggregated tools for God Class and Feature Envy.•Our method significantly outperforms other ensemble methods.•None of the competing ensem...

Full description

Saved in:
Bibliographic Details
Published inThe Journal of systems and software Vol. 161; p. 110486
Main Authors Barbez, Antoine, Khomh, Foutse, Guéhéneuc, Yann-Gaël
Format Journal Article
LanguageEnglish
Published Elsevier Inc 01.03.2020
Subjects
Online AccessGet full text

Cover

Loading…
Abstract •Different anti-pattern detection tools can be aggregated to improve the detection.•Our method significantly improves the overall detection performances of the so aggregated tools for God Class and Feature Envy.•Our method significantly outperforms other ensemble methods.•None of the competing ensemble method can improve the performances for both anti-patterns. 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.
AbstractList •Different anti-pattern detection tools can be aggregated to improve the detection.•Our method significantly improves the overall detection performances of the so aggregated tools for God Class and Feature Envy.•Our method significantly outperforms other ensemble methods.•None of the competing ensemble method can improve the performances for both anti-patterns. 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.
ArticleNumber 110486
Author Khomh, Foutse
Barbez, Antoine
Guéhéneuc, Yann-Gaël
Author_xml – sequence: 1
  givenname: Antoine
  surname: Barbez
  fullname: Barbez, Antoine
  email: antoine.barbez@polymtl.ca
  organization: Polytechnique Montreal, Canada
– sequence: 2
  givenname: Foutse
  surname: Khomh
  fullname: Khomh, Foutse
  email: foutse.khomh@polymtl.ca
  organization: Polytechnique Montreal, Canada
– sequence: 3
  givenname: Yann-Gaël
  surname: Guéhéneuc
  fullname: Guéhéneuc, Yann-Gaël
  email: yann-gael.gueheneuc@concordia.ca
  organization: Concordia University, Canada
BookMark eNp9kE1LAzEQhoNUsFZ_gLf8gV0z2XQ_8FTqJxS86Dlkk4nNspstSRD896bUk4ee5mWYZ5h5rsnCzx4JuQNWAoP6fiiHGEvOoCsBmGjrC7KEtqkK4LxdkGWeETkDvyLXMQ6MsYYzviSPGzopvXceixFV8M5_0V5FNBR9xKkfkU6Y9rOhdg5U-eSKg0oJg4_UYEKd3OxvyKVVY8Tbv7oin89PH9vXYvf-8rbd7ArNuyYVrWkRTL8GLbRgSvRdx3vomtqurelNbgrD1xb6VuhO8KpiVkDVdKoVWDc5rgic9uowxxjQykNwkwo_Epg8apCDzBrkUYM8achM84_RLqnj1SkoN54lH04k5pe-HQYZtUOv0biQ_5ZmdmfoX7YKeWg
CitedBy_id crossref_primary_10_1016_j_infsof_2021_106783
crossref_primary_10_1007_s10664_024_10445_9
crossref_primary_10_1109_ACCESS_2023_3334258
crossref_primary_10_1007_s10515_025_00486_9
crossref_primary_10_4018_IJOSSP_287612
crossref_primary_10_1016_j_engappai_2024_109527
crossref_primary_10_31857_S0002338823040078
crossref_primary_10_1016_j_jss_2024_112058
crossref_primary_10_1134_S106423072304007X
crossref_primary_10_1109_ACCESS_2024_3387856
crossref_primary_10_1007_s00607_024_01294_x
crossref_primary_10_1002_smr_2454
crossref_primary_10_1007_s41870_022_00943_8
crossref_primary_10_1016_j_jss_2023_111934
crossref_primary_10_1016_j_eswa_2023_121640
crossref_primary_10_1016_j_ins_2024_121753
crossref_primary_10_3390_chemosensors11020126
crossref_primary_10_1016_j_infsof_2025_107673
crossref_primary_10_1016_j_jobe_2021_102812
crossref_primary_10_1007_s10664_023_10345_4
crossref_primary_10_1145_3432690
crossref_primary_10_1145_3596908
crossref_primary_10_1155_2021_2730246
Cites_doi 10.1007/s10664-011-9171-y
10.1007/s10664-017-9535-z
10.1023/A:1009783721306
10.1016/j.jss.2010.11.921
10.1016/j.jss.2012.04.013
10.1007/s10462-009-9124-7
10.1016/j.entcs.2005.02.059
10.1007/s10664-015-9378-4
10.1109/TSE.2010.51
10.1016/0005-2795(75)90109-9
10.1109/TSE.2014.2372760
10.1109/TETCI.2017.2699224
10.1109/TSE.2009.1
10.1109/TSE.2009.50
ContentType Journal Article
Copyright 2019
Copyright_xml – notice: 2019
DBID AAYXX
CITATION
DOI 10.1016/j.jss.2019.110486
DatabaseName CrossRef
DatabaseTitle CrossRef
DatabaseTitleList
DeliveryMethod fulltext_linktorsrc
Discipline Computer Science
EISSN 1873-1228
ExternalDocumentID 10_1016_j_jss_2019_110486
S0164121219302602
GroupedDBID --K
--M
-~X
.DC
.~1
0R~
1B1
1~.
1~5
29L
4.4
457
4G.
5GY
5VS
7-5
71M
8P~
9JN
9M8
AABNK
AACTN
AAEDT
AAEDW
AAIKJ
AAKOC
AALRI
AAOAW
AAQFI
AAQXK
AAXUO
AAYFN
AAYOK
ABBOA
ABEFU
ABFNM
ABFRF
ABFSI
ABJNI
ABMAC
ABTAH
ABXDB
ABYKQ
ACDAQ
ACGFO
ACGFS
ACGOD
ACNNM
ACRLP
ACZNC
ADBBV
ADEZE
ADHUB
ADJOM
ADMUD
AEBSH
AEFWE
AEKER
AENEX
AFKWA
AFTJW
AGHFR
AGUBO
AGYEJ
AHHHB
AHZHX
AI.
AIALX
AIEXJ
AIKHN
AITUG
AJBFU
AJOXV
ALMA_UNASSIGNED_HOLDINGS
AMFUW
AMRAJ
AOUOD
ASPBG
AVWKF
AXJTR
AZFZN
BKOJK
BKOMP
BLXMC
CS3
DU5
E.L
EBS
EFJIC
EFLBG
EJD
EO8
EO9
EP2
EP3
FDB
FEDTE
FGOYB
FIRID
FNPLU
FYGXN
G-Q
G8K
GBLVA
GBOLZ
HLZ
HVGLF
HZ~
IHE
J1W
KOM
LG9
M41
MO0
MS~
N9A
O-L
O9-
OAUVE
OZT
P-8
P-9
P2P
PC.
PQQKQ
Q38
R2-
RIG
RNS
ROL
RPZ
RXW
SBC
SDF
SDG
SDP
SES
SEW
SPC
SPCBC
SSV
SSZ
T5K
TAE
TN5
TWZ
UHS
UNMZH
VH1
WUQ
XPP
ZMT
ZY4
~G-
AATTM
AAXKI
AAYWO
AAYXX
ABDPE
ABWVN
ACRPL
ACVFH
ADCNI
ADNMO
AEIPS
AEUPX
AFJKZ
AFPUW
AFXIZ
AGCQF
AGQPQ
AGRNS
AIGII
AIIUN
AKBMS
AKRWK
AKYEP
ANKPU
APXCP
BNPGV
CITATION
SSH
ID FETCH-LOGICAL-c297t-8d8e1db51c4c40a4b992b1976f5fdbd4c44d25f1b84c942330f41379a84e67413
IEDL.DBID .~1
ISSN 0164-1212
IngestDate Tue Jul 01 03:45:09 EDT 2025
Thu Apr 24 23:01:31 EDT 2025
Fri Feb 23 02:49:09 EST 2024
IsPeerReviewed true
IsScholarly true
Keywords Anti-patterns
Ensemble methods
Software quality
Machine learning
Language English
LinkModel DirectLink
MergedId FETCHMERGED-LOGICAL-c297t-8d8e1db51c4c40a4b992b1976f5fdbd4c44d25f1b84c942330f41379a84e67413
ParticipantIDs crossref_primary_10_1016_j_jss_2019_110486
crossref_citationtrail_10_1016_j_jss_2019_110486
elsevier_sciencedirect_doi_10_1016_j_jss_2019_110486
ProviderPackageCode CITATION
AAYXX
PublicationCentury 2000
PublicationDate March 2020
2020-03-00
PublicationDateYYYYMMDD 2020-03-01
PublicationDate_xml – month: 03
  year: 2020
  text: March 2020
PublicationDecade 2020
PublicationTitle The Journal of systems and software
PublicationYear 2020
Publisher Elsevier Inc
Publisher_xml – name: Elsevier Inc
References Abbes, Khomh, Gueheneuc, Antoniol (bib0001) 2011
Jansche (bib0018) 2005
Maiga, Ali, Bhattacharya, Sabané, Guéhéneuc, Antoniol, Aïmeur (bib0028) 2012
Khomh, Vaucher, Guéhéneuc, Sahraoui (bib0020) 2009
Wang, Li, Shi, Liu (bib0043) 2011; 8
Rokach (bib0038) 2010; 33
Marinescu, Ganea, Verebi (bib0030) 2010
Tempero, Anslow, Dietrich, Han, Li, Lumpe, Melton, Noble (bib0040) 2010
Glorot, Bengio (bib0014) 2010
Kreimer (bib0022) 2005; 141
Khomh, Vaucher, Guéhéneuc, Sahraoui (bib0021) 2011; 84
Moha, Guéhéneuc, Laurence, Anne-Franccoise (bib0033) 2010; 36
Lanza, Marinescu (bib0024) 2007
Sales, Terra, Miranda, Valente (bib0039) 2013
Palomba, Bavota, Di Penta, Fasano, Oliveto, De Lucia (bib0034) 2018; 23
Fokaefs, Tsantalis, Chatzigeorgiou (bib0008) 2007
Bergstra, Bengio (bib0003) 2012; 13
Briand, Daly, Wüst (bib0004) 1998; 3
Fontana, Braione, Zanoni (bib0011) 2012; 11
Liu, Xu, Zou (bib0025) 2018
Maiga, Ali, Bhattacharya, Sabane, Gueheneuc, Aimeur (bib0027) 2012
Matthews (bib0031) 1975; 405
Fokaefs, Tsantalis, Stroulia, Chatzigeorgiou (bib0009) 2011
Di Nucci, Palomba, Oliveto, De Lucia (bib0005) 2017; 1
Witten, Frank, Hall, Pal (bib0044) 2016
Amorim, Costa, Antunes, Fonseca, Ribeiro (bib0002) 2015
Fowler (bib0013) 1999
Liu, Khoshgoftaar, Seliya (bib0026) 2010; 36
Krizhevsky, Sutskever, Hinton (bib0023) 2012
Moghadam, Cinneide (bib0032) 2012
Vaucher, Khomh, Moha, Guéhéneuc (bib0042) 2009
He, Garcia (bib0017) 2008
Tsantalis, Chatzigeorgiou (bib0041) 2009; 35
Palomba, Bavota, Penta, Oliveto, Lucia, Poshyvanyk (bib0036) 2013
Marinescu (bib0029) 2004
Powers, D. M., 2011. Evaluation: from precision, recall and f-measure to roc, informedness, markedness and correlation.
Yamashita, Moonen (bib0045) 2013
Palomba, Bavota, Penta, Oliverto, Poshyvanyk, Lucia (bib0035) 2015; 41
Fokaefs, Tsantalis, Stroulia, Chatzigeorgiou (bib0010) 2012; 85
Graves, Mohamed, Hinton (bib0015) 2013
Guéhéneuc (bib0016) 2005
Dietterich (bib0007) 2000
Khomh, Di Penta, Guéhéneuc, Antoniol (bib0019) 2012; 17
Di Nucci, Palomba, Tamburri, Serebrenik, De Lucia (bib0006) 2018
Fontana, Mäntylä, Zanoni, Marino (bib0012) 2016; 21
Graves (10.1016/j.jss.2019.110486_bib0015) 2013
Sales (10.1016/j.jss.2019.110486_bib0039) 2013
He (10.1016/j.jss.2019.110486_bib0017) 2008
Fontana (10.1016/j.jss.2019.110486_bib0012) 2016; 21
Di Nucci (10.1016/j.jss.2019.110486_bib0005) 2017; 1
Wang (10.1016/j.jss.2019.110486_bib0043) 2011; 8
Jansche (10.1016/j.jss.2019.110486_bib0018) 2005
Tempero (10.1016/j.jss.2019.110486_bib0040) 2010
Bergstra (10.1016/j.jss.2019.110486_bib0003) 2012; 13
Yamashita (10.1016/j.jss.2019.110486_bib0045) 2013
Khomh (10.1016/j.jss.2019.110486_bib0021) 2011; 84
Liu (10.1016/j.jss.2019.110486_bib0025) 2018
Liu (10.1016/j.jss.2019.110486_bib0026) 2010; 36
Guéhéneuc (10.1016/j.jss.2019.110486_bib0016) 2005
10.1016/j.jss.2019.110486_bib0037
Maiga (10.1016/j.jss.2019.110486_bib0027) 2012
Moghadam (10.1016/j.jss.2019.110486_bib0032) 2012
Tsantalis (10.1016/j.jss.2019.110486_bib0041) 2009; 35
Witten (10.1016/j.jss.2019.110486_bib0044) 2016
Fowler (10.1016/j.jss.2019.110486_bib0013) 1999
Marinescu (10.1016/j.jss.2019.110486_bib0030) 2010
Matthews (10.1016/j.jss.2019.110486_bib0031) 1975; 405
Khomh (10.1016/j.jss.2019.110486_bib0020) 2009
Khomh (10.1016/j.jss.2019.110486_bib0019) 2012; 17
Krizhevsky (10.1016/j.jss.2019.110486_bib0023) 2012
Fokaefs (10.1016/j.jss.2019.110486_bib0010) 2012; 85
Rokach (10.1016/j.jss.2019.110486_bib0038) 2010; 33
Vaucher (10.1016/j.jss.2019.110486_bib0042) 2009
Palomba (10.1016/j.jss.2019.110486_bib0034) 2018; 23
Marinescu (10.1016/j.jss.2019.110486_bib0029) 2004
Amorim (10.1016/j.jss.2019.110486_bib0002) 2015
Fokaefs (10.1016/j.jss.2019.110486_bib0009) 2011
Moha (10.1016/j.jss.2019.110486_bib0033) 2010; 36
Di Nucci (10.1016/j.jss.2019.110486_bib0006) 2018
Kreimer (10.1016/j.jss.2019.110486_bib0022) 2005; 141
Glorot (10.1016/j.jss.2019.110486_bib0014) 2010
Lanza (10.1016/j.jss.2019.110486_bib0024) 2007
Palomba (10.1016/j.jss.2019.110486_bib0035) 2015; 41
Palomba (10.1016/j.jss.2019.110486_bib0036) 2013
Fokaefs (10.1016/j.jss.2019.110486_bib0008) 2007
Fontana (10.1016/j.jss.2019.110486_sbref0011) 2012; 11
Maiga (10.1016/j.jss.2019.110486_bib0028) 2012
Abbes (10.1016/j.jss.2019.110486_bib0001) 2011
Dietterich (10.1016/j.jss.2019.110486_bib0007) 2000
Briand (10.1016/j.jss.2019.110486_bib0004) 1998; 3
References_xml – volume: 13
  start-page: 281
  year: 2012
  end-page: 305
  ident: bib0003
  article-title: Random search for hyper-parameter optimization
  publication-title: J. Mach. Learn. Res.
– volume: 3
  start-page: 65
  year: 1998
  end-page: 117
  ident: bib0004
  article-title: A unified framework for cohesion measurement in object-oriented systems
  publication-title: Empir. Softw. Eng.
– volume: 11
  year: 2012
  ident: bib0011
  article-title: Automatic detection of bad smells in code: An experimental assessment.
  publication-title: J. Object Technol.
– volume: 141
  start-page: 117
  year: 2005
  end-page: 136
  ident: bib0022
  article-title: Adaptive detection of design flaws
  publication-title: Electron. Notes Theoret. Comput. Sci.
– volume: 84
  start-page: 559
  year: 2011
  end-page: 572
  ident: bib0021
  article-title: Bdtex: a gqm-based bayesian approach for the detection of antipatterns
  publication-title: J. Syst. Softw.
– start-page: 1097
  year: 2012
  end-page: 1105
  ident: bib0023
  article-title: Imagenet classification with deep convolutional neural networks
  publication-title: Advances in neural information processing systems
– start-page: 1263
  year: 2008
  end-page: 1284
  ident: bib0017
  article-title: Learning from imbalanced data
  publication-title: IEEE Trans. Knowl. Data Eng.
– volume: 36
  start-page: 852
  year: 2010
  end-page: 864
  ident: bib0026
  article-title: Evolutionary optimization of software quality modeling with multiple repositories
  publication-title: IEEE Trans. Softw. Eng.
– start-page: 268
  year: 2013
  end-page: 278
  ident: bib0036
  article-title: Detecting bad smells in source code using change history information.
  publication-title: ASE
– start-page: 466
  year: 2012
  end-page: 475
  ident: bib0027
  article-title: Smurf: a svm-based incremental anti-pattern detection approach
  publication-title: Reverse engineering (WCRE), 2012 19th working conference on
– volume: 21
  start-page: 1143
  year: 2016
  end-page: 1191
  ident: bib0012
  article-title: Comparing and experimenting machine learning techniques for code smell detection
  publication-title: Empir. Softw. Eng.
– start-page: 350
  year: 2004
  end-page: 359
  ident: bib0029
  article-title: Detection strategies: metrics-based rules for detecting design flaws
  publication-title: Software Maintenance, 2004. Proceedings. 20th IEEE International Conference on
– year: 2007
  ident: bib0024
  article-title: Object-oriented Metrics in Practice: Using Software Metrics to Characterize, Evaluate, and Improve the Design of object-Oriented Systems
– volume: 405
  start-page: 442
  year: 1975
  end-page: 451
  ident: bib0031
  article-title: Comparison of the predicted and observed secondary structure of t4 phage lysozyme
  publication-title: Biochimica et Biophysica Acta (BBA)-Protein Structure
– volume: 17
  start-page: 243
  year: 2012
  end-page: 275
  ident: bib0019
  article-title: An exploratory study of the impact of antipatterns on class change-and fault-proneness
  publication-title: Empir. Softw. Eng.
– start-page: 682
  year: 2013
  end-page: 691
  ident: bib0045
  article-title: Exploring the impact of inter-smell relations on software maintainability: An empirical study
  publication-title: Proceedings of the 2013 International Conference on Software Engineering
– start-page: 249
  year: 2010
  end-page: 256
  ident: bib0014
  article-title: Understanding the difficulty of training deep feedforward neural networks
  publication-title: Proceedings of the thirteenth international conference on artificial intelligence and statistics
– start-page: 261
  year: 2015
  end-page: 269
  ident: bib0002
  article-title: Experience report: Evaluating the effectiveness of decision trees for detecting code smells
  publication-title: Software Reliability Engineering (ISSRE), 2015 IEEE 26th International Symposium on
– volume: 23
  start-page: 1188
  year: 2018
  end-page: 1221
  ident: bib0034
  article-title: On the diffuseness and the impact on maintainability of code smells: a large scale empirical investigation
  publication-title: Empirical Softw. Eng.
– volume: 33
  start-page: 1
  year: 2010
  end-page: 39
  ident: bib0038
  article-title: Ensemble-based classifiers
  publication-title: Artif. Intell. Rev.
– volume: 85
  start-page: 2241
  year: 2012
  end-page: 2260
  ident: bib0010
  article-title: Identification and application of extract class refactorings in object-oriented systems
  publication-title: J. Syst. Softw.
– start-page: 305
  year: 2009
  end-page: 314
  ident: bib0020
  article-title: A Bayesian approach for the detection of code and design smells
  publication-title: Quality Software, 2009. QSIC’09. 9th International Conference on
– start-page: 232
  year: 2013
  end-page: 241
  ident: bib0039
  article-title: Recommending move method refactorings using dependency sets
  publication-title: Reverse Engineering (WCRE), 2013 20th Working Conference on
– year: 2016
  ident: bib0044
  article-title: Data Mining: Practical Machine Learning Tools and Techniques
– reference: Powers, D. M., 2011. Evaluation: from precision, recall and f-measure to roc, informedness, markedness and correlation.
– volume: 1
  start-page: 202
  year: 2017
  end-page: 212
  ident: bib0005
  article-title: Dynamic selection of classifiers in bug prediction: an adaptive method
  publication-title: IEEE Trans. Emerg. Top. Comput. Intell.
– start-page: 1
  year: 2000
  end-page: 15
  ident: bib0007
  article-title: Ensemble methods in machine learning
  publication-title: International workshop on multiple classifier systems
– year: 1999
  ident: bib0013
  article-title: Refactoring: Improving the Design of Existing Code
– start-page: 145
  year: 2009
  end-page: 154
  ident: bib0042
  article-title: Tracking design smells: lessons from a study of god classes
  publication-title: Reverse Engineering, 2009. WCRE’09. 16th Working Conference on
– start-page: 692
  year: 2005
  end-page: 699
  ident: bib0018
  article-title: Maximum expected f-measure training of logistic regression models
  publication-title: Proceedings of the conference on Human Language Technology and Empirical Methods in Natural Language Processing
– start-page: 336
  year: 2010
  end-page: 345
  ident: bib0040
  article-title: The qualitas corpus: a curated collection of java code for empirical studies
  publication-title: Software Engineering Conference (APSEC), 2010 17th Asia Pacific
– start-page: 1037
  year: 2011
  end-page: 1039
  ident: bib0009
  article-title: Jdeodorant: identification and application of extract class refactorings
  publication-title: Software Engineering (ICSE), 2011 33rd International Conference on
– start-page: 6645
  year: 2013
  end-page: 6649
  ident: bib0015
  article-title: Speech recognition with deep recurrent neural networks
  publication-title: Acoustics, speech and signal processing (icassp), 2013 ieee international conference on
– start-page: 43
  year: 2012
  end-page: 52
  ident: bib0032
  article-title: Automated refactoring using design differencing
  publication-title: Software maintenance and reengineering (CSMR), 2012 16th European conference on
– volume: 36
  start-page: 20
  year: 2010
  end-page: 36
  ident: bib0033
  article-title: Decor: a method for the specification and detection of code and design smells
  publication-title: IEEE Trans. Softw. Eng. (TSE)
– volume: 35
  start-page: 347
  year: 2009
  end-page: 367
  ident: bib0041
  article-title: Identification of move method refactoring opportunities
  publication-title: IEEE Trans. Softw. Eng.
– year: 2005
  ident: bib0016
  article-title: Ptidej: promoting patterns with patterns
  publication-title: Proceedings of the 1st ECOOP workshop on Building a System using Patterns. Springer-Verlag
– start-page: 274
  year: 2010
  end-page: 275
  ident: bib0030
  article-title: Incode: continuous quality assessment and improvement
  publication-title: Software Maintenance and Reengineering (CSMR), 2010 14th European Conference on
– volume: 41
  start-page: 462
  year: 2015
  end-page: 489
  ident: bib0035
  article-title: Mining version histories for detecting code smells
  publication-title: IEEE Trans. Softw. Eng.
– start-page: 278
  year: 2012
  end-page: 281
  ident: bib0028
  article-title: Support vector machines for anti-pattern detection
  publication-title: Automated Software Engineering (ASE), 2012 Proceedings of the 27th IEEE/ACM International Conference on
– start-page: 519
  year: 2007
  end-page: 520
  ident: bib0008
  article-title: Jdeodorant: identification and removal of feature envy bad smells
  publication-title: Software Maintenance, 2007. ICSM 2007. IEEE International Conference on
– volume: 8
  start-page: 4241
  year: 2011
  end-page: 4254
  ident: bib0043
  article-title: Software defect prediction based on classifiers ensemble
  publication-title: J. Inf. Comput. Sci.
– start-page: 612
  year: 2018
  end-page: 621
  ident: bib0006
  article-title: Detecting code smells using machine learning techniques: are we there yet?
  publication-title: 2018 IEEE 25th International Conference on Software Analysis, Evolution and Reengineering (SANER)
– start-page: 385
  year: 2018
  end-page: 396
  ident: bib0025
  article-title: Deep learning based feature envy detection
  publication-title: Proceedings of the 33rd ACM/IEEE International Conference on Automated Software Engineering
– start-page: 181
  year: 2011
  end-page: 190
  ident: bib0001
  article-title: An empirical study of the impact of two antipatterns, blob and spaghetti code, on program comprehension
  publication-title: Software maintenance and reengineering (CSMR), 2011 15th European conference on
– start-page: 336
  year: 2010
  ident: 10.1016/j.jss.2019.110486_bib0040
  article-title: The qualitas corpus: a curated collection of java code for empirical studies
– start-page: 350
  year: 2004
  ident: 10.1016/j.jss.2019.110486_bib0029
  article-title: Detection strategies: metrics-based rules for detecting design flaws
– ident: 10.1016/j.jss.2019.110486_bib0037
– volume: 13
  start-page: 281
  issue: Feb
  year: 2012
  ident: 10.1016/j.jss.2019.110486_bib0003
  article-title: Random search for hyper-parameter optimization
  publication-title: J. Mach. Learn. Res.
– volume: 17
  start-page: 243
  issue: 3
  year: 2012
  ident: 10.1016/j.jss.2019.110486_bib0019
  article-title: An exploratory study of the impact of antipatterns on class change-and fault-proneness
  publication-title: Empir. Softw. Eng.
  doi: 10.1007/s10664-011-9171-y
– start-page: 1037
  year: 2011
  ident: 10.1016/j.jss.2019.110486_bib0009
  article-title: Jdeodorant: identification and application of extract class refactorings
– volume: 11
  issue: 2
  year: 2012
  ident: 10.1016/j.jss.2019.110486_sbref0011
  article-title: Automatic detection of bad smells in code: An experimental assessment.
  publication-title: J. Object Technol.
– start-page: 6645
  year: 2013
  ident: 10.1016/j.jss.2019.110486_bib0015
  article-title: Speech recognition with deep recurrent neural networks
– start-page: 612
  year: 2018
  ident: 10.1016/j.jss.2019.110486_bib0006
  article-title: Detecting code smells using machine learning techniques: are we there yet?
– start-page: 278
  year: 2012
  ident: 10.1016/j.jss.2019.110486_bib0028
  article-title: Support vector machines for anti-pattern detection
– start-page: 274
  year: 2010
  ident: 10.1016/j.jss.2019.110486_bib0030
  article-title: Incode: continuous quality assessment and improvement
– start-page: 145
  year: 2009
  ident: 10.1016/j.jss.2019.110486_bib0042
  article-title: Tracking design smells: lessons from a study of god classes
– year: 2016
  ident: 10.1016/j.jss.2019.110486_bib0044
– year: 2007
  ident: 10.1016/j.jss.2019.110486_bib0024
– start-page: 1097
  year: 2012
  ident: 10.1016/j.jss.2019.110486_bib0023
  article-title: Imagenet classification with deep convolutional neural networks
– start-page: 43
  year: 2012
  ident: 10.1016/j.jss.2019.110486_bib0032
  article-title: Automated refactoring using design differencing
– volume: 23
  start-page: 1188
  issue: 3
  year: 2018
  ident: 10.1016/j.jss.2019.110486_bib0034
  article-title: On the diffuseness and the impact on maintainability of code smells: a large scale empirical investigation
  publication-title: Empirical Softw. Eng.
  doi: 10.1007/s10664-017-9535-z
– start-page: 232
  year: 2013
  ident: 10.1016/j.jss.2019.110486_bib0039
  article-title: Recommending move method refactorings using dependency sets
– year: 2005
  ident: 10.1016/j.jss.2019.110486_bib0016
  article-title: Ptidej: promoting patterns with patterns
– start-page: 1263
  issue: 9
  year: 2008
  ident: 10.1016/j.jss.2019.110486_bib0017
  article-title: Learning from imbalanced data
  publication-title: IEEE Trans. Knowl. Data Eng.
– start-page: 181
  year: 2011
  ident: 10.1016/j.jss.2019.110486_bib0001
  article-title: An empirical study of the impact of two antipatterns, blob and spaghetti code, on program comprehension
– volume: 3
  start-page: 65
  issue: 1
  year: 1998
  ident: 10.1016/j.jss.2019.110486_bib0004
  article-title: A unified framework for cohesion measurement in object-oriented systems
  publication-title: Empir. Softw. Eng.
  doi: 10.1023/A:1009783721306
– volume: 84
  start-page: 559
  issue: 4
  year: 2011
  ident: 10.1016/j.jss.2019.110486_bib0021
  article-title: Bdtex: a gqm-based bayesian approach for the detection of antipatterns
  publication-title: J. Syst. Softw.
  doi: 10.1016/j.jss.2010.11.921
– volume: 85
  start-page: 2241
  issue: 10
  year: 2012
  ident: 10.1016/j.jss.2019.110486_bib0010
  article-title: Identification and application of extract class refactorings in object-oriented systems
  publication-title: J. Syst. Softw.
  doi: 10.1016/j.jss.2012.04.013
– start-page: 466
  year: 2012
  ident: 10.1016/j.jss.2019.110486_bib0027
  article-title: Smurf: a svm-based incremental anti-pattern detection approach
– start-page: 305
  year: 2009
  ident: 10.1016/j.jss.2019.110486_bib0020
  article-title: A Bayesian approach for the detection of code and design smells
– start-page: 268
  year: 2013
  ident: 10.1016/j.jss.2019.110486_bib0036
  article-title: Detecting bad smells in source code using change history information.
– volume: 33
  start-page: 1
  issue: 1–2
  year: 2010
  ident: 10.1016/j.jss.2019.110486_bib0038
  article-title: Ensemble-based classifiers
  publication-title: Artif. Intell. Rev.
  doi: 10.1007/s10462-009-9124-7
– volume: 141
  start-page: 117
  issue: 4
  year: 2005
  ident: 10.1016/j.jss.2019.110486_bib0022
  article-title: Adaptive detection of design flaws
  publication-title: Electron. Notes Theoret. Comput. Sci.
  doi: 10.1016/j.entcs.2005.02.059
– start-page: 692
  year: 2005
  ident: 10.1016/j.jss.2019.110486_bib0018
  article-title: Maximum expected f-measure training of logistic regression models
– start-page: 249
  year: 2010
  ident: 10.1016/j.jss.2019.110486_bib0014
  article-title: Understanding the difficulty of training deep feedforward neural networks
– volume: 21
  start-page: 1143
  issue: 3
  year: 2016
  ident: 10.1016/j.jss.2019.110486_bib0012
  article-title: Comparing and experimenting machine learning techniques for code smell detection
  publication-title: Empir. Softw. Eng.
  doi: 10.1007/s10664-015-9378-4
– volume: 36
  start-page: 852
  issue: 6
  year: 2010
  ident: 10.1016/j.jss.2019.110486_bib0026
  article-title: Evolutionary optimization of software quality modeling with multiple repositories
  publication-title: IEEE Trans. Softw. Eng.
  doi: 10.1109/TSE.2010.51
– volume: 405
  start-page: 442
  issue: 2
  year: 1975
  ident: 10.1016/j.jss.2019.110486_bib0031
  article-title: Comparison of the predicted and observed secondary structure of t4 phage lysozyme
  publication-title: Biochimica et Biophysica Acta (BBA)-Protein Structure
  doi: 10.1016/0005-2795(75)90109-9
– volume: 41
  start-page: 462
  issue: 5
  year: 2015
  ident: 10.1016/j.jss.2019.110486_bib0035
  article-title: Mining version histories for detecting code smells
  publication-title: IEEE Trans. Softw. Eng.
  doi: 10.1109/TSE.2014.2372760
– year: 1999
  ident: 10.1016/j.jss.2019.110486_bib0013
– volume: 1
  start-page: 202
  issue: 3
  year: 2017
  ident: 10.1016/j.jss.2019.110486_bib0005
  article-title: Dynamic selection of classifiers in bug prediction: an adaptive method
  publication-title: IEEE Trans. Emerg. Top. Comput. Intell.
  doi: 10.1109/TETCI.2017.2699224
– volume: 35
  start-page: 347
  issue: 3
  year: 2009
  ident: 10.1016/j.jss.2019.110486_bib0041
  article-title: Identification of move method refactoring opportunities
  publication-title: IEEE Trans. Softw. Eng.
  doi: 10.1109/TSE.2009.1
– start-page: 519
  year: 2007
  ident: 10.1016/j.jss.2019.110486_bib0008
  article-title: Jdeodorant: identification and removal of feature envy bad smells
– start-page: 385
  year: 2018
  ident: 10.1016/j.jss.2019.110486_bib0025
  article-title: Deep learning based feature envy detection
– volume: 36
  start-page: 20
  issue: 1
  year: 2010
  ident: 10.1016/j.jss.2019.110486_bib0033
  article-title: Decor: a method for the specification and detection of code and design smells
  publication-title: IEEE Trans. Softw. Eng. (TSE)
  doi: 10.1109/TSE.2009.50
– volume: 8
  start-page: 4241
  issue: 16
  year: 2011
  ident: 10.1016/j.jss.2019.110486_bib0043
  article-title: Software defect prediction based on classifiers ensemble
  publication-title: J. Inf. Comput. Sci.
– start-page: 261
  year: 2015
  ident: 10.1016/j.jss.2019.110486_bib0002
  article-title: Experience report: Evaluating the effectiveness of decision trees for detecting code smells
– start-page: 682
  year: 2013
  ident: 10.1016/j.jss.2019.110486_bib0045
  article-title: Exploring the impact of inter-smell relations on software maintainability: An empirical study
– start-page: 1
  year: 2000
  ident: 10.1016/j.jss.2019.110486_bib0007
  article-title: Ensemble methods in machine learning
SSID ssj0007202
Score 2.458728
Snippet •Different anti-pattern detection tools can be aggregated to improve the detection.•Our method significantly improves the overall detection performances of the...
SourceID crossref
elsevier
SourceType Enrichment Source
Index Database
Publisher
StartPage 110486
SubjectTerms Anti-patterns
Ensemble methods
Machine learning
Software quality
Title A machine-learning based ensemble method for anti-patterns detection
URI https://dx.doi.org/10.1016/j.jss.2019.110486
Volume 161
hasFullText 1
inHoldings 1
isFullTextHit
isPrint
link http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwnV07T8MwELaqsrDwRpRH5YEJyTRO7MQZq0JVQOoClbpFSeygVm1a0bDy27lzHB4SMLBF1p0UfXHukXz-jpDL2ISewcMxWqQSGpQ0ZMrnAZPKy03BraQcsi3G4Wgi7qdy2iKD5iwM0ipd7K9juo3WbqXn0OytZ7PeI4pDcYi8UIKgMBbGYSEi3OXXb580j8i3vEM0Zmjd_Nm0HK_5BhW7eYxkeIHHqX_KTV_yzXCP7LhCkfbre9knLVMekN1mCAN17-QhuenTpSVEGuYmQDxTTE2aQoNqltnC0HpKNIXylAKOM7a2mprlhmpTWSZWeUQmw9unwYi50Qgs9-OoYkorw3UmeS5yAFhkcexnHEqLQhY607AotC8LnimRx1AxBV4B2SqKUyVMCEVEcEza5ao0J4RqsIbWVBYCrqRMlRcEuVA6TAHYVAYd4jWgJLnTDcfxFYukIYjNE8AxQRyTGscOufpwWdeiGX8Ziwbp5NuTTyCo_-52-j-3M7LtY8dsP6Kck3b18mouoKyosq7dN12y1b97GI3fAVyoyco
linkProvider Elsevier
linkToHtml http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwnV09T8MwELWqMsDCN6J8emBCMo0TO3HGqlAVKF1opW5WEjuoVRsqGlZ-O2fH4UMCBrYoOkvRS3z3Tnl-h9BFrENPm8MxiiUcGpQkJMKnAeHCy3ROraWcUVsMw_6Y3U34pIG69VkYI6t0ub_K6TZbuztth2Z7OZ22H405FIXMCxTEGGNBHl5jsH3NGIOrt0-dR-Rb4aGJJia8_rVpRV6zlbHsprFRwzNznvqn4vSl4PS20aZjirhTPcwOauhiF23VUxiw25R76LqDF1YRqYkbAfGETW1SGDpUvUjnGldjojHwUwxATsnSmmoWK6x0aaVYxT4a925G3T5xsxFI5sdRSYQSmqqU04xlgDBL49hPKXCLnOcqVXCTKZ_nNBUsi4EyBV4O5SqKE8F0CCwiOEDN4rnQhwgriIbelOcMrjhPhBcEGRMqTADZhAct5NWgyMwZh5v5FXNZK8RmEnCUBkdZ4dhClx9LlpVrxl_BrEZafnv1ErL678uO_rfsHK33Rw8DObgd3h-jDd-0z1ZSdoKa5curPgWOUaZn9ht6By_Vy1o
openUrl ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.atitle=A+machine-learning+based+ensemble+method+for+anti-patterns+detection&rft.jtitle=The+Journal+of+systems+and+software&rft.au=Barbez%2C+Antoine&rft.au=Khomh%2C+Foutse&rft.au=Gu%C3%A9h%C3%A9neuc%2C+Yann-Ga%C3%ABl&rft.date=2020-03-01&rft.pub=Elsevier+Inc&rft.issn=0164-1212&rft.eissn=1873-1228&rft.volume=161&rft_id=info:doi/10.1016%2Fj.jss.2019.110486&rft.externalDocID=S0164121219302602
thumbnail_l http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=0164-1212&client=summon
thumbnail_m http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=0164-1212&client=summon
thumbnail_s http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=0164-1212&client=summon