Your browser does not support JavaScript!
http://iet.metastore.ingenta.com
1887

access icon free Multi-view city-based approach for code-smell evolution visualisation

Code smells are indicators of inappropriate and possibly harmful design decisions that could lead to issues in the comprehensibility and maintainability of software systems. To avoid such quality complications, understanding the presence and prioritising the removal of code smells are required. This study presents a visualisation approach to help better understanding the evolutional characteristics of code smells presented in the different versions of the software system. The core of the visualisation approach is the metaphor of buildings and building blocks. An overall framework for detecting, categorising and visualising code smells is proposed. Three types of code smells were considered in this study. The considered code smells are God Class, Long Method and Type Checking. The applicability of the proposed approach is demonstrated by evaluating several versions of an open-source java software and visualising the detected code smells. Additionally, a pilot experimental study is conducted to empirically assure the usefulness of the proposed visualisations.

References

    1. 1)
      • 10. Ouni, A., Kessentini, M., Sahraoui, H., et al: ‘Improving multi-objective code-smells correction using development history’, J. Syst. Softw., 2015, 105, pp. 1839.
    2. 2)
      • 2. Chatzigeorgiou, A., Manakos, A.: ‘Investigating the evolution of bad smells in object-oriented code’. 2010 Seventh Int. Conf. on the Quality of Information and Communications Technology, Porto, Portugal, 2010, pp. 106115.
    3. 3)
      • 18. Parnin, C., Görg, C., Nnadi, O.: ‘A catalogue of lightweight visualizations to support code smell inspection’. Proc. of the 4th ACM Symp. on Software Visualization, Ammersee, Germany, 2008, pp. 7786.
    4. 4)
      • 25. ‘Checkstyle 8.27.’ Available at: https://checkstyle.sourceforge.io/.
    5. 5)
      • 22. Fokaefs, M., Tsantalis, N., Stroulia, E., et al: ‘Jdeodorant: identification and application of extract class refactorings’. 2011 33rd Int. Conf. on Software Engineering (ICSE), Honolulu, HI, USA, 2011, pp. 10371039.
    6. 6)
      • 17. Murphy-Hill, E., Black, A.P.: ‘An interactive ambient visualization for code smells’. Proc. of the 5th Int. Symp. on Software Visualization, Salt Lake City, Utah, USA, 2010, pp. 514.
    7. 7)
      • 19. de Jesus Silva, I., Santos, M.S.R., Ramos, L.L., et al: ‘Vismells: an interactive visualization for identifying and evaluating the effects of code smells on software projects’. 2018 XLIV Latin American Computer Conf. (CLEI), São Paulo, Brazil, Brazil, 2018, pp. 4049.
    8. 8)
      • 4. Lozano, A., Mens, K., Portugal, J.: ‘Analyzing code evolution to uncover relations’, 2015 IEEE 2nd Int. Workshop on Patterns Promotion and Anti-patterns Prevention (PPAP), Montreal, QC, Canada, 2015, pp. 14.
    9. 9)
      • 30. ‘Visually explore, understand, and present data.’ Available at: https://www.sanddance.ms/.
    10. 10)
      • 24. Vidal, S., Vazquez, H., Diaz-Pace, J.A., et al: ‘Jspirit: a flexible tool for the analysis of code smells’. 2015 34th Int. Conf. of the Chilean Computer Science Society (SCCC), Santiago, Chile, 2015, pp. 16.
    11. 11)
    12. 12)
      • 16. Conceição, C.F.R., Carneiro, G.D.F., Brito E Abreu, F.: ‘Streamlining code smells: using collective intelligence and visualization’. Proc. - 2014 9th Int. Conf. on the Quality of Information and Communications Technology, QUATIC 2014, Guimaraes, Portugal, December 2014, pp. 306311.
    13. 13)
      • 1. de Paulo Sobrinho, E.V., De Lucia, A., de Almeida Maia, M.: ‘A systematic literature review on bad smells – 5 w's: which, when, what, who, where’, IEEE Trans. Softw. Eng., 2018, pp. 158.
    14. 14)
      • 14. Hammad, M., Alsofriya, S.: ‘Visualizing code bad smells’, Int. J. Adv. Comput. Sci. Appl., 2019, 10, (5), pp. 281286.
    15. 15)
      • 6. Rani, A., Chhabra, J.K.: ‘Evolution of code smells over multiple versions of software: an empirical investigation’. 2017 2nd Int. Conf. for Convergence in Technology, I2CT 2017, Mumbai, India, December 2017, vol. 2017, pp. 10931098.
    16. 16)
      • 32. ‘SandDance for VSCode.’ Available at: https://marketplace.visualstudio.com/items?itemName=msrvida.vscode-sanddance.
    17. 17)
      • 11. Mumtaz, H., Beck, F., Weiskopf, D.: ‘Detecting bad smells in software systems with linked multivariate visualizations’. 2018 IEEE Working Conf. on Software Visualization (VISSOFT), Madrid, Spain, 2018, pp. 1220.
    18. 18)
      • 12. Steinbeck, M.: ‘An arc-based approach for visualization of code smells’, 2017 IEEE 24th Int. Conf. on Software Analysis, Evolution and Reengineering (SANER), Klagenfurt, Austria, 2017, pp. 397401.
    19. 19)
      • 26. Van Emden, E., Moonen, L.: ‘Java quality assurance by detecting code smells’.  Proc. Ninth Working Conf. on Reverse Engineering, 2002, Richmond, VA, USA, 2002, pp. 97106.
    20. 20)
      • 9. Tufano, M., Palomba, F., Bavota, G., et al: ‘When and why your code starts to smell bad’. Proc. - Int. Conf. on Software Engineering, Florence, Italy, August 2015, vol. 1, pp. 403414. Available at: http://ieeexplore.ieee.org/document/7194592/.
    21. 21)
      • 7. Walter, B., Alkhaeir, T.: ‘The relationship between design patterns and code smells: an exploratory study’. Inf. Softw. Technol., 74, (C), 2016, pp. 127142.
    22. 22)
      • 8. Palomba, F., Bavota, G., Di Penta, M., et al: ‘Mining version histories for detecting code smells’, IEEE Trans. Softw. Eng., 2015, 41, (5), pp. 462489.
    23. 23)
      • 21. Marinescu, C., Marinescu, R., Mihancea, P.F., et al: ‘Iplasma: an integrated platform for quality assessment of object-oriented design’, Proceedings of the 21st (IEEE) International Conference on Software Maintenance - Industrial and Tool volume, (ICSM), Budapest, Hungary, 25–30 September 2005, pp. 7780.
    24. 24)
      • 3. Olbrich, S.M., Cruzes, D.S., Sjøberg, D.I.: ‘Are all code smells harmful? a study of god classes and brain classes in the evolution of three open source systems’. 2010 IEEE Int. Conf. on Software Maintenance, Timisoara, Romania, 2010, pp. 110.
    25. 25)
      • 5. Decker, M.J., Newman, C.D., Dragan, N., et al: ‘Which method-stereotype changes are indicators of code smells?'. Proc. - 18th IEEE Int. Working Conf. on Source Code Analysis and Manipulation, SCAM 2018, Madrid, Spain, November 2018, pp. 8291. Available at: https://ieeexplore.ieee.org/document/8530721/.
    26. 26)
      • 23. Tsantalis: ‘tsantalis/jdeodorant’, Sep 2019. Available at: https://github.com/tsantalis/JDeodorant.
    27. 27)
      • 29. Sourceforge.net (2019) Jfreechart. Last accessed 16 December 2019. Available at: https://sourceforge.net/projects/jfreechart/files/3.JCommon/.
    28. 28)
      • 31. Administrator: ‘Sanddance added to powerbi.’ Available at: https://www.i-programmer.info/news/197-data-mining/9585-sanddance-added-to-powerbi.html.
    29. 29)
      • 15. Merino, L., Ghafari, M., Anslow, C., et al: ‘CityVR: gameful software visualization’. Proc. - 2017 IEEE Int. Conf. on Software Maintenance and Evolution, ICSME 2017, Shanghai, China, November 2017, pp. 633637.
    30. 30)
      • 27. Tsantalis, N., Chaikalis, T., Chatzigeorgiou, A.: ‘Jdeodorant: identification and removal of type-checking bad smells’. 2008 12th European Conf. on Software Maintenance and Reengineering, 2008, pp. 329331.
    31. 31)
      • 13. Hammad, M., Rawashdeh, A.: ‘A framework to measure and visualize class coupling’, Int. J. Softw. Eng. Appl., 2014, 8, (4), pp. 137146.
    32. 32)
      • 28. Eclipse Marketplace (2019) Jdeodorant. Last accessed 16 December 2019. Available at: https://marketplace.eclipse.org/content/jdeodorant.
http://iet.metastore.ingenta.com/content/journals/10.1049/iet-sen.2020.0010
Loading

Related content

content/journals/10.1049/iet-sen.2020.0010
pub_keyword,iet_inspecKeyword,pub_concept
6
6
Loading
This is a required field
Please enter a valid email address