improving the detection accuracy. Additionally, we
observed that the hybrid approach is able to outper-
form the basic classifier algorithm because it is based
on the most relevant features that are extracted with
the deep auto-encoder.
Our future direction focuses on exploring other
types of features in order to underpin the results of
our detection approach. The features that we intend to
add, are fine-grained and cover the detection of other
types of code smells. In addition, we plan to apply
other deep learning algorithms and compare between
them. For this reason, we will expand the data be-
cause deep learning outperforms better results with
richer dataset.
REFERENCES
April, A. and Abran, A. (2012). Software maintenance man-
agement: evaluation and continuous improvement,
volume 67. John Wiley & Sons.
Arcelli Fontana, F., M¨antyl¨a, M. V., Zanoni, M., and
Marino, A. (2016). Comparing and experimenting
machine learning techniques for code smell detection.
Empirical Software Engineering, 21(3):1143–1191.
Bengio, Y., Courville, A., and Vincent, P. (2013). Repre-
sentation Learning: A Review and New Perspectives.
IEEE Transactions on Pattern Analysis and Machine
Intelligence, 35(8):1798–1828.
Bengio, Y. et al. (2009). Learning deep architectures for AI.
Foundations and Trends in Machine Learning, 2(1):1–
127.
Brown, W. H., Malveau, R. C., McCormick, H. W., and
Mowbray, T. J. (1998). AntiPatterns: refactoring soft-
ware, architectures, and projects in crisis. John Wiley
& Sons.
Erlikh, L. (2000). Leveraging Legacy System Dollars for
E-Business. IT Professional, 2(3):17–23.
Ferme, V. (2013). JCodeOdor: A software quality advisor
through design flaws detection. Master’s thesis, Uni-
versity of Milano-Bicocca, Milano, Italy.
Fowler, M., Beck, K., Brant, J., Opdyke, W., and Roberts,
D. (1999). Refactoring: improving the design of exist-
ing code. Pearson Education India.
Fu, S. and Shen, B. (2015). Code Bad Smell Detection
through Evolutionary Data Mining. In ACM/IEEE In-
ternational Symposium on Empirical Software Engi-
neering and Measurement, pages 1–9.
Han, J., Pei, J., and Kamber, M. (2011). Data mining: con-
cepts and techniques. Elsevier.
Hassaine, S., Khomh, F., Gueheneuc, Y. G., and Hamel, S.
(2010). IDS: An Immune-Inspired Approach for the
Detection of Software Design Smells. In Seventh In-
ternational Conference on the Quality of Information
and Communications Technology, pages 343–348.
Hinton, G. E. and Salakhutdinov, R. R. (2006). Reduc-
ing the Dimensionality of Data with Neural Networks.
Science, 313(5786):504–507.
Khomh, F., Penta, M. D., Gu´eh´eneuc, Y.-G., and Antoniol,
G. (2012). An exploratory study of the impact of an-
tipatterns on class change- and fault-proneness. Em-
pirical Software Engineering, 17(3):243–275.
Khomh, F., Vaucher, S., Guhneuc, Y. G., and Sahraoui, H.
(2009). A Bayesian Approach for the Detection of
Code and Design Smells. In Ninth International Con-
ference on Quality Software, pages 305–314.
Khomh, F., Vaucher, S., Guhneuc, Y.-G., and Sahraoui, H.
(2011). Bdtex: A gqm-based bayesian approach for
the detection of antipatterns. Journal of Systems and
Software, 84(4):559 – 572. The Ninth International
Conference on Quality Software.
Kreimer, J. (2005). Adaptive detection of design flaws.
Electronic Notes in Theoretical Computer Science,
141(4):117 – 136. Proceedings of the Fifth Workshop
on Language Descriptions, Tools, and Applications.
LeCun, Y., Bengio, Y., and Hinton, G. (2015). Deep learn-
ing. Nature, 521(7553):436–444.
Maiga, A., Ali, N., Bhattacharya, N., Saban, A., Guhneuc,
Y. G., and Aimeur, E. (2012a). SMURF: A SVM-
based Incremental Anti-pattern Detection Approach.
In 19th Working Conference on Reverse Engineering,
pages 466–475.
Maiga, A., Ali, N., Bhattacharya, N., Saban, A., Guhneuc,
Y. G., Antoniol, G., and Ameur, E. (2012b). Support
vector machines for anti-pattern detection. In Pro-
ceedings of the 27th IEEE/ACM International Confer-
ence on Automated Software Engineering, pages 278–
281.
M¨antyl¨a, M. V. and Lassenius, C. (2006). Subjective eval-
uation of software evolvability using code smells: An
empirical study. Empirical Software Engineering,
11(3):395–431.
Marinescu, C., Marinescu, R., Florin Mihancea, P., Ratiu,
D., and Wettel, R. (2005). iPlasma: An Integrated
Platform for Quality Assessment of Object-Oriented
Design. In Proceedings of International Conference
on Software Maintenance, pages 77–80.
Marinescu, R. (2005). Measurement and quality in object-
oriented design. In 21st IEEE International Confer-
ence on Software Maintenance, pages 701–704.
Mens, T. and Tourwe, T. (2004). A survey of software refac-
toring. IEEE Transactions on Software Engineering,
30(2):126–139.
Moha, N., Gueheneuc, Y. G., Duchien, L., and Meur, A.
F. L. (2010a). DECOR: A Method for the Specifica-
tion and Detection of Code and Design Smells. IEEE
Transactions on Software Engineering, 36(1):20–36.
Moha, N., Gu´eh´eneuc, Y.-G., Meur, A.-F. L., Duchien, L.,
and Tiberghien, A. (2010b). From a domain analysis
to the specification and detection of code and design
smells. Formal Aspects of Computing, 22(3):345–361.
Murphy-Hill, E. and Black, A. P. (2010). An Interactive
Ambient Visualization for Code Smells. In Proceed-
ings of the 5th International Symposium on Software
Visualization, SOFTVIS ’10, pages 5–14, New York,
NY, USA. ACM.
Nongpong, K. (2012). Integrating” code smells” detection