研究課題/領域番号 |
26540169
|
研究機関 | 電気通信大学 |
研究代表者 |
前川 守 電気通信大学, その他部局等, 名誉教授 (10126162)
|
研究分担者 |
大須賀 昭彦 電気通信大学, 大学院情報システム学研究科, 教授 (90393842)
川村 隆浩 電気通信大学, 大学院情報システム学研究科, 客員准教授 (10426653)
中山 健 津田塾大学, 数学・計算機科学研究所, 専任研究員 (40296348)
|
研究期間 (年度) |
2014-04-01 – 2017-03-31
|
キーワード | ソフトウェア知 / ソフトウェア蓄積 |
研究実績の概要 |
多くのソフトウェアが開発され続け,その蓄積も増え続けている.大規模なソフトウェア蓄積に埋もれているソフトウェア知が有効利用できれば,無駄な再開発を避け,より本質的で革新的な開発に社会資源を集中できる.しかし,そのような利用技術は確立されていない. 従来のソフトウェア理論・ソフトウェア工学・アルゴリズム論等に見られる抽象度が高い知見は,高い普遍性をもつが,具体的なソースコードとして実現するまでには多くの労力を要する.一方,デザインパターンやデータ構造,そしていわゆるコーディングテクニックなど,抽象度が下がるにつれて知見とソースコードとの乖離は小さくなるが,高抽象度の知見と一体となって活用できなければ効用は限定的である. このようにソフトウェア知は様々な抽象度および粒度で存在し,それらが融合してソースコードに表出する.大規模なソフトウェア蓄積は,融合済みの各種知見のショーケースであり,融合の出現頻度は有用性を反映する.個々のソフトウェア知が大規模蓄積のどこにどのように融合されて現れているかが分かって,それらの中から目的にふさわしいものを選べれば,ソフトウェア知自体の抽象度によらず,具体化された形で有効利用できると期待される. そこで,ソフトウェア知の特徴の構成要素として考えられるものを細粒度まで含めて網羅し,それらの組み合せで知見を一様に表現または近似するとともに,さらに大きく,または形を変えて延長する. 今年度は,Java言語の抽象構文木を対象として,正例・負例の集合としてユーザが示した部分の特徴を判別する枠組みを提案し,プロトタイプシステムを実装した.特徴空間は,構文上の特徴や局所的なデータフローを表す素特徴の集合と,それらを組み合せるための特徴構成子の集合を設定し,型の制約を満たす総当たりによって構成した.また,ソースコード内で判別結果に該当する部分を特定する手法を検討した.
|
現在までの達成度 (区分) |
現在までの達成度 (区分)
2: おおむね順調に進展している
理由
おおむね当初の計画に沿って進展している.
|
今後の研究の推進方策 |
総当たりによって構成する特徴空間を効率良く探索するために,ソフトウェア蓄積を対象とした機械学習によって,冗長と推測される特徴の優先度を下げ,有用性が高いと推測される特徴を括り出して優先度を上げる等のバイアス変更手法を検討する. 同様に,ソースコード内での該当箇所検索を効率良く行うためのヒューリスティクスを機械学習する手法を検討する.
|
次年度使用額が生じた理由 |
研究が予定以上に進展する見込みがあったため,余裕をみた前倒し支払請求を行ったため.
|
次年度使用額の使用計画 |
前倒し支払い請求は,研究が予定以上に進展した際に次年度予算の交付時まで研究が滞るおそれを軽減するためのものであったので,実施時期の前倒し以外に研究計画には変更が無い.
|