講演名 2011-09-22
コード間の依存関係及びクローン関係に着目したコード変更の生存時間解析
浅野 遼平, Sandhi Yudha Myrizki, 阿萬 裕久,
PDFダウンロードページ PDFダウンロードページへ
抄録(和) 一般にソフトウェアはソースコードの変更とともに品質の向上や機能の発展が行われていく.そこでの変更には大きく分けて二つの種類が存在する.一つ目はコード変更の目的(バグ修正等)に起因するコード変更であり,もう一つは他の変更の影響による変更である.本稿では前者を"一次変更",後者を"二次変更"と呼び,実際のオープンソースソフトウェアに対して一次変更と二次変更の割合,並びに時間経過に対する変動を分析している.また,二次変更の主な要因としてコード間の依存関係とコードクローン関係に着目し,それぞれの発生傾向について生存時間解析を用いた分析を行っている.その結果,次のことが確認されている:(1)一次変更と二次変更の割合は,一次変更が約62%,二次変更が約38%である.ただし,二次変更の割合は必ずしも一次変更に連動していない.(2)38%の二次変更の内訳は依存関係に起因するものが17.3%,クローン関係によるものが25.6%である.(3)依存関係に起因する二次変更の中には,遅れて更新されるものもある(150日以内,5.1%).一方,クローン関係に起因する二次変更は,そのほとんどが同時更新である.
抄録(英) Generally, software evolutions including quality improvements and feature developments are undergone through the source code changes. Code changes are categorized into two types, primary changes and secondary changes: a primary change is a code change directly caused by bug fix and/or feature change; a secondary change is a code change caused by other changes including a primary change or another secondary change. Controlling secondary changes can be effective in order to control amount of code changes, i.e. patch sizes. This paper investigates the incidence rate and the change behaviour during upgrades in actual open source software. Moreover, this paper focuses on code relationships based on dependencies or code clones as the major factors of secondary changes. For each factor, the incidence trends are analyzed using the survival analysis. The empirical results show the followings: (1) the incidence rate of secondary change is about 38% in all changes; (2) the incidence rate of secondary change caused by dependency relation is about 17.3%, and the rate by code clone relation is about 25.6%; (3) some of the secondary changes caused by dependency relation would occur later (within 150 days; 5.1%). On the other hands, most of the secondary changes by code clone relation occur simultaneously.
キーワード(和) オープンソース開発 / ソースコードの変更 / 二次変更 / 依存関係 / コードクローン / 生存時間解析
キーワード(英) open source development / change of source code, / secondary change / code dependency / code clone / survival analysis
資料番号 KBSE2011-35
発行日

研究会情報
研究会 KBSE
開催期間 2011/9/14(から1日開催)
開催地(和)
開催地(英)
テーマ(和)
テーマ(英)
委員長氏名(和)
委員長氏名(英)
副委員長氏名(和)
副委員長氏名(英)
幹事氏名(和)
幹事氏名(英)
幹事補佐氏名(和)
幹事補佐氏名(英)

講演論文情報詳細
申込み研究会 Knowledge-Based Software Engineering (KBSE)
本文の言語 JPN
タイトル(和) コード間の依存関係及びクローン関係に着目したコード変更の生存時間解析
サブタイトル(和)
タイトル(英) A Survival Analysis of Code Change focusing on Code Dependency and Code Clone
サブタイトル(和)
キーワード(1)(和/英) オープンソース開発 / open source development
キーワード(2)(和/英) ソースコードの変更 / change of source code,
キーワード(3)(和/英) 二次変更 / secondary change
キーワード(4)(和/英) 依存関係 / code dependency
キーワード(5)(和/英) コードクローン / code clone
キーワード(6)(和/英) 生存時間解析 / survival analysis
第 1 著者 氏名(和/英) 浅野 遼平 / Ryohei ASANO
第 1 著者 所属(和/英) 愛媛大学大学院理工学研究科
Graduate School of Science and Engineering, Ehime University
第 2 著者 氏名(和/英) Sandhi Yudha Myrizki / YUDHA Myrizki SANDHI
第 2 著者 所属(和/英) 愛媛大学大学院理工学研究科
Graduate School of Science and Engineering, Ehime University
第 3 著者 氏名(和/英) 阿萬 裕久 / Hirohisa AMAN
第 3 著者 所属(和/英) 愛媛大学大学院理工学研究科
Graduate School of Science and Engineering, Ehime University
発表年月日 2011-09-22
資料番号 KBSE2011-35
巻番号(vol) vol.111
号番号(no) 211
ページ範囲 pp.-
ページ数 6
発行日