Abstract
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.
Original language | English |
---|---|
Title of host publication | ESEC/FSE 2023 |
Subtitle of host publication | Proceedings of the 31st ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering |
Editors | Satish Chandra, Kelly Blincoe, Paolo Tonella |
Publisher | Association for Computing Machinery, Inc |
Pages | 2117-2121 |
Number of pages | 5 |
ISBN (Electronic) | 979-8-4007-0327-0 |
DOIs | |
Publication status | Published - 30 Nov 2023 |
Event | 31st ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering, ESEC/FSE 2023 - San Francisco, United States Duration: 3 Dec 2023 → 9 Dec 2023 |
Conference
Conference | 31st ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering, ESEC/FSE 2023 |
---|---|
Abbreviated title | ESEC/FSE 2023 |
Country/Territory | United States |
City | San Francisco |
Period | 3/12/23 → 9/12/23 |
Keywords
- Software evolution
- Intention
- Quality assurance
- quality assurance
- intention
- software evolution