首页 | 本学科首页   官方微博 | 高级检索  
     


Preserving knowledge in software projects
Authors:Omar Alam  Bram Adams  Ahmed E. Hassan
Affiliation:1. Software Development Department, Turkcell Technology R&D, Maltepe, ?stanbul, Turkeyn;2. Software Engineering Department, Faculty of Engineering, Bahçe?ehir University, Be?iktas, ?stanbul, Turkeyn;1. IT University of Copenhagen, Denmark;2. The University of Adelaide, Australia
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.
Keywords:
本文献已被 ScienceDirect 等数据库收录!
设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号