arrow
返回

Live software documentation of design pattern instances

delete2024-08-16
delete1
delete
OA
AI
F
Filipe Daniel Figueiredo de Lemos
F
Filipe Figueiredo Correia *
A
Ademar Aguiar
P
Paulo Gabriel Gadelha Queiroz
DOI:10.7717/peerj-cs.2090delete
delete原文链接
delete分享
delete收藏
查看原文
摘要

摘要

En 中文
Background: Approaches to documenting the software patterns of a system can support intentionally and manually documenting them or automatically extracting them from the source code. Some of the approaches that we review do not maintain proximity between code and documentation. Others do not update the documentation after the code is changed. All of them present a low level of liveness. Approach: This work proposes an approach to improve the understandability of a software system by documenting the design patterns it uses. We regard the creation and the documentation of software as part of the same process and attempt to streamline the two activities. We achieve this by increasing the feedback about the pattern instances present in the code, during development-i.e., by increasing liveness. Moreover, our approach maintains proximity between code and documentation and allows us to visualize the pattern instances under the same environment. We developed a prototype-DesignPatternDoc-for IntelliJ IDEA that continuously identifies pattern instances in the code, suggests them to the developer, generates the respective pattern-instance documentation, and enables live editing and visualization of that documentation. Results: To evaluate this approach, we conducted a controlled experiment with 21 novice developers. We asked participants to complete three tasks that involved understanding and evolving small software systems-up to six classes and 100 lines of code-and recorded the duration and the number of context switches. The results show that our approach helps developers spend less time understanding and documenting a software system when compared to using tools with a lower degree of liveness. Additionally, embedding documentation in the IDE and maintaining it close to the source code reduces context switching significantly.
Keyword:
Design patterns
Liveness
Software documentation
AI总结

AI总结

对已上传原文的论文进行重点信息的提取,主要内容包括:简要概述、研究摘要、背景介绍、关键亮点、图文解析、展望与总结。

期刊

PeerJ Computer Science 封面图
PeerJ Computer Science
IF:
2.5
论文数:
3.4K
被引数:
6.9K

机构

I
INESC TEC
学者数:
1.5K
论文数: 1.4K
被引数: 1.7K
U
Universidade do Porto
学者数:
3.0W
论文数: 2.9W
被引数: 34
引用论文

引用论文

GEML: A grammar-based evolutionary machine learning approach for design-pattern detection
err2021-05-01
err10
errOAAI
errBarbudo, Rafael; Ramirez, Aurora; Servant, Francisco; Romero, Jose Raul
err分享
err收藏
err分享
err收藏
Source code and design conformance, design pattern detection from source code by classification approach
err2015-01-01
err46
PREAI
errChihada, Abdullah; Jalili, Saeed; Hasheminejad, Seyed Mohammad Hossein; Zangooei, Mohammad Hossein
err分享
err收藏
Design pattern recovery based on annotations
err2010-04-01
err37
PREAI
errRasool, Ghulam; Philippow, Ilka; Maeder, Patrick
err分享
err收藏
err分享
err收藏
What makes software design effective?
err2010-11-01
err68
errOAAI
errTang, Antony; Aleti, Aldeida; Burge, Janet; van Vliet, Hans
err分享
err收藏
Feature-based software design pattern detection
err2022-03-01
err23
errOAAI
errNazar, Najam; Aleti, Aldeida; Zheng, Yaokun
err分享
err收藏
tools of the trade Code Documentation
err2010-07-01
err16
PREAI
errSpinellis, Diomidis
err分享
err收藏
学者 查看更多内容