著者
肥後 芳樹 吉田 則裕
出版者
日本ソフトウェア科学会
雑誌
コンピュータ ソフトウェア (ISSN:02896540)
巻号頁・発行日
vol.28, no.4, pp.4_43-4_56, 2011-10-25 (Released:2011-12-25)

コードクローンとは,ソースコード中に存在する互いに一致,もしくは類似したコード片を指す.コードクローンの存在は,ソフトウェアの開発および保守に悪影響を与える恐れがあるといわれている.本稿では,コードクローンを取り除くためのリファクタリング方法と近年の研究成果について紹介する.
著者
山中 裕樹 崔 恩瀞 吉田 則裕 井上 克郎 佐野 建樹
雑誌
ソフトウェアエンジニアリングシンポジウム2012論文集
巻号頁・発行日
vol.2012, pp.1-8, 2012-08-21

ソフトウェア保守における大きな問題の一つとしてコードクローンが指摘されている.コードクローンとは,ソースコード中に,互いに一致または類似した部分を持つコード片のことである.コードクローンに対する主な保守作業として,クローンセット(互いにコードクローンとなっているコード片の集合)に含まれる全てのコード片を一貫して編集する同時修正と,クローンセットを1つのサブルーチンにまとめる集約が挙げられる.本研究では,コードクローンに対する保守作業を支援することを目的としたコードクローン変更管理システムの開発を行った.そして,企業で行われているソフトウェア開発に適用することによって,本システムの有用性を確かめることができた.
著者
瀬村 雄一 吉田 則裕 崔 恩瀞 井上 克郎
出版者
The Institute of Electronics, Information and Communication Engineers
雑誌
電子情報通信学会論文誌 D (ISSN:18804535)
巻号頁・発行日
vol.J103-D, no.4, pp.215-227, 2020-04-01

近年実務に使用されるプログラミング言語は多様化し,ある一つのプログラミング言語においてもその文法はバージョンごとに差異をもつ.字句単位のコードクローン検出ツールCCFinderXは,多様な言語に対応するためのシンプルな仕組みをもたない.提案ツールとして,構文解析器生成系の一つであるANTLRの構文定義記述を入力として与えることで,新たな言語の字句解析が可能になるコードクローン検出ツールCCFinderSWを開発した.評価実験では,42言語の構文定義記述からコメントや予約語,文字列リテラルの情報を抽出し,81%の言語でこれら3種類の情報が抽出可能であることを示した.また,C++で記述されたソースコードに対するコードクローン検出においてCCFinderXと出力を比較し,ほぼ同等の検出能力をもつことを示した.
著者
崔 恩瀞 藤原 賢二 吉田 則裕 林 晋平
出版者
日本ソフトウェア科学会
雑誌
コンピュータ ソフトウェア (ISSN:02896540)
巻号頁・発行日
vol.32, no.1, pp.1_47-1_59, 2015-01-26 (Released:2015-03-26)

リファクタリングとは,ソフトウェアの外部的振る舞いを変化させることなく,内部の構造を改善するプロセスを指す.研究者・実務者ともに,開発プロジェクトにおいて過去に実施されたリファクタリングを知りたいという要求がある.そこで,リファクタリングの実施を自動的に検出する手法(リファクタリング検出手法)が数多く提案されている.これらの手法は,多様な国際会議や論文誌において発表されており,研究者や実務者にとって研究成果を概観することは容易ではない.本稿では,リファクタリング検出手法の中でも,盛んに研究が行われている成果物の変更履歴解析に基づく手法を中心に紹介を行う.まず,本稿におけるリファクタリング検出の定義および分類について述べる.その後,成果物の変更履歴解析に基づく手法を紹介し,今後行われる研究の方向性について考察を行う.
著者
都築 夏樹 吉田 則裕 戸田 航史 山本 椋太 高田 広章
出版者
日本ソフトウェア科学会
雑誌
コンピュータ ソフトウェア (ISSN:02896540)
巻号頁・発行日
vol.37, no.2, pp.2_97-2_103, 2020-04-23 (Released:2020-05-20)

ソフトウェアのテスト手法の1つであるファジングでは,テストケースを自動で生成,実行し,テストを自動化できる.現在,カバレッジに基づくファジングツールの開発が盛んに行われており,後発ツールの方が優位であることを示すために,ツール同士の比較評価が行われている.しかし,ベンチマークが評価ごとに異なることが多く,評価に用いられたベンチマークとは別のベンチマークを適用した場合に同様の性能を示すか不明である.そこで,カバレッジに基づくファジングツールの評価に利用された実績がある3つのベンチマークに対して4つのツールを適用した.その結果,一部の例外があるものの,統計的には後発ツールが優れていることがわかった.
著者
齋藤 雄輔 藤原 賢二 井垣 宏 吉田 則裕 飯田 元
出版者
一般社団法人電子情報通信学会
雑誌
電子情報通信学会技術研究報告. SS, ソフトウェアサイエンス (ISSN:09135685)
巻号頁・発行日
vol.114, no.416, pp.103-108, 2015-01-19

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