Investigating the Social Representations of Harmful Code

Authors

DOI:

https://doi.org/10.5753/jserd.2024.3554

Keywords:

Harmful Code, Social Representations

Abstract

Context. Harmful Code denotes code snippets that harm the software quality. Several characteristics can cause this, from characteristics of the source code to external issues. By example, one might associate Harmful Code with the introduction of bugs, architecture degradation, and code that is hard to comprehend. However, there is still a lack of knowledge on which code issues are considered harmful from the perspective of the software developers community. Goal. In this work, we investigate the social representations of Harmful Code among a community of software developers composed of Brazilian postgraduate students and professionals from the industry. Method. We conducted free association tasks with members from this community for characterizing what comes to their minds when they think about Harmful Code. Then, we compiled a set of associations that compose the social representations of Harmful Code. Results. We found that the investigated community strongly associates Harmful Code with a core set of undesirable characteristics of the source code, such as bugs and different types of smells. Based on these findings, we discuss each one of them to try to understand why those characteristics happen. Conclusion. Our study reveals the main characteristics of Harmful Code by a community of developers. Those characteristics can guide researchers on future works to better understand Harmful Code.

Downloads

Download data is not yet available.

References

Abbes, M., Khomh, F., Guéhéneuc, Y. G., and Antoniol, G. (2011). An empirical study of the impact of two antipatterns, Blob and Spaghetti Code, on program comprehension. CSMR, pages 181–190.

Aggarwal, K. K., Singh, Y., and Chhabra, J. K. (2002). An integrated measure of software maintainability. Proceedings of the Annual Reliability and Maintainability Symposium, pages 235–241.

Dany, L., Urdapilleta, I., and Lo Monaco, G. (2015). Free associations and social representations: some reflections on rank-frequency and importance-frequency methods. Quality and Quantity, 49(2):489–507.

de Mello, R., da Costa, J., de Oliveira, B., Ribeiro, M., Fonseca, B., Gheyi, R., Garcia, A., and Tiengo, W. (2021). Decoding confusing code: Social representations among developers. In 2021 2021 IEEE/ACM 13th CHASE, pages 11–20, Los Alamitos, CA, USA. IEEE Computer Society.

De Mello, R., Oizumi, W., Uchôa, A., Souza, J., Oliveira, R., Fonseca, B., Oliveira, D., and Garcia, A. (2019). Investigating the social representations of the identification of code smells by practitioners and students from Brazil. ACM International Conference Proceeding Series, pages 457–466.

de Mello, R., Oliveira, R., Uchoa, A., Oizumi, W., Garcia, A., Fonseca, B., and de Mello, F. (2022). Recommendations for developers identifying code smells. IEEE Software, (01):2–10.

de Mello, R., Uchôa, A., Oliveira, R., Oizumi, W., Souza, J., Mendes, K., Oliveira, D., Fonseca, B., and Garcia, A. (2019a). Do research and practice of code smell identification walk together? a social representations analysis. In 2019 ACM/IEEE ESEM, pages 1–6. IEEE.

de Mello, R., Uchôa, A., Oliveira, R., Oizumi, W., Souza, J., Mendes, K., Oliveira, D., Fonseca, B., and Garcia, A. (2019b). Do research and practice of code smell identification walk together? a social representations analysis.

de Mello, R., Uchôa, A., Oliveira, R., Oliveira, D., Fonseca, B., Garcia, A., and Mello, F. (2019c). Investigating the social representations of code smell identification: A preliminary study.

de Mello, R. M., Uchoa, A. G., Oliveira, R. F., de Oliveira, D. T. M., Fonseca, B., Garcia, A. F., and de Mello, F. d. B. (2019d). Investigating the social representations of code smell identification: a preliminary study. In 2019 IEEE/ACM 12th CHASE, pages 53–60. IEEE.

Fairley, R. and Willshire, M. (2005). Iterative rework: the good, the bad, and the ugly. Computer, 38(9):34–41.

Fakhoury, S., Ma, Y., Arnaoudova, V., and Adesope, O. (2018). The effect of poor source code lexicon and readability on developers’ cognitive load. Proceedings - ICSE, pages 286–296.

