本研究では、共同開発環境において、異なる開発者が同じメソッドを変更した場合の干渉を推定する手法を提案している。
まず、開発者間の干渉は動的意味的な競合の原因となることを示した。しかし、動的意味的な競合を検出するのは困難であり、既存の手法にも限界がある。そのため、干渉の検出に着目した。
具体的には、開発者が同じメソッドを変更した場合の情報フローを分析することで、干渉の存在を推定する手法を提案した。この手法では、Java Object-sensitive Analysis (JOANA)を使ってプログラムの情報フローを分析する。
評価の結果、同じメソッドを変更した場合の約64%の場合に情報フローが存在することが分かった。さらに、手動分析により、情報フローが存在しても干渉が存在しない場合があることも明らかにした。これは、変更の性質、過剰な注釈、JOANAの保守性などが原因であった。
したがって、情報フローを使って干渉を推定することは可能だが、偽陽性を減らすことが重要である。特に、偽陽性の3/4程度は解決できる可能性があると考えられる。
다른 언어로
소스 콘텐츠 기반
arxiv.org
더 깊은 질문