Recording concerns in source code using annotations. (November 2016)
- Record Type:
- Journal Article
- Title:
- Recording concerns in source code using annotations. (November 2016)
- Main Title:
- Recording concerns in source code using annotations
- Authors:
- Sulír, Matúš
Nosáľ, Milan
Porubän, Jaroslav - Abstract:
- Abstract: A concern can be characterized as a developer׳s intent behind a piece of code, often not explicitly captured in it. We discuss a technique of recording concerns using source code annotations (concern annotations). Using two studies and two controlled experiments, we seek to answer the following 3 research questions: (1) Do programmers׳ mental models overlap? (2) How do developers use shared concern annotations when they are available? (3) Does using annotations created by others improve program comprehension and maintenance correctness, time and confidence? The first study shows that developers׳ mental models, recorded using concern annotations, overlap and thus can be shared. The second study shows that shared concern annotations can be used during program comprehension for the following purposes: hypotheses confirmation, feature location, obtaining new knowledge, finding relationships and maintenance notes. The first controlled experiment with students showed that the presence of annotations significantly reduced program comprehension and maintenance time by 34%. The second controlled experiment was a differentiated replication of the first one, focused on industrial developers. It showed a 33% significant improvement in correctness. We conclude that concern annotations are a viable way to share developers׳ thoughts. Abstract : Highlights: We present a technique to record developers׳ concerns using source code annotations. To evaluate it, we performed two studiesAbstract: A concern can be characterized as a developer׳s intent behind a piece of code, often not explicitly captured in it. We discuss a technique of recording concerns using source code annotations (concern annotations). Using two studies and two controlled experiments, we seek to answer the following 3 research questions: (1) Do programmers׳ mental models overlap? (2) How do developers use shared concern annotations when they are available? (3) Does using annotations created by others improve program comprehension and maintenance correctness, time and confidence? The first study shows that developers׳ mental models, recorded using concern annotations, overlap and thus can be shared. The second study shows that shared concern annotations can be used during program comprehension for the following purposes: hypotheses confirmation, feature location, obtaining new knowledge, finding relationships and maintenance notes. The first controlled experiment with students showed that the presence of annotations significantly reduced program comprehension and maintenance time by 34%. The second controlled experiment was a differentiated replication of the first one, focused on industrial developers. It showed a 33% significant improvement in correctness. We conclude that concern annotations are a viable way to share developers׳ thoughts. Abstract : Highlights: We present a technique to record developers׳ concerns using source code annotations. To evaluate it, we performed two studies and two controlled experiments. Developers׳ mental models, recorded using annotations, overlap to a certain degree. Developers use the annotations, e.g., to confirm hypotheses or for feature location. Shared concern annotations improve program maintenance time and correctness. … (more)
- Is Part Of:
- Computer languages, systems & structures. Volume 46(2016)
- Journal:
- Computer languages, systems & structures
- Issue:
- Volume 46(2016)
- Issue Display:
- Volume 46, Issue 2016 (2016)
- Year:
- 2016
- Volume:
- 46
- Issue:
- 2016
- Issue Sort Value:
- 2016-0046-2016-0000
- Page Start:
- 44
- Page End:
- 65
- Publication Date:
- 2016-11
- Subjects:
- Program comprehension -- Concerns -- Source code annotations -- Empirical studies
Programming languages (Electronic computers) -- Periodicals
Computer networks -- Periodicals
Computer architecture -- Periodicals
Computer systems -- Periodicals
Langage de programmation
Réseau d'ordinateurs
Architecture d'ordinateur
Périodique électronique (Descripteur de forme)
Ressource Internet (Descripteur de forme)
005.13 - Journal URLs:
- http://www.sciencedirect.com/science/journal/14778424/40 ↗
http://www.elsevier.com/journals ↗ - DOI:
- 10.1016/j.cl.2016.07.003 ↗
- Languages:
- English
- ISSNs:
- 1477-8424
- Deposit Type:
- Legaldeposit
- View Content:
- Available online (eLD content is only available in our Reading Rooms) ↗
- Physical Locations:
- British Library DSC - 3394.071000
British Library DSC - BLDSS-3PM
British Library STI - ELD Digital store - Ingest File:
- 1630.xml