大杉 直樹†, 神谷 年洋‡, 門田 暁人†, 松本 健一† †奈良先端科学技術大学院大学 情報工学科 {naoki-o, akito-m,

Slides:



Advertisements
Similar presentations
InstallShieldLecture InstallShield でインストーラを作成する方法 ( 初級編 ) ソニーエンジニアリング 設計 3 部 1 課 齋藤佑輔.
Advertisements

情報処理 第9回第9回第9回第9回. 今日の内容 Excel の起動と画面構成 –Excel の起動 –Excel の画面構成と基本用語 データの入力 – 文字の入力 – 数値の入力 – 日時の入力 – オートフィル.
情報処理 第9回第9回第9回第9回. 今日の内容 Excel の起動と画面構成 –Excel の起動 –Excel の画面構成と基本用語 データの入力 – 文字の入力 – 数値の入力 – 日時の入力 – オートフィル.
1 検索 ● 検索: 特定の文字列を探す ⓪検索を行う範囲を限定するときは、範囲選択をする。 ① 「ホーム」タブ⇒「編集」⇒「検索」タブとクリックする。 ②「検索する文字列」欄に検索したい文字を入力する。 ③「次を検索する」をクリックする。 ③ ‘ 「検索された項目の強調表示」⇒「すべて強調表示」とクリックすると、
1 WORD の起動法と終了法 ● WORD の起動法 (1) デスクトップの Microsoft Word アイ コンをダブルクリックする。 * (2) 「スタート」 ― 「すべてのプログラ ム」 ― 「 Microsoft Word 」と選ぶ。 (3) Word で作成された文書があるとき は、そのアイコンをダブルクリック.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 保守支援を目的とした コードクローン情報検索ツール.
1 PC の情報を得る - 「システム情報」 ①「スタート」 → 「すべてのプログラム」 → 「アクセサリ」 → 「システム ツール」 → 「システム情報」とクリックする。 ②左欄の項目を選択すると、右欄に情報が表示される。
第5章 JMPのインストールと基本操作 廣野元久
目次(電子納品 操作手順) ※ページはスライド番号
BBT大学 Ruby on Rails開発環境セットアップマニュアル
ご使用の前に 使用可能なPC環境 Windows XP SP2 以上
エクセル(1)の目次 起動法、ブック、シート、セル ブックの開き方 エクセル画面 マウスポインターの種類 シート数の調節 データの入力法
情報処理実習 第05回 Excelマクロ機能入門 操作マクロ入門.
PROCESS 14:一般情報(2) InstallShieldLecture
PC作業の一時停止 ●「スタンバイ(サスペンド)」: メモリには電源が供給される。実行中のデータがそのままメモリに保持されるため、作業を中断した状態から 数秒で再開ができる。省電力。 操作: 「スタート」→「電源オプション」→「スタンバイ」とクリックする。 ●「休止状態」: メモリの内容をハードディスクに退避してから全デバイスの電源をオフ。作業を中断した状態からの再開ができる。ノートPCでは電池が消耗しない。
2017/3/2 情報処理 第8回.
Microsoft PowerPoint98 Netscape Communicator 4.06[ja]
Microsoft PowerPoint98 Netscape Communicator 4.06[ja]
パワーポイントの使い方 東京女子大学 情報処理センター 浅川伸一.
情報処理 第7回.
パソコン教室(Word) ワークフロア清柳
デスクトップを画像として保存する(1) ① デスクトップの画像をクリップボードへコピーする。
2017/3/7 情報処理 第8回.
ファイルやフォルダを検索する ①「スタート」→「検索」→「ファイルとフォルダ」とクリックする。
PCの情報を得る - 「システム情報」 ①「スタート」→「すべてのプログラム」→「アクセサリ」→「システム ツール」→「システム情報」とクリックする。 ②左欄の項目を選択すると、右欄に情報が表示される。
情報処理 教材 プレゼンテーションソフト PowerPoint 高知大学 共通教育 理学部 対象 塩田
情報処理 第12回の教材 プレゼンテーションソフト PowerPoint 高知大学 共通教育 理学部 対象 担当教員 : 塩田
2007 Microsoft Office system クイックガイド
情報理工学部 情報システム工学科 ラシキアゼミ3年 H 岡田 貴大
情報処理入門A・B 第8回 プレゼンテーション支援ツール
エクセル(1)の目次 起動法、ブック、シート、セル ブックの開き方 エクセル画面 マウスポインターの種類 シート数の調節 データの入力法
エクセル(2)の目次 セル範囲の指定方法 データの消去法 アクティブセルの移動 セル内容の複写と移動 セル幅の変更方法
デスクトップを画像として保存する(1) ① デスクトップの画像をクリップボードへコピーする。
Netscape Communicator Eudora Microsoft Word
F5 を押すか、または [スライド ショー] > [最初から] をクリックして、コースを開始してください。
アプリケーション共有機能 〈参考〉 (図1) (図2)
情報処理 第6回.
平成22年度に実施を予定するインターネットを 用いた研修システムによる研修 ライブ配信受講手順書
Microsoft Office 2010 クイックガイド ~応用編~
メッセージ機能 相手にメッセージを送信する 04 送信する相手を選んでメッセージを送信します。
マイクロソフト Access を使ってみよう 第4回
川口真司 松下誠 井上克郎 大阪大学大学院情報科学研究科
Microsoft PowerPoint Netscape Communicator
経営工学基礎演習a PowerPointの利用.
10 Microsoft Word(1) 10.1 Microsoft Word v.Xの概要 起動 終了
情報処理 第7回 表がある文書の作成.
Office IME 2010 を使う.
VBA ( Visual BASIC for Application) を使えるようにする方法
Windows Vista ウィルスバスターインストール方法 ユーザーアカウント制御の無効化 ウィルスバスターのインストール
単語登録(1) ◎MS-IMEの「単語登録」に、単語、語句、記号など自分がよく使うものを登録しておくと、便利である。
2019/2/24 情報処理 第13回.
3.1 PowerPoint の概要 PowerPointを使ってできること
諸連絡 USBメモリの販売について 日時:6月23日(月)授業開始前 商品:プリンストン社製32MBのUSBメモリ
Windows XP  ウィルスバスターインストール方法.
コンピュータ プレゼンテーション.
スイッチを入れる前に… 講習を受けていない人は、まだスイッチを入れないこと。 まず講習を受けてセットアップを行ってください 注意.
テキスト 1 行目 テキスト 2 行目 テキスト 3 行目 (初級) 森の背景の上にフェード インするアニメーション化されたキャプション
インタラクティブ・ゲーム制作 プログラミングコース 補足資料
7-0.SWORD Client for WEKO インストールマニュアル Version 2.2
ソフトウェア保守のための コードクローン情報検索ツール
ここに 表題や引用文が入る 背景への図の使用とキャプションへのテクスチャの適用 (中級)
エクセル(2)の目次 セル範囲の指定方法 データの消去法 アクティブセルの移動 セル内容の複写と移動 セル幅の変更方法
ファイルやフォルダを検索する ①「スタート」→「検索」とクリックする。 ②「表示項目」から適当なものを選択する。
高度プログラミング演習 (01).
情報基礎演習I(プログラミング) 第8回 6月8日 水曜5限 江草由佳
図や表の作成 ここでの目標.
Cp-1. Microsoft Visual Studio 2019 C++ の使い方 (C プログラミング演習,Visual Studio 2019 対応) 金子邦彦.
スライドの終わりまでテキストが繰り返しスクロールされます • スライドの終わりまでテキストが繰り返しスクロールされます •
単語登録(1) ◎MS-IMEの「単語登録」に、単語、語句、記号など自分がよく使うものを登録しておくと、便利である。
Presentation transcript:

CloneWarrior http://se.aist-nara.ac.jp/clonewarrior/ 大杉 直樹†, 神谷 年洋‡, 門田 暁人†, 松本 健一† †奈良先端科学技術大学院大学 情報工学科 {naoki-o, akito-m, matumoto}@is.aist-nara.ac.jp ‡科学技術振興事業団 さきがけ研究21 kamiya@ist.osaka-u.ac.jp SEA関西SPIN

内容 CloneWarrior 概要 検索対象のコード サンプルコード コードクローン 利用手順 今後の課題 SEA関西SPIN

概要 GUIベースのコードクローン視覚化ツール 容易なセットアップ シンプルなインタフェース 高速コードクローン検索 InstallShield によるセットアップウィザード シンプルなインタフェース マウス操作によるコードクローンの検索,閲覧 高速コードクローン検索 CCFinder によるコードクローン検索 コードクローン分析作業の保存 コードクローン,オプション設定,ビューの状態を保存 コーディング作業との高い親和性 ソースコードの変更を追跡 SEA関西SPIN

アーキテクチャ CloneWarrior CCFinder Interfaces Source code list manager CCFinder controller Source code list view Source code list manager Source code selection information CCFinder Code clone list view Code clone detector User Code clone list manager Code clone selection information Source codes and Code clones Information Source code editor Source code editor Source codes SEA関西SPIN

画面の概要 検索対象のコードの一覧 サンプルコードの一覧 検索対象のコード サンプルコード コードクローン コードクローンの一覧 SEA関西SPIN

検索対象のコード(1/2) 検索対象のコードの一覧 検索対象のコード SEA関西SPIN

検索対象のコード(2/2) コードクローンを検索する対象のソースコード HDD上に記録されているソースコードを指定する コードクローンが含まれている可能性があるソースコードを指定する 下記の何れかの言語で書かれているソースコードを指定する C; C++; Java; COBOL; COBOL/S; HPL; Emacs Lisp; FORTRAN; Plain Text SEA関西SPIN

サンプルコード(1/2) サンプルコードの一覧 サンプルコード SEA関西SPIN

サンプルコード(2/2) 検索対象のコードと比較するコード断片(コードの一部,或いは,全部) 検索対象のコードの一部(或いは,全部)をコピー&ペーストして指定する 検索対象のコードの一部に類似している可能性があるコード断片を指定する 記述言語は切り取り元の検索対象のコードに準ずる SEA関西SPIN

コードクローン(1/2) コードクローン コードクローンの一覧 SEA関西SPIN

コードクローン(2/2) 検索対象のコードとサンプルコードの間の類似したコード断片 検索対象のコードの一部(或いは,全部)と類似したサンプルコードの一部(或いは,全部)が検出される [最小クローンサイズ]オプションで指定したトークン数以上,類似したトークンを含むものが検出される 検出されるコードクローンは CCFinder の実装に依存する SEA関西SPIN

利用手順 セットアップ CloneWarrior の起動 プロジェクトの作成 オプションの設定 検索対象のコードの追加 サンプルコードの追加 プロジェクトの保存 コードクローンの検索 検索結果の閲覧 その他の機能 SEA関西SPIN

セットアップ CloneWarrior セットアッププログラムをメディアからコピーしてください セットアッププログラムは以下のURLからダウンロードすることもできます http://se.aist-nara.ac.jp/clonewarrior/CloneWarrior_1_6_7_26.zip setup.exe を実行し,セットアッププログラムの支持に従ってセットアップを行ってください SEA関西SPIN

CloneWarrior の起動 Windowsの [スタート] メニューで [すべてのプログラム(P)]→[NAIST CloneWarrior 1.6]→ [CloneWarrior1.6] を選択して CloneWarrior を起動してください SEA関西SPIN

プロジェクトの作成 「プロジェクトの新規作成」ダイアログで新しく作成するプロジェクトの名前を入力してください. プロジェクトの名前は,ユーザがプロジェクトを識別するための文字列です. 入力できる文字に制限はありません. 入力が終わったら,[OK] ボタンを押して「プロジェクト」の名前を決定してください. SEA関西SPIN

プロジェクトについて CloneWarrior プロジェクトファイル(拡張子cwp)はコードクローン検索作業の保存単位です プロジェクトファイルには,以下の情報が保存されます プロジェクト名 追加された,検索対象のコード 追加された,サンプルコード 検索された,コードクローン プロジェクトファイルを開くことで, 以前に行った検索作業を再開することができます プロジェクトの保存方法は「プロジェクトの保存」で説明します SEA関西SPIN

オプションの設定 コードクローンの検索方法や,画面の表示方法に関するオプションを設定してください 設定したオプションは CloneWarrior 終了時に ini ファイルに保存され,次回起動時に再現されます [ヘルプ] ボタンを押すと, 設定項目についての説明 が表示されます SEA関西SPIN

検索対象のコードの追加 ボタンを押して,追加するソースコードを選択してください 以下のディレクトリにインストールされている Java のサンプルコードを追加してみてください D:\Program Files\NAIST CloneWarrior\samples\ multiprogressbar\jp\ac\aist_nara\is\naoki_o\progressbar SEA関西SPIN

検索対象のコードの一覧 ここをクリックすると「名前」でソートします.もう一度クリックすると,ソートの方向(降順,昇順)を入れ替えます ここをドラッグして左右にスライドさせると,「検索対象のコードの一覧」の幅を変更することができます SEA関西SPIN

検索対象のコードの表示 表示されている検索対象のコードをダブルクリックすると,そのコードの内容をテキストエディタ部分に表示します. SEA関西SPIN

サンプルコードの追加(1/3) ボタンを押してください 空白のサンプルコードが追加されます ユーザはカット&ペースト等で,サンプルコードを編集することができます SEA関西SPIN

サンプルコードの追加(2/3) 検索対象のコードの一覧で,マウスを右クリックしてください ポップアップメニューから [サンプルコードとして追加(E)] を選択してください 検索対象のコードの一覧で選択している,検索対象のコードのテキスト(ソースコード全体)が,サンプルコードとして追加されます SEA関西SPIN

サンプルコードの追加(3/3) テキストエディタで,サンプルコードにする部分を選択し,マウスを右クリックしてください ポップアップメニューから [サンプルコードとして追加(E)] を選択してください テキストエディタで選択している,検索対象のコードのテキストの一部が,サンプルコードとして追加されます SEA関西SPIN

サンプルコードの一覧 ここをクリックすると「サイズ」でソートします.もう一度クリックすると,ソートの方向(降順,昇順)を入れ替えます ここをドラッグして左右にスライドさせると,「サンプルコードの一覧」の幅を変更することができます SEA関西SPIN

サンプルコードの表示 表示されているサンプルコードをダブルクリックすると,そのコードの内容をテキストエディタ部分に表示します SEA関西SPIN

プロジェクトの保存 ボタンを押し,保存するファイルの名前を入力してください SEA関西SPIN

コードクローンの検索 ボタンを押してください コードクローン検索が完了するまでは,一部のメニューの実行ができなくなります SEA関西SPIN

コードクローンの検索 コードクローン検索中は進行状況がウインドウ右下のステータスバーに表示されます 検索開始前 ccfinder.exe でコードクローン検索中 検出したコードクローンの追加中 検索完了 SEA関西SPIN

コードクローンの一覧 ここをクリックすると「サイズ」でソートします.もう一度クリックすると,ソートの方向(降順,昇順)を入れ替えます ここをドラッグして上下にスライドさせると,「コードクローンの一覧」の高さを変更することができます SEA関西SPIN

コードクローンの表示 表示されているコードクローンを選択すると,コードクローンの範囲をテキストエディタ上で強調表示します SEA関西SPIN

コードクローンの絞込み 一覧で選択された「検索対象のコード」と「サンプルコード」の間に含まれるコードクローンだけが{コードクローンの一覧」に表示されます SEA関西SPIN

コードへの変更の追跡 検索の後,変更があった検索対象のコード,及び,サンプルコードの横には マークが表示される 検索の後,変更があった検索対象のコード,及び,サンプルコードの横には マークが表示される タイムスタンプが変更され検索対象のコードは CloneWarrior が読み込み直す CloneWarrior 組込のテキストエディタによる編集も追跡する 次回検索時には,変更があったコードのみを対象に検索を行う 変更がないコードには新たなコードクローンはないから SEA関西SPIN

今後の課題(1/3) ユーザビリティの改善 「検索対象のコード」,「サンプルコード」という分類を廃止する 「検索対象のコード」,「サンプルコード」という分類は分かりにくいという指摘をいただいたので ユーザインタフェースの国際化(英語化)を行う ドキュメントの国際化(英語化)を行う SEA関西SPIN

今後の課題(2/3) スケーラビリティの改善 検索対象のコードの一覧,サンプルコードの一覧,並びに,コードクローンの一覧の描画処理の経過を示すプログレスバーを実装する 大量のデータを処理すると,リアルタイムに制御が帰ってこなくなるので SEA関西SPIN

今後の課題(3/3) ポータビリティの改善 .NET アプリケーションとしてビルドする 現在,Windows XP などの限られた OS 上でしか動作しないので SEA関西SPIN