To What Extent Cognitive-Driven Development Improves Code Readability?
Leonardo Barbosa, Victor Hugo Santiago, Alberto Luiz Oliveira, Tavares de Souza, Gustavo Pinto

TL;DR
This study evaluates whether Cognitive-Driven Development (CDD) enhances code readability by combining developer perceptions and readability models, revealing mixed results and suggesting CDD's potential benefits for software design.
Contribution
It provides an empirical assessment of CDD's impact on code readability through developer surveys and readability models, an area previously lacking concrete evidence.
Findings
Developers favored 7 out of 10 CDD refactorings for readability.
State-of-the-art readability models only favored 1 CDD refactoring.
Mixed results indicate CDD may improve perceived readability but not always measurable readability.
Abstract
Cognitive-Driven Development (CDD) is a coding design technique that aims to reduce the cognitive effort that developers place in understanding a given code unit (e.g., a class). By following CDD design practices, it is expected that the coding units to be smaller, and, thus, easier to maintain and evolve. However, it is so far unknown whether these smaller code units coded using CDD standards are, indeed, easier to understand. In this work we aim to assess to what CDD improves code readability. To achieve this goal, we conducted a two-phase study. We start by inviting professional software developers to vote (and justify their rationale) on the most readable pair of code snippets (from a set of 10 pairs); one of the pairs was coded using CDD practices. We received 133 answers. In the second phase, we applied the state-of-the art readability model on the 10-pairs of CDD-guided…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Engineering Research · Software Engineering Techniques and Practices · Open Source Software Innovations
