Libra コンポーネントは, コードクローンに対する修正支援を目的としています. デバッグ時や機能追加時に,Libra コンポーネントを使うことによって,漏れなく修正を行うことができます. Gemini コンポーネントを用いても同様の支援は行うことができます. しかし,Gemini コンポーネントは,CCFinder の検出したコードクローン全てをユーザに提供します. デバッグ時や機能追加時は,すべてのコードクローン情報は必要なく, 修正箇所を一箇所突き止めたら,後はその部分とのコードクローンのみを表示すれば十分です.
Libra では内部で CCFinder のオプションを用いて, ユーザが入力したコード片と対象ソフトウェアの間のコードクローンのみをユーザに提供します. CCFinder は以下の3タイプのコードクローンの検出のオン・オフがオプションで設定できます.
左の図はユーザがコード片の入力を行う画面です. Libra はここで入力されたコード片と指定されたソースコード間のコードクローンのみを検出します. ユーザはこの部分で,最小一致トークン数を入力したコード片のトークン数にすることができます. このようにすることで,入力されたコード片の一部分のみが類似しているコードクローンの検出を制限することができます. Libra コンポーネントは内部でグループ分けを行った後,CCFinder を実行しているだけなので, Aries コンポーネントのように Java のみといった制限はありません. CCFinder が対応しているプログラミング言語であれば,Libra を用いることができます.
Copyright © 2005-2007 大阪大学大学院情報科学研究科 コンピュータサイエンス専攻 井上研究室 All Rights Reserved.