| The software ecosystem plays an important role in the collaborative development of open source software.But as the software ecosystem develops,its internal structure that consists of software and software stakeholders becomes more and more complex.The complexity presents a challenge to deeply observe and understand the software ecosystem.However,deeply observing and understanding the software ecosystem are the premises of the better management and construction of the software ecosystem.In this thesis,the most popular and largest Maven ecosystem is chosen as the research object,and observe and understand the software ecosystem from the perspective of the software and software stakeholders.First,this thesis conducts a study of the software ecosystem based on the software artifact dependencies.From the perspective of software,the software artifact dependency network is used to proceed the exploratory observation and research on the evolution of the entire Maven ecosystem.Divers metrics are defined to measure the states of the Maven ecosystem,including the size of the ecosystem,the complexity of dependencies between artifacts,and the distribution imbalance in the ecosystem.It is found that the scale of the Maven ecosystem is massive and rapidly expanding,and the complexity of dependencies and distribution are being intensified.Internal pressure on the Maven ecosystem is building up.In addition,a method is proposed to identify influential artifacts as core artifacts in the Maven ecosystem by analyzing dependencies.After the verification,we found that these core artifacts are increasingly influential in the Maven ecosystem.We also extracted relevant factors that promote becoming the core artifacts.According to these observations,we can understand the evolution of the Maven ecosystem from multiple aspects,which is conducive to preventing the Maven ecosystem from the systemic risks and clarifying the direction of promoting the development of the Maven ecosystem.Secondly,this thesis conducts a study of the software ecosystem based on the developers social relationships.From the perspective of software stakeholders,a mutual developer social network is constructed as a carrier to characterize developers social relationships for studying the influence of developers social relationships on software development and maintenance.This thesis proposes a method to construct a mutual developer social network using the comments data among software project developers,and construct a mutual developer social network for the representative HADOOP project in the Maven ecosystem.Network features can be used to express the developers social relationships.By verifying the correlation between network features and software development and maintenance metrics,the influence of developers social relationships on software development and maintenance is confirmed and measured,including four aspects of productivity,project delay,rework and collaboration.Also,the correlation results are qualitatively analyzed.The results show that developers social relationships pose various influences on software development and maintenance.The research on social factors in software engineering is further clarified. |