著者
崔 恩瀞 藤原 賢二 吉田 則裕 林 晋平
出版者
日本ソフトウェア科学会
雑誌
コンピュータ ソフトウェア (ISSN:02896540)
巻号頁・発行日
vol.32, no.1, pp.1_47-1_59, 2015-01-26 (Released:2015-03-26)

リファクタリングとは,ソフトウェアの外部的振る舞いを変化させることなく,内部の構造を改善するプロセスを指す.研究者・実務者ともに,開発プロジェクトにおいて過去に実施されたリファクタリングを知りたいという要求がある.そこで,リファクタリングの実施を自動的に検出する手法(リファクタリング検出手法)が数多く提案されている.これらの手法は,多様な国際会議や論文誌において発表されており,研究者や実務者にとって研究成果を概観することは容易ではない.本稿では,リファクタリング検出手法の中でも,盛んに研究が行われている成果物の変更履歴解析に基づく手法を中心に紹介を行う.まず,本稿におけるリファクタリング検出の定義および分類について述べる.その後,成果物の変更履歴解析に基づく手法を紹介し,今後行われる研究の方向性について考察を行う.
著者
上村 恭平 森 彰 藤原 賢二 崔 恩瀞 飯田 元
雑誌
情報処理学会論文誌 (ISSN:18827764)
巻号頁・発行日
vol.59, no.4, pp.1225-1239, 2018-04-15

ハードウェア記述言語は,Field Programmable Gate Array(FPGA)開発などで回路の構造を定義するために用いられる言語である.近年のFPGAの利用拡大により,ハードウェア記述言語(HDL)を用いた回路開発の効率化が課題となっている.そこで,我々はソースコード中の重複あるいは類似したコード片であるコードクローンに着目した.ソフトウェアにおいて,コードクローンは開発効率を低下させる一因として研究されている.本論文では,代表的なHDLであるVerilog HDLを対象としたコードクローン検出手法を提案し,コードクローンの特徴について調査した結果について述べる.提案するコードクローン検出手法は,Verilog HDLのソースコードに簡単な変換を適用することで,既存のツールを用いてコードクローンを検出する.評価の結果,提案手法は90%以上の精度でコードクローンを検出できた.また,提案手法を用いてコードクローンの量と複雑さについて分析した結果,CやJavaと同様にコードクローンが存在し,支援を要することが確認された.ソフトウェアと同様に,Verilog HDLのコードクローンに対しても同時編集支援やドキュメント化などの管理は有用である.一方で,Verilog HDLにおけるコードクローンはリファクタリングによる集約を行う場合に回路性能とのトレードオフを考慮する必要がある.
著者
齋藤 雄輔 藤原 賢二 井垣 宏 吉田 則裕 飯田 元
出版者
一般社団法人電子情報通信学会
雑誌
電子情報通信学会技術研究報告. SS, ソフトウェアサイエンス (ISSN:09135685)
巻号頁・発行日
vol.114, no.416, pp.103-108, 2015-01-19

分散型版管理システムとそのホスティングサービスを用いたソフトウェア開発手法として,プルリクエストを基点とした制御を行う開発プロセス(Pull Request駆動型の開発)が提案されている. Pull Request駆動型の開発では,開発タスクごとに版管理システム上でブランチを作成し,実装を開始する際に対応するブランチの統合をプロジェクト管理者へ要求する.機能の実装に際して開発者は,各状況下において適切に版管理システムを操作する必要がある.しかし,これらの作業は煩雑であり,さらに版管理システムに対する深い知識を要求する.そこで本研究では, Pull Request駆動型の開発に適した開発者支援ツールを提案する.