Item type |
Journal(1) |
公開日 |
2021-12-15 |
タイトル |
|
|
タイトル |
自動プログラム修正を用いたマージ競合の解決 |
タイトル |
|
|
言語 |
en |
|
タイトル |
Resolving Merge Conflicts Using Automated Program Repair |
言語 |
|
|
言語 |
jpn |
キーワード |
|
|
主題Scheme |
Other |
|
主題 |
[一般論文] 並行開発,マージ競合,自動プログラム修正,遺伝的アルゴリズム |
資源タイプ |
|
|
資源タイプ識別子 |
http://purl.org/coar/resource_type/c_6501 |
|
資源タイプ |
journal article |
ID登録 |
|
|
ID登録 |
10.20729/00214246 |
|
ID登録タイプ |
JaLC |
著者所属 |
|
|
|
立命館大学情報理工学部 |
著者所属 |
|
|
|
立命館大学大学院情報理工学研究科 |
著者所属(英) |
|
|
|
en |
|
|
Department of Information Science and Engineering, Ritsumeikan University |
著者所属(英) |
|
|
|
en |
|
|
Graduate School of Information Science and Engineering, Ritsumeikan University |
著者名 |
丸山, 勝久
邢, 小茜
|
著者名(英) |
Katsuhisa, Maruyama
Xiaoqian, Xing
|
論文抄録 |
|
|
内容記述タイプ |
Other |
|
内容記述 |
異なる開発者によってソースコードが独立に編集可能な並行開発において,マージ競合は避けられない.競合を解決するためには,マージ後のソースコードに対して期待される振舞いを検査するすべてのテストに成功するように,競合するコード片を取り除かなければならない.この作業は,ソースコードに対する深い理解が必要であり,開発者にとって面倒な作業である.本論文では,従来手法ではいまだ取り組まれていない振舞い競合を自動解決する新たな手法を提案する.この手法では,マージ対象のJavaソースコード内部に存在するクラスメンバを組み合わせることで,コンパイル可能でバグを含む(可能性のある)ソースプログラムを生成する.その後,自動プログラム修正技法によりバグを取り除くことで,マージ競合を含まないソースプログラムを出力する.このような2段階の手順を明確に規定することで,振舞い競合の解決に自動プログラム修正技法を活用することがはじめて可能となった.さらに,提案手法を用いた3つの実験において,受け入れ可能なマージ後のソースプログラムの出力に成功した.このことより,提案手法が人手の介入を抑えて振舞い競合を解決できることを立証した. |
論文抄録(英) |
|
|
内容記述タイプ |
Other |
|
内容記述 |
Merge conflicts are inevitable in concurrent software development where source code has been independently modified by multiple programmers. Unfortunately, the resolution of such merge conflicts is troublesome for programmers since they have to remove the conflicting code fragments until the merged code passes all tests that check their expected behavior. In this paper, we propose a novel mechanism that reduces programmers' burden to resolve behavioral merge conflicts which conventional mechanisms do not still address. It produces compilable source programs that might contain faults by combining class members within Java source code to be merged. Then, it outputs source programs not including any merge conflicts by exploiting an automated program repair (APR) technique that fully-automatically fixes faults exposed by tests. Clearly prescribing this two-stage procedure makes it possible to implement the automatic merge mechanism using an APR technique for the first time. In all three experiments with the mechanism, merged source programs acceptable to programmers were successfully obtained. These experimental results demonstrated that the mechanism can solve behavioral conflicts with little intervention of human. |
書誌レコードID |
|
|
収録物識別子タイプ |
NCID |
|
収録物識別子 |
AN00116647 |
書誌情報 |
情報処理学会論文誌
巻 62,
号 12,
p. 2041-2055,
発行日 2021-12-15
|
ISSN |
|
|
収録物識別子タイプ |
ISSN |
|
収録物識別子 |
1882-7764 |