Login | Register

Impact of Linguistic Anti-patterns on Program Comprehension

Title:

Impact of Linguistic Anti-patterns on Program Comprehension

Sanei, Farideh (2024) Impact of Linguistic Anti-patterns on Program Comprehension. Masters thesis, Concordia University.

[thumbnail of Sanei_MASc_F2024.pdf]
Preview
Text (application/pdf)
Sanei_MASc_F2024.pdf - Accepted Version
Available under License Spectrum Terms of Access.
719kB

Abstract

Understanding a software system is a major activity during the maintenance and evolution of the system. Researchers studied how developers understand source code and which factors reduce program comprehension. They reported that shorter identifier names have a negative impact on program comprehension. The use of short identifiers is a symptom of a broader naming problem. Consequently, researchers introduced linguistic anti-patterns (LAs) to describe bad practices in the naming, documentation, and implementation of code entities, which can have a negative impact on program comprehension. In this study, we make the hypothesis that LAs have a small impact on program comprehension because they can be easily recognised by developers. To test our hypothesis, we conducted an empirical study to investigate whether the occurrences of LAs do indeed affect code comprehension by asking participants to perform comprehension tasks on code containing or not occurrences of LAs, with and without prior knowledge of LAs. We also examined whether participants could recognise LAs by identifying them in various code snippets and assessed the ease of LA recognition with and without prior knowledge. We also evaluate the impact of knowledge of LA on program comprehension and LA recognition. We measured participants’ performance (1) in comprehension tasks using the correctness of their answers, time spent, and perceived effort and (2) in recognition tasks also using correctness. Our findings indicate that, while LAs do impact program comprehension, this impact is small or negligible because LAs are recognised by developers. They also show that learning about LAs can mitigate their negative impact by improving their recognition rates. We thus conclude with the possible negative result that linguistic antipatterns may not actually function as antipatterns, given their minimal impact on program comprehension.

Divisions:Concordia University > Gina Cody School of Engineering and Computer Science > Computer Science and Software Engineering
Item Type:Thesis (Masters)
Authors:Sanei, Farideh
Institution:Concordia University
Degree Name:M.A. Sc.
Program:Software Engineering
Date:7 August 2024
Thesis Supervisor(s):Guéhéneuc, Yann-Gaël
ID Code:994180
Deposited By: Farideh Sanei
Deposited On:24 Oct 2024 18:39
Last Modified:24 Oct 2024 18:39
All items in Spectrum are protected by copyright, with all rights reserved. The use of items is governed by Spectrum's terms of access.

Repository Staff Only: item control page

Downloads per month over past year

Research related to the current document (at the CORE website)
- Research related to the current document (at the CORE website)
Back to top Back to top