Definitions of a Smell

Many authors have defined smells from their perspective. This page attempts to provide a consolidated list of such definitions.


  1. M. Fowler, “Refactoring: Improving the Design of Existing Code”. Addison-Wesley, 1999.
  2. AE. van Emden and L. Moonen, "Assuring software quality by code smell detection," 2012 19th Working Conference on Reverse Engineering, Kingston, ON, 2012.
  3. Moha, N., & Guéhéneuc, Y.-G. (2007). Decor: a tool for the detection of design defects (pp. 527–528). Presented at the ASE '07: Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering, New York, USA: ACM.
  4. J. Garcia, D. Popescu, G. Edwards, N. Medvidovic, “Toward a Catalogue of Architectural Bad Smells”. QoSA 2009, pp. 146-162.
  5. Pérez, J., & Crespo, Y. (2009). Perspectives on automated correction of bad smells (pp. 99–108). Presented at the the joint international and annual ERCIM workshops, New York, New York, USA: ACM Press.
  6. Moha, N., Guéhéneuc, Y.-G., Duchien, L., & Le Meur, A.-F. (2010). DECOR: A Method for the Specification and Detection of Code and Design Smells. IEEE Transactions of Software Eng., 36(1), 20–36.
  7. Khomh, F., Vaucher, S., Guéhéneuc, Y.-G., & Sahraoui, H. (2011). BDTEX: A GQM-based Bayesian approach for the detection of antipatterns. Journal of Systems and Software (Vol. 84, pp. 559–572)
  8. Fourati, R., Bouassida, N., & Abdallah, H. B. (2011). A Metric-Based Approach for Anti-pattern Detection in UML Designs. In Computer and Information Science 2011 (Vol. 364, pp. 17–33). Berlin, Heidelberg: Springer Berlin Heidelberg.
  9. Peters, R., & Zaidman, A. (2012). Evaluating the Lifespan of Code Smells using Software Repository Mining (pp. 411–416). Presented at the 2012 16th European Conference on Software Maintenance and Reengineering (CSMR), IEEE.
  10. Roussey, C., Corcho, O., Svab-Zamazal, O., Scharffe, F., & Bernard, S. (2012). SPARQL-DL queries for antipattern detection (Vol. 929, pp. 85–96). Presented at the WOP'12: Proceedings of the 3rd International Conference on Ontology Patterns - Volume 929,
  11. Maiga, A., Ali, N., Bhattacharya, N., Sabané, A., Guéhéneuc, Y.-G., Antoniol, G., & Aïmeur, E. (2012). Support vector machines for anti-pattern detection (pp. 278–281). Presented at the ASE 2012: Proceedings of the 27th IEEE/ACM International Conference on Automated Software Engineering, New York, New York, USA: ACM.
  12. Jaafar, F., Guéhéneuc, Y.-G., Hamel, S., & Khomh, F. (2013). Mining the relationship between anti-patterns dependencies and fault-proneness (pp. 351–360). Presented at the Proceedings - Working Conference on Reverse Engineering, WCRE, IEEE.
  13. Arnaoudova, V., Di Penta, M., Antoniol, G., & Guéhéneuc, Y.-G. (2013). A New Family of Software Anti-patterns: Linguistic Anti-patterns (pp. 187–196). Presented at the CSMR '13: Proceedings of the 2013 17th European Conference on Software Maintenance and Reengineering, IEEE Computer Society.
  14. G. Suryanarayana, G. Samarthyam, T. Sharma, “Refactoring for Software Design Smells: Managing Technical Debt”. Morgan Kaufmann, 2014.
  15. Yamashita, A. (2014). Assessing the capability of code smells to explain maintenance problems: an empirical study combining quantitative and qualitative data. Empirical Software Engineering, 19(4), 1111–1143.
  16. Cortellessa, V., Di Marco, A., & Trubiani, C. (2014). An approach for modeling and detecting software performance antipatterns based on first-order logics. Software and Systems Modeling (SoSyM), 13(1), 391–432.
  17. Sharma, V. S., & Anwer, S. (2014). Performance antipatterns: Detection and evaluation of their effects in the cloud (pp. 758–765). Presented at the Proceedings - 2014 IEEE International Conference on Services Computing, SCC 2014, IEEE.
  18. Khan, Y. A., & El-Attar, M. (2016). Using model transformation to refactor use case models based on antipatterns. Information Systems Frontiers, 18(1), 171–204.
  19. da Silva Sousa, L. (2016). Spotting design problems with smell agglomerations (pp. 863–866). Presented at the ICSE '16: Proceedings of the 38th International Conference on Software Engineering Companion, New York, New York, USA: ACM.
  20. T. Sharma, M. Fragkoulis, D. Spinellis, “Does Your Configuration Code Smell?”. MSR 2016, pp. 189–200.


All rights reserved (c) Tushar Sharma 2017-21.