{"title":"The evolution of source folder structure in actively evolved open source systems","authors":"A. Capiluppi, M. Morisio, J. Fernández-Ramil","doi":"10.1109/METRIC.2004.1357886","DOIUrl":null,"url":null,"abstract":"Predicting when and how a software system evolves is one of the most fascinating challenges of software engineering. No matter what approach one is using to study such evolution, empirical studies, including observations of systems used in the real world, and of their processes, are needed in order to define correlations, find recurring patterns, and eventually predict how systems are likely to evolve. In the empirical study presented in this paper, we take 25 software systems released as open source, and observe their evolution. Our focus is not only on how much systems grow in size, but rather on how code structure is adapted and gets modified over time and releases. The goal here is to recognize recurring patterns and practices used in evolving long-lived real world software systems. In our study we find three dominant patterns of code structure evolution of open source systems: horizontal expansion, vertical expansion, vertical shrinkage By detailed studied of exemplars of these three patterns one can identify under which conditions a particular pattern is more likely to prevail than the others.","PeriodicalId":261807,"journal":{"name":"10th International Symposium on Software Metrics, 2004. Proceedings.","volume":"88 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2004-09-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"31","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"10th International Symposium on Software Metrics, 2004. Proceedings.","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/METRIC.2004.1357886","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 31
Abstract
Predicting when and how a software system evolves is one of the most fascinating challenges of software engineering. No matter what approach one is using to study such evolution, empirical studies, including observations of systems used in the real world, and of their processes, are needed in order to define correlations, find recurring patterns, and eventually predict how systems are likely to evolve. In the empirical study presented in this paper, we take 25 software systems released as open source, and observe their evolution. Our focus is not only on how much systems grow in size, but rather on how code structure is adapted and gets modified over time and releases. The goal here is to recognize recurring patterns and practices used in evolving long-lived real world software systems. In our study we find three dominant patterns of code structure evolution of open source systems: horizontal expansion, vertical expansion, vertical shrinkage By detailed studied of exemplars of these three patterns one can identify under which conditions a particular pattern is more likely to prevail than the others.