During software development,developers tend to tangle multiple concerns into a single commit,resulting in many composite commits.This paper studies the problem of detecting and untangling composite commits,so as to im...During software development,developers tend to tangle multiple concerns into a single commit,resulting in many composite commits.This paper studies the problem of detecting and untangling composite commits,so as to improve the maintainability and understandability of software.Our approach is built upon the observation that both the textual content of code statements and the dependencies between code statements are helpful in comprehending the code commit.Based on this observation,we first construct an attributed graph for each commit,where code statements and various code dependencies are modeled as nodes and edges,respectively,and the textual bodies of code statements are maintained as node attributes.Based on the attributed graph,we propose graph-based learning algorithms that first detect whether the given commit is a composite commit,and then untangle the composite commit into atomic ones.We evaluate our approach on nine C#projects,and the results demonstrate the effectiveness and efficiency of our approach.展开更多
Alzheimer's disease(AD)is a devastating neurodegenerative disorder and the most common form of old-age dementia.The disease is characterized by a progressive decline in cognitive functions,gradual loss of memory an...Alzheimer's disease(AD)is a devastating neurodegenerative disorder and the most common form of old-age dementia.The disease is characterized by a progressive decline in cognitive functions,gradual loss of memory and ability to perform everyday activities,and leads to inevitable death within 3 to 9 years atter diagnosis.展开更多
基金supported by the National Natural Science Foundation of China under Grant No.62025202the Fundamental Research Funds for the Central Universities under Grant No.020214380102.
文摘During software development,developers tend to tangle multiple concerns into a single commit,resulting in many composite commits.This paper studies the problem of detecting and untangling composite commits,so as to improve the maintainability and understandability of software.Our approach is built upon the observation that both the textual content of code statements and the dependencies between code statements are helpful in comprehending the code commit.Based on this observation,we first construct an attributed graph for each commit,where code statements and various code dependencies are modeled as nodes and edges,respectively,and the textual bodies of code statements are maintained as node attributes.Based on the attributed graph,we propose graph-based learning algorithms that first detect whether the given commit is a composite commit,and then untangle the composite commit into atomic ones.We evaluate our approach on nine C#projects,and the results demonstrate the effectiveness and efficiency of our approach.
文摘Alzheimer's disease(AD)is a devastating neurodegenerative disorder and the most common form of old-age dementia.The disease is characterized by a progressive decline in cognitive functions,gradual loss of memory and ability to perform everyday activities,and leads to inevitable death within 3 to 9 years atter diagnosis.