一句话:提出持续管理软件意图及其满足情况,以改进变更推理、避免误解并减少事后分析。
软件工程中的意图通常仅通过需求、用例、特性或 issue 等抽象隐式体现,开发者据此开发和演化系统。但这些抽象在表示利益相关者意图上存在固有限制,且多用于文档化,导致变更是否满足其底层意图成为实践难题。本文反思意图(以变更表示)在软件工程中的作用,主张持续管理与控制意图及其满足情况,讨论不同抽象与意图的关系,并提出管理意图的步骤。作者认为,这有助于推理利益相关者请求是否被处理、避免误解,并减少昂贵的事后分析。
Intentions are fundamental in software engineering, but they are typically only implicitly considered through different abstractions, such as requirements, use cases, features, or issues. Specifically, software engineers develop and evolve (i.e., change) a software system based on such abstractions of a stakeholder’s intention—something a stakeholder wants the system to be able to do. Unfortunately, existing abstractions are (inherently) limited when it comes to representing stakeholder intentions and are mostly used for documenting only. So, whether a change in a system fulfills its underlying intention (and only this one) is an essential problem in practice that motivates many research areas (e.g., testing to ensure intended behavior, untangling intentions in commits). We argue that none of the existing abstractions is ideal for capturing intentions and controlling software evolution, which is why intentions are often vague and must be recovered, untangled, or understood in retrospect. In this paper, we reflect on the role of intentions (represented by changes) in software engineering and sketch how improving their management may support developers. Particularly, we argue that continuously managing and controlling intentions as well as their fulfillment has the potential to improve the reasoning about which stakeholder requests have been addressed, avoid misunderstandings, and prevent expensive retrospective analyses. To guide future research for achieving such benefits for researchers and practitioners, we discuss the relationships between different abstractions and intentions, and propose steps towards managing intentions.
@inproceedings{KrugerL0CBR23,
title = {A Vision on Intentions in Software Engineering},
author = {Jacob Krüger and Yi Li and Chenguang Zhu and Marsha Chechik and Thorsten Berger and Julia Rubin},
booktitle = {FSE},
year = {2023},
doi = {10.1145/3611643.3613087}
}