Documenting software systems with views
SIGDOC '92 Proceedings of the 10th annual international conference on Systems documentation
Predicting Fault Incidence Using Software Change History
IEEE Transactions on Software Engineering
Classification and evaluation of defects in a project retrospective
Journal of Systems and Software
Metrics and Laws of Software Evolution - The Nineties View
METRICS '97 Proceedings of the 4th International Symposium on Software Metrics
Structural Manipulations of Software Architecture Using Tarski Relational Algebra
WCRE '98 Proceedings of the Working Conference on Reverse Engineering (WCRE'98)
CVSSearch: Searching through Source Code using CVS Comments
ICSM '01 Proceedings of the IEEE International Conference on Software Maintenance (ICSM'01)
Identifying Reasons for Software Changes Using Historic Databases
ICSM '00 Proceedings of the International Conference on Software Maintenance (ICSM'00)
Evolution in Open Source Software: A Case Study
ICSM '00 Proceedings of the International Conference on Software Maintenance (ICSM'00)
The Chaos of Software Development
IWPSE '03 Proceedings of the 6th International Workshop on Principles of Software Evolution
CVS Release History Data for Detecting Logical Couplings
IWPSE '03 Proceedings of the 6th International Workshop on Principles of Software Evolution
Using Development History Sticky Notes to Understand Software Architecture
IWPC '04 Proceedings of the 12th IEEE International Workshop on Program Comprehension
Use of relative code churn measures to predict system defect density
Proceedings of the 27th international conference on Software engineering
An empirical study of code clone genealogies
Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering
Mining software repositories to assist developers and support managers
Mining software repositories to assist developers and support managers
Maintaining mental models: a study of developer work habits
Proceedings of the 28th international conference on Software engineering
Studying the Evolution of Software Systems Using Change Clusters
ICPC '06 Proceedings of the 14th IEEE International Conference on Program Comprehension
Using Bayesian Belief Networks to Predict Change Propagation in Software Systems
ICPC '07 Proceedings of the 15th IEEE International Conference on Program Comprehension
Improving defect prediction using temporal features and non linear models
Ninth international workshop on Principles of software evolution: in conjunction with the 6th ESEC/FSE joint meeting
Measuring the evolution of open source software systems with their communities
ACM SIGSOFT Software Engineering Notes
Software evolution in open source projects—a large-scale investigation
Journal of Software Maintenance and Evolution: Research and Practice
Automated classification of change messages in open source projects
Proceedings of the 2008 ACM symposium on Applied computing
What is the long-term impact of changes?
Proceedings of the 2008 international workshop on Recommendation systems for software engineering
Evaluating Defect Prediction Models for a Large Evolving Software System
CSMR '09 Proceedings of the 2009 European Conference on Software Maintenance and Reengineering
Improving API documentation usability with knowledge pushing
ICSE '09 Proceedings of the 31st International Conference on Software Engineering
Change impact graphs: Determining the impact of prior codechanges
Information and Software Technology
A Study of the Time Dependence of Code Changes
WCRE '09 Proceedings of the 2009 16th Working Conference on Reverse Engineering
Using information fragments to answer the questions developers ask
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1
Hi-index | 0.00 |
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.