Ferrara, M. and Friant, N. (2016). The application of a multi-methodology approach to a corpus of social representations. Quality and Quantity, 50(3):1253–1271.

Lavallée, M. and Robillard, P. N. (2015). Why good developers write bad code: An observational case study of the impacts of organizational factors on software quality. Proceedings - International Conference on Software Engineering, 1(May):677–687.

Lima, R., Souza, J., Fonseca, B., Teixeira, L., Gheyi, R., Ribeiro, M., Garcia, A., and de Mello, R. (2020). Understanding and detecting harmful code. In SBES, SBES ’20, page 223–232, New York, NY, USA. Association for Computing Machinery.

Lo Monaco, G., Piermattéo, A., Rateau, P., and Tavani, J. L. (2017). Methods for studying the structure of social representations: A critical review and agenda for future research. Journal for the Theory of Social Behaviour.

Maloletko, A. (2018). HOW DOES THE RUSSIAN YOUTH PERCEIVE CORRUPTION. (March):2018.

Mello, R. d., Oliveira, R., Ucha, A., Oizumi, W., Garcia, A., Fonseca, B., and Mello, F. d. (2023). Recommendations for Developers Identifying Code Smells. IEEE Software, 40(2):90–98.

Morant, N. (2006). Social representations and professional knowledge: The representation of mental illness among mental health practitioners. The British journal of social psychology / the British Psychological Society, 45:817–38.

Morozoff, E. (2010). Using a line of code metric to understand software rework. IEEE Software, 27(1):72– 77.

Moscovici, S. (1988a). Notes towards a description of social representations. European Journal of Social Psychology, 18:211 – 250.

Moscovici, S. (1988b). Notes towards a description of social representations. European Journal of Social Psychology, 18:211 – 250.

Olbrich, S. M., Cruzes, D. S., and Sjoøberg, D. I. (2010). Are all code smells harmful? A study of God Classes and Brain Classes in the evolution of three open source systems. ICSM.

Palomba, F., Bavota, G., Di Penta, M., Oliveto, R., and De Lucia, A. (2014). Do they really smell bad? A study on developers’ perception of bad code smells. ICSME 2014, pages 101–110.

Potter, B. and McGraw, G. (2004). Software security testing. IEEE Security and Privacy, 2(5):81–85.

Pozzi, M., Fattori, F., Bocchiaro, P., and Alfieri, S. (2014). Do the right thing! a study on social representation of obedience and disobedience. New Ideas in Psychology, 35:18 – 27.

Räty, H., Komulainen, K., and Hirva, L. (2012). Social representations of educability in finland: 20 years of continuity and change. Social Psychology of Education, 15.

Sae-Lim, N., Hayashi, S., and Saeki, M. (2017). How do developers select and prioritize code smells? A preliminary study. ICSME 2017.

Sarkar, S., Ramachandran, S., Kumar, G. S., Iyengar, M. K., Rangarajan, K., and Sivagnanam, S. (2009). Modularization of a large-scale business application: A case study. IEEE Software, 26(2):28–35.

Souza, J., Lima, R., Fonseca, B., Cartaxo, B., Ribeiro, M., Pinto, G., Gheyi, R., and Garcia, A. (2022). Developers’ viewpoints to avoid bug-introducing changes. IST, 143:106766.

Story, J. — The impact of low-quality code — ten10.com. [link]. [Accessed 28-01-2024].

Yli-Huumo, J., Maglyas, A., and Smolander, K. (2015). The benefits and consequences of workarounds in software development projects. Lecture Notes in Business Information Processing, 210:1–16.

Downloads

Published

2024-04-10

How to Cite

Lima, R., Souza, J., Fonseca, B., Teixeira, L., Mello, R., Ribeiro, M., Gheyi, R., & Garcia, A. (2024). Investigating the Social Representations of Harmful Code. Journal of Software Engineering Research and Development, 12(1), 4:1 – 4:9. https://doi.org/10.5753/jserd.2024.3554

Issue

Section

Research Article