Font Size: a A A

Evolution And Architecture Of Open Source Software Collections: A Study Of Debian

Posted on:2018-08-26Degree:MasterType:Thesis
Country:ChinaCandidate:Y WangFull Text:PDF
GTID:2348330512999902Subject:Computer technology
Abstract/Summary:PDF Full Text Request
Software has been studied at a variety of granularities.Code,classes,groups of classes,programs and finally large scale applications have been examined in detail.What lies beyond is the study of software collections that group together many individual applications.Collecting software and distributing it via a central repository has been popular for a while in the open source world,and only recently caught on commercially with Apples Mac app store and Microsofts Windows store.In many of these software collections,there is normally a complex process that must be followed in order to fully integrate new applications into the system.Moreover,in the case of open source software collections,applications frequently rely on each other for functionality and their interactions can be complex.We know that there are thousands of applications in these software collections that people depend on worldwide,but research in this area has been limited compared to other areas and granularities of software.In this thesis,we explore the evolution and architecture of a large open source software collections by using Debian as a case study.Debian is a software collection based off the Linux kernel with a large number of packages spread over multiple hardware platforms.Each package provides a particular service or application and is actively maintained by one or more developers.This thesis investigates how these packages evolve through time and their interactions with one another.A subset of Debian developers are in an administrative role and make decisions regarding policies and procedures.They could review our observations to see if they are in line with their vision for Debian.The data provided in this study is substantial and can it provide a springboard for many other research topics.There are a number of questions researchers can try to answer after learning about the information presented in this study.The dependencies within Debian are extensive,which makes for an interesting architecture,but they are complex to analyze.This thesis provides a close look at the layered pattern.This pattern categorizes each package into one of five layers based on how they are used.These layers may also be visualized to give a concise view of how an application is structured.Using these views,we define five architectural subpatterns and anti-subpatterns which can aid developers in creating and maintaining packages.
Keywords/Search Tags:Debian, Evolution, package, subpatterns, anti-subpatterns
PDF Full Text Request
Related items