| With the rapid development of the Internet industry,life is more and more convenient.A great of software to improve the quality of life,to bring convenience to people in all aspects,such as Taobao,Meituan,didi checking and so on.However,it also follows that users have higher and higher requirements on the software,and the quality should be guaranteed while meeting the requirements.Therefore,with increasing requirements uncertainty and complex development process constraints,it is a difficult project to develop failure-free and reliable projects,because they are gradually successful in the continuous evolution and maintenance process to adapt to user needs and external environment.Therefore,it is necessary to study the quality and reliability of software code,so many researchers often explore the history of software evolution to analyze the trend of evolution to help developers improve the maintenance efficiency of the software.In recent years,many researchers have analyzed the software evolution process to help with software maintenance,but few have focused on the document level with coupling relationships.Also,we found that in the process of software development,some files are often modified together for some improvement,that is,there are a large number of interdependent files,which have a potential impact on software quality.Although common change analysis has been widely used in differential studies,such as defect prediction,impact analysis,architectural relationship identification,etc.,few studies have described the common change files as a group and modeled the evolution process of these files to represent the maintenance and evolution of the software.This paper is to study the software evolution process based on file coupling information.First surveyed ten open source projects,using the method of static analysis for defect tracking management tool in the Jira every defect report of the project and to establish a library on the Git commit collected in the history of the consolidation,to extract the common change the file modification of information,based on this puts forward the concept of coupling relies on historical information,and on this basis to establish a new model--History Coupling Space(HCSpace).This space connects files that have changed together and demonstrates how these files have been connected and evolved together as a group over the history of software changes.Finally,four representative research questions are investigated to evaluate the effectiveness of the new model in software maintenance,and the regression model is used to effectively show how it evolves in software maintenance based on the characteristics of project evolution.The results show that each HCSpace can be considered as a maintenance unit,and the files involved in each unit are most likely to evolve together and occupy a relatively large portion of the project maintenance effort;These HCSpaces are still evolving with software changes.Therefore,more investigation and monitoring are required for the HCSpaces identified in the project,which will have a significant impact on the maintenance of the project. |