Tackling Knowledge Needs during Software Evolution

Research output: Chapter in Book/Report/Conference proceedingConference contributionAcademicpeer-review

3 Citations (Scopus)

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 languageEnglish
Title of host publicationJoint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE)
PublisherAssociation for Computing Machinery, Inc
Pages1244-1246
Number of pages3
DOIs
Publication statusPublished - 2019

Bibliographical note

DBLP License: DBLP's bibliographic metadata records provided through http://dblp.org/ are distributed under a Creative Commons CC0 1.0 Universal Public Domain Dedication. Although the bibliographic metadata records are provided consistent with CC0 1.0 Dedication, the content described by the metadata records is not. Content may be subject to copyright, rights of privacy, rights of publicity and other restrictions.

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