Font Size: a A A

Research On The Pull-request Mechanism Towards The Crowd Intelligence Paradigm For Software Development

Posted on:2022-08-05Degree:DoctorType:Dissertation
Country:ChinaCandidate:Z X LiFull Text:PDF
GTID:1528307169477654Subject:Software engineering
Abstract/Summary:PDF Full Text Request
Organizing a large group of developers to collaborate efficiently has always been a crucial challenge in the field of software development.The Crowd Intelligence Paradigm(CIP)for software development advocates new concepts and methods,which seeks to establish a balance between traditional software engineering and open source paradigms.The objective of CIP is to achieve the efficient stimulation and aggregation of crowd intel-ligence,and its approach is threefold: connecting the core team and peripheral developers,connecting standardized production and free innovation,and continuously and iteratively transforming between software products and software creations.The Pull-request(PR)mechanism has significantly motivated and inspired the crowd developers from the Inter-net and improved the productivity of the management team,making it a feasible mecha-nism to achieve CIP.However,we found that the PR mechanism still faces two serious challenges in terms of the aggregation of community contributions: duplication in contri-bution submission and uncertainty in contribution improvement,which reduce the ratio of output to input of developers intelligence.The resolution of these two problems can considerably improve the aggregation efficiency of crowd intelligence,which will facili-tate the successful transformation to CIP.To this end,we conducted the following studies in this thesis.Firstly,we conducted an empirical study on duplicate PRs,and designed a set of mechanisms and tools to increase the awareness among developers in collaboration,which can help developers better express their own intentions and gather information about oth-ers’ activities,and thus avoid unintentional duplications.In our research,we first quan-tified the impact of duplicate PRs on development effort and review process.Then,we used regression analysis to model the correlations between various metrics and PRs’ like-lihood of being duplicates and the impacts of these metrics on the acceptance of duplicate PRs.Moreover,we manually investigated the contexts where duplicate PRs occur and integrators’ preference in making decisions between duplicate PRs.Finally,we designed a variety of mechanisms based on the empirical results,such as issue claiming and dupli-cation detection.Secondly,we conducted an empirical study on PR abandonment,and designed a set of mechanisms and tools to promote developers’ continuous participation,which can im-prove the interaction process between developers,avoid PR abandonment,and foster the completion of abandoned PRs.In our research,we first performed a qualitative anal-ysis of historic trace data of abandoned PRs,and manually investigated the impacts of PR abandonment,the reasons leading submitters to abandon their PRs,and the strate-gies integrators used to promote the completion of abandoned PRs.Then,we confirmed and quantified the manual observation results by large-scale surveys with PR submitters and integrators,respectively.Finally,we designed a variety of mechanisms based on the empirical results,such as premium notification and successor recommendation.Thirdly,we conducted an empirical study on repeated revisions to PRs,and designed a set of mechanisms and tools to guide PR reviews and revisions,which can help project management teams standardize and track the processes of PR revision,and help improve the effectiveness of revision requests and the efficiency of continuous PR revisions.In our research,we first qualitatively analyzed the review history of repeatedly revised PRs,and summarized reviewer’s practices for requesting changes to PRs.Then we conducted surveys with developers to examine their perceptions of the importance of recognized practices.In surveys,we also investigated developers’ willingness to perform requested changes in terms of revision patience,contribution context,and priority order of change types.Moreover,we revealed the factors causing avoidable revisions from self-reported experience from survey participants.Finally,we designed a variety of mechanisms based on the empirical results,such as checklist-based review assistant and context-aware qual-ity assessment of review comments.In summary,this thesis is oriented to CIP and focuses on the efficient aggregation of crowd intelligence by studying on three phenomena of duplicate PRs,PR abandonment,and repeated revisions.The research findings provide important insights into how devel-opers can collaborate with each other in more effective and efficient ways,and propose actionable and practical directions for the design of tools that support better collaboration between developers.
Keywords/Search Tags:Crowd-based Software Development, Crowd Intelligence, Aggregation Efficiency, Open Source Software, Pull-Request, Duplicate Contribution, Contribution Abandonment, Repeated Revision
PDF Full Text Request
Related items