Preserving knowledge in software projects (bibtex)
by Alam, Omar, Adams, Bram and Hassan, Ahmed E.
Abstract:
Up-to-date preservation of project knowledge like developer communication and design documents is essential for the successful evolution of software systems. Ideally, all knowledge should be preserved, but since projects only have limited resources, and software systems continuously grow in scope and complexity, one needs to prioritize the subsystems and development periods for which knowledge preservation is more urgent. For example, core subsystems on which the majority of other subsystems build are obviously prime candidates for preservation, yet if these subsystems change continuously, picking a development period to start knowledge preservation and to maintain knowledge for over time become very hard. This paper exploits the time dependence between code changes to automatically determine for which subsystems and development periods of a software project knowledge preservation would be most valuable. A case study on two large open source projects (PostgreSQL and FreeBSD) shows that the most valuable subsystems to preserve knowledge for are large core subsystems. However, the majority of these subsystems (1) are continuously foundational, i.e., ideally for each development period knowledge should be preserved, and (2) experience substantial changes, i.e., preserving knowledge requires substantial effort. \textcopyright 2011 Elsevier Inc. All rights reserved.
Reference:
Preserving knowledge in software projects (Alam, Omar, Adams, Bram and Hassan, Ahmed E.), In Journal of Systems and Software, volume 85, 2012.
Bibtex Entry:
@article{Alam20122318,
abstract = {Up-to-date preservation of project knowledge like developer communication and design documents is essential for the successful evolution of software systems. Ideally, all knowledge should be preserved, but since projects only have limited resources, and software systems continuously grow in scope and complexity, one needs to prioritize the subsystems and development periods for which knowledge preservation is more urgent. For example, core subsystems on which the majority of other subsystems build are obviously prime candidates for preservation, yet if these subsystems change continuously, picking a development period to start knowledge preservation and to maintain knowledge for over time become very hard. This paper exploits the time dependence between code changes to automatically determine for which subsystems and development periods of a software project knowledge preservation would be most valuable. A case study on two large open source projects (PostgreSQL and FreeBSD) shows that the most valuable subsystems to preserve knowledge for are large core subsystems. However, the majority of these subsystems (1) are continuously foundational, i.e., ideally for each development period knowledge should be preserved, and (2) experience substantial changes, i.e., preserving knowledge requires substantial effort. {\textcopyright} 2011 Elsevier Inc. All rights reserved.},
author = {Alam, Omar and Adams, Bram and Hassan, Ahmed E.},
doi = {10.1016/j.jss.2012.03.028},
isbn = {5143404711},
issn = {01641212},
journal = {Journal of Systems and Software},
keywords = {Documentation,Empirical analysis,Knowledge preservation,Mining software repositories,Software maintenance,cocome_lit-review},
mendeley-tags = {cocome_lit-review},
number = {10},
pages = {2318--2330},
title = {{Preserving knowledge in software projects}},
url = {http://www.sciencedirect.com/science/article/pii/S0164121212000787},
volume = {85},
year = {2012}
}
Powered by bibtexbrowser