Font Size: a A A

Analysis Of Assumptions And Their Related Artifacts In Open Source Software Development

Posted on:2020-10-26Degree:MasterType:Thesis
Country:ChinaCandidate:Z XiongFull Text:PDF
GTID:2518305897970789Subject:Computer software and theory
Abstract/Summary:PDF Full Text Request
Developers constantly make various assumptions regarding requirements,environment,design decisions,etc.during software development.However,these assumptions are usually implicit and undocumented and there is a lack of understanding regarding what assumptions have been made and discussed in software development.However,the same information may be an assumption in one environment and a completely different type of artifact in another environment.Unless the stakeholder expresses the information in a particular way,it is difficult to determine whether the information is an assumption without knowing the context.Therefore,there is a lack of knowledge about which terms and linguistic patterns are used to express assumptions,and how to identify the types of assumptions in different scenarios.Assumptions are not independent in software development,but are intertwined with many types of software artifacts.Assumptions are usually related to requirements,design decisions,components,and so on.However,researchers and practitioners only focus on limited types of assumptions in software development,such as assumptions related to requirements,without further exploring the relationship between assumptions and more software artifacts.There is currently a lack of knowledge about which software artifacts are usually associated with assumptions and how they relate.On the other hand,Open Source Software(OSS)is recently becoming an important part of software industry.Participatory culture is prevalent in software development to share ideas and knowledge about requirements,architecture,code,etc.,especially in the OSS community where developers intensively communicate in a distributed environment,and social media plays an essential role in this culture.Mailing lists,as a type of social media,are one major source to communicate development knowledge,especially in OSS projects.To this end,we conducted an exploratory study on assumptions in OSS development.In this study,we extracted 26,439 and 8,913 emails from the developer mailing lists of the two open source software projects,ArgoUML and Hibernate.The developer mailing list of ArgoUML archived 26,439 posts from Jan 2000 to Aug 2014 with its releases evolving from v0.08 to v0.34,and the developer mailing list of Hibernate accumulated 8,913 posts from Jan 2002 to Aug 2006 with its versions evolving from v0.9.1 to v3.0.Then we manually identifying and extracting information about the assumptions.This case study is exploratory,because it aims to identify new insights of assumptions in OSS development,which can support further research on this topic.The goal of the case study is to explore(1)assumption expression and(2)classification,(3)the trend of assumptions over time,and(4)related software artifacts of assumptions in OSS development.Finally,we identified and extracted 2399 and 832 assumptions from the ArgoUML and Hibernate developer mailing lists.Our results show that:(1)most of the assumptions are expressed as “Feature Request” and “Solution Proposal” in ArgoUML and Hibernate,while other linguistic patterns are relatively distributed.(2)The sum of the two types of assumptions of Design Assumption and Requirements Assumption in ArgoUML and Hibernate occupies more than 83.8% and 86.5% of the sum of all identified assumptions,and the proportion of design assumptions to identified assumptions was 53.9% and 54.4% respectively in ArgoUML and Hibernate developer mailing lists;(3)ArgoUML and Hibernate open source projects have assumptions throughout the development life cycle;(4)the major category of related artifacts of assumptions is “Design Document” in both ArgoUML and Hibernate,which is close to 50%,that is,most of the assumptions are made for software design.The results of this study indicate that assumptions mainly exist in the whole OSS development lifecycle,especially in the requirements analysis and software design phases,and the expressions of the assumptions are diverse throughout the development process.
Keywords/Search Tags:Assumption, Open Source Software Development, ArgoUML, Hibernate, Mailing List
PDF Full Text Request
Related items