著者
植田 泰士 神谷 年洋 楠本 真二 井上 克郎
出版者
一般社団法人電子情報通信学会
雑誌
電子情報通信学会論文誌. D-I, 情報・システム, I-情報処理 (ISSN:09151915)
巻号頁・発行日
vol.86, no.12, pp.863-871, 2003-12-01
被引用文献数
14 20

ソフトウェアの保守作業を難しくしている要因の一つとしてコードクローンがある.コードクローンとは,ソースコード中の同一,または類似した部分を指す.あるコード片にバグが含まれていた場合には,そのコード片のコードクローンすべてについて修正の是非を検討する必要がある.しかし,大規模なソフトウェアの場合,それらすべての箇所を手作業で発見し,修正の是非を検討することは非常に困難である.本研究では,コードクローン検出ツールCCFinderの検出結果を利用したコードクローン分析環境Geminiの構築を行う.本システムは,開発保守におけるコードクローンの利用を支援するため,コードクローンの位置情報の視覚化,コードクローンに関するメトリックス値の算出,及び対応したソースコードを参照する機能を備える.本システムを実際のプログラムに適用することで,特徴的なコードクローンなどを抽出できることを確認した.
著者
門田暁人 佐藤慎一 神谷 年洋 松本 健一
雑誌
情報処理学会論文誌 (ISSN:18827764)
巻号頁・発行日
vol.44, no.8, pp.2178-2188, 2003-08-15

ソフトウェアに含まれるコードクローン(重複するコード列)は,ソフトウェアの構造を複雑にし,ソフトウェア品質に悪影響を与えるといわれている.しかし,コードクローンとソフトウェア品質の関係はこれまで定量的に明らかにされていない.本論文では,20年以上前に開発され,拡張COBOL言語で記述されたある大規模なレガシーソフトウェアを題材とし,代表的なソフトウェア品質である信頼性・保守性とコードクローンとの関係を定量的に分析した.信頼性の尺度として保守工程で発見された「フォールト数/LOC(Lines of Code)」を用い,保守性の尺度として「モジュールの改版数」を用いた.分析の結果,コードクローンを含むモジュール(clone-includedモジュール)は含まないモジュール(non-cloneモジュール)よりも信頼性(平均値)が約40%高いが,200行を超える大きさのコードクローンを含むモジュールは逆に信頼性が低いことが分かった.また,clone-includedモジュールはnon-cloneモジュールよりも改版数(平均値)が約40%大きく(すなわち,改版のためにより多くの保守コストが費やされてきた),さらに,モジュールに含まれるコードクローンのサイズが大きいほど改版数がより大きい傾向にあることが分かった.
著者
神谷 年洋 中小路 久美代 高嶋 章雄
出版者
一般社団法人情報処理学会
雑誌
情報処理学会研究報告モバイルコンピューティングとユビキタス通信(MBL) (ISSN:09196072)
巻号頁・発行日
vol.2001, no.108, pp.63-70, 2001-11-15

日常業務における知的創造活動を支援する対話的アプリケーションシステムには,機能を充足する必要と共に,使い心地の良さ(デザイラビリティ)が求められる.本稿では,デザイラブルなシステムの構築に向けて,システムのインタラクションの分析やデザインを目的とした,インタラクション記述言語CHIOPAを提案する.提案した言語を用いて粒度の異なる2つのインタラクションを記述した例を用いて,アプローチの特徴を述べる.Interactive systems that support intellectual creative tasks require not only to be useful and usable by satisfying their targeted functionalities, but also to be desirable for individual users by providing appropriate interaction styles. This paper proposes a descriptive formal language, CHIOPA (Computer-Human Interaction on Objects, Properties, and Actions), with which developers can analyze and design interaction between human and interactive computer systems. We illustrate characteristics of the language by using two examples of interactions at two different levels of granularity.
著者
門田暁人 佐藤慎一 神谷 年洋 松本 健一
出版者
一般社団法人情報処理学会
雑誌
情報処理学会論文誌 (ISSN:18827764)
巻号頁・発行日
vol.44, no.8, pp.2178-2188, 2003-08-15
被引用文献数
19

ソフトウェアに含まれるコードクローン(重複するコード列)は,ソフトウェアの構造を複雑にし,ソフトウェア品質に悪影響を与えるといわれている.しかし,コードクローンとソフトウェア品質の関係はこれまで定量的に明らかにされていない.本論文では,20年以上前に開発され,拡張COBOL言語で記述されたある大規模なレガシーソフトウェアを題材とし,代表的なソフトウェア品質である信頼性・保守性とコードクローンとの関係を定量的に分析した.信頼性の尺度として保守工程で発見された「フォールト数/LOC(Lines of Code)」を用い,保守性の尺度として「モジュールの改版数」を用いた.分析の結果,コードクローンを含むモジュール(clone-includedモジュール)は含まないモジュール(non-cloneモジュール)よりも信頼性(平均値)が約40%高いが,200行を超える大きさのコードクローンを含むモジュールは逆に信頼性が低いことが分かった.また,clone-includedモジュールはnon-cloneモジュールよりも改版数(平均値)が約40%大きく(すなわち,改版のためにより多くの保守コストが費やされてきた),さらに,モジュールに含まれるコードクローンのサイズが大きいほど改版数がより大きい傾向にあることが分かった.Existing researches suggest that the code clone (duplicated code section) is one of the factors that degrades the design and structure of software and lowers the various quality attributes. However, the influence of code clones on software quality has not been quantitatively clarified yet. In this paper, we quantitatively analyzed the relation between code clones and the software reliability and maintainability of twenty years old software, which is written in an extended COBOL language. We used the number of faults per LOC (Lines of Code) as a reliability metric, and the revision number of modules as a maintainability metric. As a result, we found that modules having code clones (clone-included modules) are 40{%} more reliable than modules having no code clone (non-clone modules) on average. Nevertheless, the modules having very large code clones (more than 200 SLOC) are less reliable than non-clone modules. We also found that clone-included modules are 40{%} less maintainable (having greater revision number on average) than non-clone modules; and, modules having larger code clone are less maintainable than modules having smaller code clone.