Abstract
Developers use a large amount of their time to understand the system they work on, an activity referred to as program comprehension. Especially software evolution and forgetting over time lead to developers becoming unfamiliar with a system. To support them during program comprehension, we can employ knowledge recovery to reverse engineer implicit information from the system and the platform (e.g., GitHub) it is hosted on. However, to recover useful knowledge and to provide it in a useful way, we first need to understand what knowledge developers forget to what extent, what sources are reliable to recover knowledge, and how to trace knowledge to the features in a system. We tackle these three issues, aiming to provide empirical insights and tooling to support developers during software evolution and maintenance. The results help practitioners, as we support the analysis and understanding of systems, as well as researchers, showing opportunities to automate, for example, reverse-engineering techniques.
| Original language | English |
|---|---|
| Title of host publication | ESEC/FSE 2019: Proceedings of the 2019 27th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering |
| Publisher | Association for Computing Machinery, Inc. |
| Pages | 1244-1246 |
| Number of pages | 3 |
| ISBN (Print) | 978-1-4503-5572-8 |
| DOIs | |
| Publication status | Published - 2019 |
| Externally published | Yes |
Keywords
- Program comprehension
- Feature traceability
- Forgetting
- Memory
- Software maintenance
- Software evolution
Fingerprint
Dive into the research topics of 'Tackling Knowledge Needs during Software Evolution'. Together they form a unique fingerprint.Cite this
- APA
- Author
- BIBTEX
- Harvard
- Standard
- RIS
- Vancouver