Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Linguistic Anti-patterns Impact Program Comprehension
1. Linguistic Anti-patterns
Impact of LAs on program comprehension
Zeinab Kermansaravi, Foutse Khomh, Yann-Gaël Guéhéneuc
Zeinab.kermansaravi@polymtl.ca, Foutse.khomh@polymtl.ca, yann-gael.gueheneuc@concordia.ca
1. Motivation 2. Research Questions
4. Study Design
5. Study Results
- x
- x
- x
Program Comprehension is one of the major activities in
software maintenance [1].
Linguistic anti-patterns (LAs) are bad practices in naming,
documentation, and implementation of an entity [2].
Definition
Problem
Investigating whether the occurrences of LAs in the source
code make the program understandability and maintenance
difficult.
Studying the impact of different types of LA on the
understandability.
Investigate whether having knowledge about LAs would
improve program comprehension.
We define the following research questions:
(1) What is the impact of an occurrence of the LA on understandability?
(2) Do different types of LAs affect understandability equally?
(3) Does having knowledge about linguistic anti-patterns affect the impact of different
types of them on understandability?
(4) Can knowledge about LAs mitigate the impact of LAs on understandability?
- x
6. Conclusion and Future Work - x
3. Example of LAs - x
Figure 1. An example of A2- “Is returns
more than a Boolean'' (Apache Ant 1.10.1)
Figure 2. An example of B4- “Not answered
question” (ArgoUML 0.34)
(1) LA Detection
Using PMD extension to detect LAs in
studied systems
(4) Studied LAs
A2: ``Is returns more than a Boolean''
A3: ``Set method returns''
B4: ``Not answered question'‘
D1: ``Says one but contains many''.
E1: ``Says many but contains one''
F1: ``Attributes name and type are opposite''
F2: ``Attributes signature and comments are opposite''.
(3) Subjects
92 students from 101 Concordia
University
(2) Studied Systems
Figure 4. Impact of LAs on correctness, Time,
and Effort
RQ1. What is the impact of an occurrence of the LA on understandability?
RQ2. Do different types of LAs affect understandability equally?
RQ3. Does having knowledge about linguistic anti-patterns affect the impact of
different types of them on understandability?
(a) (b)
Figure 5. The most prevalent / least prevalent LAs in the studied systems
Table 2. The impact of different LAs on the correctness and
effort (a. Before) and (b. After) experiments
RQ4. Can knowledge about LAs mitigate the impact of LAs on understandability?
Figure 6. Evaluating the knowledge of LAs
Figure 7. Impact of LA knowledge on understandability
metrics
The impact of independent variables on dependent variables
Table 3. P-Values of the impact of independent variables on dependent variables
LAs negatively impact the understandability.
having knowledge about LAs can help subjects to find the right answers easier and faster.
A2, B4, and D1 have the most negative impact on understandability while E1 also is difficult to detect.
work experience, and having knowledge about LAs, as same as English have the most impact on the
measured variables.
Study other types of LAs.
Improve the detection Tool.
Investigation the occurrences of Las on dynamic program languages.
7. References - x
[1] M. Abbes, F. Khomh, Y.-G. Gueheneuc, and G. Antoniol, “An empirical
study of the impact of two antipatterns, blob and spaghetti code, on
program comprehension,” in Software maintenance and reengineering
(CSMR), 2011 15th European conference on. IEEE, 2011, pp. 181–190.
[2] V. Arnaoudova, M. Di Penta, and G. Antoniol, “Linguistic antipatterns:
What they are and how developers perceive them,” Empirical Software
Engineering, vol. 21, no. 1, pp. 104–158, 2016.
Table 1. Studied Systems
Figure 3. Studied LAs