Font Size: a A A

An Empirical Study On Concurrent Code Maintenance

Posted on:2019-06-08Degree:MasterType:Thesis
Country:ChinaCandidate:F Y YuFull Text:PDF
GTID:2428330590467484Subject:Software engineering
Abstract/Summary:PDF Full Text Request
Concurrent programming is pervasive in nowadays software development.Due to the difficulty of concurrent programming,it is easy for developers to introduce concurrency bugs during development.Researchers have conducted many empirical studies to understand concurrency bugs and how to fix them.However,they still rarely study how developers maintain concurrent code.Only a recent study explored the modifications on critical sections,and many related questions are still open.This paper conducts an empirical study to explore change patterns during maintenance of concurrent code and how concurrent programming constructs are used in projects.Concretely,this paper makes the following contributions:(1)This paper studies what change patterns are followed when developers maintain concurrent code.It manually analyzes 696 concurrency-related commits and summarizes five change patterns.(2)This paper studies how to apply these change patterns.It applies these change patterns to open source projects,and synthesizes patches.These patches have been confirmed by developers.(3)This paper studies how concurrency-related API classes are used.The result shows that their frequencies are not uniform.(4)This paper studies the relationship between numbers of concurrency-related commits and total commits.The result shows that there is a strong correlation between numbers of concurrency-related commits and total commits.Compared to previous work,this paper analyzes more commits,uses keyword matching and machine learning to identify concurrency-related commits,and studies more research questions.Results of this paper can be useful for developers to maintain concurrent code and for researchers to implement treating techniques.
Keywords/Search Tags:Software Maintenance, Concurrent Programming, Repository Mining, Empirical Study
PDF Full Text Request
Related items