Tytuł artykułu
Wybrane pełne teksty z tego czasopisma
Identyfikatory
Warianty tytułu
Języki publikacji
Abstrakty
Code smell is a risky code pattern impacting code maintenance. Some of the code smells are defined by metrics (e.g., lines of code). Unfortunately, it is not clear how to set these thresholds for them. Goal: To propose a smell description language that allows querying code repositories to empirically determine impact of metric thresholds on severity of smells. Method: We propose a language, called McPython, that allows defining metric-based smells. We evaluate the expressiveness of the language by specifying some popular code smells. Results: McPython is a functional domain-specific language that allows defining smells as parameterized logical propositions with auxiliary functions. McPython code is translated to Python and executed on object-oriented representation of a code repository. Its current version is capable of expressing 7 code smells. Conclusion: Despite its limitations, McPython has the potential to help in investigating the impact of code smell parameters on their severity.
Rocznik
Tom
Strony
65--66
Opis fizyczny
Bibliogr. 10 poz., il.
Twórcy
autor
- Poznan University of Technology, Poznań, Poland
autor
- Poznan University of Technology, Poznań, Poland
autor
- Poznan University of Technology, Poznań, Poland
autor
- Poznan University of Technology, Poznań, Poland
Bibliografia
- [1] S. M. Olbrich, D. S. Cruzes, and D. I. Sjøberg, “Are all code smells harmful? a study of god classes and brain classes in the evolution of three open source systems,” in 2010 IEEE International Conference on Software Maintenance, 2010, pp. 1–10.
- [2] Ł. Puławski, “Improvement of design anti-pattern detection with spatiotemporal rules in the software development process,” in 2022 17th Conference on Computer Science and Intelligence Systems (FedCSIS). IEEE, 2022, pp. 521–528.
- [3] Łukasz Puławski, “Methods of detecting spatio-temporal patterns in software development processes,” Ph.D. dissertation, University of Warsaw, 2022. [Online]. Available: https://ornak.icm.edu.pl/bitstream/handle/item/4533/0000-DR-1827-praca.pdf?sequence=1
- [4] T. Sharma, G. Suryanarayana, and G. Samarthyam, “Challenges to and solutions for refactoring adoption: An industrial perspective,” IEEE Software, vol. 32, no. 6, pp. 44–51, 2015.
- [5] T. Lewowski and L. Madeyski, “How far are we from reproducible research on code smell detection? a systematic literature review,” Information and Software Technology, vol. 144, p. 106783, 2022. [Online]. Available: https://www.sciencedirect.com/science/article/pii/S095058492100224X
- [6] J. Sliwerski, T. Zimmermann, and A. Zeller, “When do changes induce fixes?” SIGSOFT Softw. Eng. Notes, vol. 30, no. 4, p. 1–5, may 2005. [Online]. Available: https://doi.org/10.1145/1082983.1083147
- [7] J. R. Quinlan, C4.5: Programs for Machine Learning. San Francisco, CA, USA: Morgan Kaufmann Publishers Inc., 1993.
- [8] “Weka 3: Machine learning software in java,” https://www.cs.waikato.ac.nz/ml/weka/.
- [9] Z. Pawlak, J. Grzymala-Busse, R. Slowinski, and W. Ziarko, “Rough sets,” Commun. ACM, vol. 38, no. 11, p. 88–95, nov 1995. [Online]. Available: https://doi.org/10.1145/219717.219791
- [10] D. Strein, R. Lincke, J. Lundberg, and W. L¨owe, “An extensible metamodel for program analysis,” IEEE Transactions on Software Engineering, vol. 33, no. 9, pp. 592–607, 2007.
Uwagi
1. Main Track Invited Contributions
2. Opracowanie rekordu ze środków MEiN, umowa nr SONP/SP/546092/2022 w ramach programu "Społeczna odpowiedzialność nauki" - moduł: Popularyzacja nauki i promocja sportu (2024).
Typ dokumentu
Bibliografia
Identyfikator YADDA
bwmeta1.element.baztech-08ba3630-c5c8-4a5c-b3ef-aeb2911da963