Recording concerns in source code using annotations |
| |
Affiliation: | 1. University of Alabama, Tuscaloosa, Alabama, USA;2. University of Montreal, Montreal, Canada;1. Department of Computer Engineering and Information Technology, Amirkabir University of Technology (Tehran Polytechnic), P.O. Box: 15875-4413, Tehran, Iran;2. School of Computer Science, Institute for Research in Fundamental Sciences (IPM), P.O. Box: 19395-5746, Tehran, Iran;1. Universitat Oberta de Catalunya, Spain;2. ICREA, Spain;3. Universitat Politècnica de Catalunya, Spain;1. Roskilde University, Denmark;2. IMDEA Software Institute, Madrid, Spain |
| |
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. |
| |
Keywords: | Program comprehension Concerns Source code annotations Empirical studies |
本文献已被 ScienceDirect 等数据库收录! |
|