Recording Concerns in Source Code Using Annotations

08/10/2018
by   Matúš Sulír, et al.
0

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 first one, focused on industrial developers. It showed a 33 improvement in correctness. We conclude that concern annotations are a viable way to share developers' thoughts.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
07/06/2021

COSPEX: A Program Comprehension Tool for Novice Programmers

Developers often encounter unfamiliar code during software maintenance w...
research
04/18/2023

Developers' Visuo-spatial Mental Model and Program Comprehension

Previous works from research and industry have proposed a spatial repres...
research
08/30/2018

IDE-Independent Program Comprehension Tools via Source File Overwriting

Traditionally, we have two possibilities to design tools for program com...
research
11/16/2021

Understanding How Programmers Can Use Annotations on Documentation

Modern software development requires developers to find and effectively ...
research
03/15/2021

Considerations and Pitfalls in Controlled Experiments on Code Comprehension

Understanding program code is a complicated endeavor. As such, myriad di...
research
12/21/2021

CADV: A software visualization approach for code annotations distribution

Code annotations is a widely used feature in Java systems to configure c...
research
05/27/2020

Using Hypotheses as a Debugging Aid

As developers debug, developers formulate hypotheses about the cause of ...

Please sign up or login with your details

Forgot password? Click here to reset