野口
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
開始行:
[[野口]]
*Memo [#a11824de]
[[研究テンプレート]]~
[[研究室タスク管理:https://docs.google.com/spreadsheets/d...
[[ガントチャート:https://docs.google.com/spreadsheets/d/1...
#ls
*Schedule [#c92c4e93]
|CENTER:|CENTER:|CENTER:|CENTER:|CENTER:|CENTER:|c
| |''Mon'' |''Tue'' |''Wed'' |''Thu''|''Fri''|h
|1| | MT | | | |
|2| | 生態 | 全M | | 情ネ |
|3| ソ特 | TA | | 大ゼ | |
|4| ソ特 | TA | | 環境 | |
|5| | | | | |
~
*査読結果 [#z2d86421]
*ミーティング [#w8be4d79]
*12/17 [#qfd39bad]
-コードレビュー時にコードクローンもレビューされているかど...
*11/19 [#ka0de68d]
**DONE [#s0f74f11]
-変更箇所の特定には2つのファイルの差分をASTのノード単位で...
--GumTree:Fine-grained and Accurate Source Code Differenc...
--Javaプログラム上でGumTreeを実行できるようになった
-先行研究のデータセットにContext Bugのデータがあると思っ...
-Context Bugを取得するにはContext Bugの研究で配布されてい...
-Context Bugを取得するプログラムを実行できるように変更す...
*11/12 [#s1071fe5]
- 先行研究ではContext Bugはどの部分が適切に変更されなかっ...
-- Context Bugを修正する際にどの部分に変更が加えられたか...
-- コード複製時に複製先で変更すべき箇所の候補を特定するア...
--- 複製するコード片の外部と関連がある部分を特定し,要変...
--- アルゴリズムでは分析結果をもとに,特に変更に気をつけ...
-- アルゴリズムが特定した変更すべき箇所の候補とコード複製...
**DONE [#k735d851]
-先行研究のContext Bugのデータセットを使えることがわかった
*11/5 [#g6012307]
**DONE [#bde0f7a0]
-欠陥修正箇所が重複したコードに含まれる場合の修正の難しさ...
--欠陥修正箇所が重複したコードに含まれる不具合票とそうで...
---Maintainability Index(保守のし易さを示すメトリクス)
---不具合が報告されてからクローズされるまでの時間
-Maintainability Indexの調査
--以下の式で求められる
---Maintainability Index = 171 - 5.2 * ln(Halstead Volume...
--JavaのプロジェクトのMaintainability Indexを計測するフリ...
---https://github.com/rasioatmaja29/MaintainabilityIndex
*10/29 [#ga4138e9]
**DONE [#t32f3a5e]
-2章(背景目的の部分)だけ書いた
--クローン片を変更することで同じクローン集合に属するクロ...
--クローンに加えるべき変更の調査手順を減らしつつ安全に変...
-大まかな特定手順
--変更を加える部分がクローン片かどうかをチェック
--クローン片ならばクローン片とペアを成すクローン集合を検出
--クローン集合内で変更が必要なクローン片を特定
--同時に変更が必要なクローン片の内部で変更が必要な箇所を...
--クローン片と関連する部分で変更が必要な箇所を特定
-気になること
--影響波及解析の手法が使えるかどうか
-「クローンに限らず変更予測は必要では?」という疑問に対して
-- 変更範囲が広くなると考えられることからどの部分を変更す...
**TODO [#g5ba6703]
-Maintainability Indexの調査
--欠陥混入クローンの修正の難しさを測定したい
-Maintainability Indexが使えるかの調査
-使える場合はMaintainability Index用いて欠陥混入クローンの
*10/24 [#w7a715f8]
**DONE [#a8ddff69]
-どのようなクローンにどのような変更を加えるとBTSで報告さ...
--クローンのブロックの種類(for文,if文など)
--加えた変更(メソッド呼び出しを追加,宣言文を削除など)
--扱う不具合票は「Bug」とカテゴライズされたものに絞る
-変更を加えるクローンの内部の状態やクローン周辺の状態によ...
--内部の状態(クローンの複雑度,規模)
--周辺(データフローや制御フローに関連がある部分,同じフ...
*10/15 [#y25a0edb]
**DONE [#k1fea2d7]
-分析方法
--クローンにどのような変更が加えられたかを調査し、クロー...
*9/12 [#r0d94706]
**DONE [#xd1d70e0]
-Antlr4で構文木を作るところまではできた
-コード片をCRD形式に出力する方法を模索中
*9/5 [#h92ca784]
**DONE [#j91c2c0d]
-ツール実装のために必要な技術を勉強中
*8/20 [#t3dad7ac]
**DONE [#e4cbdbd1]
-ツールは一通り完成
-処理の並列化の途中
**TODO [#uae4f463]
-ツールの欠陥混入クローン特定方法の厳密さに難あり
-見直す必要あり
-変更追加リビジョンで変更されたクローンが修正リビジョンで...
*8/7 [#x74a7de4]
**DONE [#tebfb4e2]
-ECTECのCRD生成部分のコード理解の途中
**TODO [#kc34aaba]
-クローンの位置特定の別の方法も考えてみる
-なければCRD生成部分理解,移植続行
*8/1 [#r44d8050]
**DONE [#wc935390]
-AST生成方法の調査
--ECTECではASTの生成はJavaのみに対応している(ライブラリ...
--C/C++やPythonなどの言語を用いたプロジェクトも分析対象と...
--[[antlr4:https://www.antlr.org/]]を用いてCとPythonの構...
-CRDの理解
--ECTECのCRD生成部分のソースコードを読んだ
--CRDを生成するためにASTを生成することができるライブラリ...
**TODO [#uf60068b]
-とにかくECTECのCRD生成機能を使う
*7/25 [#t880e791]
**DONE [#ce05eecb]
-欠陥混入クローンが修正されたことを確認するためにCRDを使...
--欠陥混入リビジョンで変更が加えられたクローンが修正リビ...
--リビジョンをまたいだクローンの位置特定ができていないの...
*7/11 [#v12cc99b]
**DONE [#v9220fa9]
-NiCadとCP-Minerの比較
*6/18 [#c98c0de4]
**DONE [#fa3934cf]
-CP-Minerの入手方法の調査
--CP-Minerを参照している論文を50本ほど見たが,使用してい...
---Scenario-Based Comparison of Clone Detection Technique...
--ある論文では,「CP-Minerの代わりにオープンかつ広く使わ...
---How Often Do Unintended Inconsistencies Happen? —...
-ツールのクローン取り出す部分の修正が完了
-ツールの修正されたクローンの特定する部分の修正中
**TODO [#j9ef930d]
-NICadとCP-Minerの比較
--出力するクローンに違いがあるかなどに注目しながら比較
*6/10 [#ra5da683]
**DONE [#eb2b4991]
-ツールを動かしてみてもまだ思うように動かない状態
*5/30 [#x9e46ac7]
**DONE [#q4930bb0]
-もう少しで実装完了
--修正クローンの特定の実装がほぼ完了
**TODO [#nf93b057]
*5/23 [#aad156c0]
**DONE [#v507917e]
-ツール実装中
--クローンの収集部分は実装できた
--修正クローンの特定の実装に悩んでる途中
**TODO [#cee3d7fb]
-Javaのみで実装してみる
*5/7 [#f1a1d154]
**DONE [#wad33534]
-ツール実装中
**TODO [#h76b1339]
-SZZアルゴリズム関連の理解
-ツールの実装
-commit guruの調査
**TODO [#cf5e4f50]
*4/18 [#tf4c516e]
**DONE [#r8b42c33]
-修正クローン検出ツール設計書
--&attachref(修正クローン検出ツール設計.pdf);
**TODO [#y0fd21e1]
-引き続きRepo Toolsのコード理解
-ツール実装に入る
*4/11 [#t92f9f50]
-研究計画
--&attachref(研究計画.pdf);
*4/3 [#p3692e6a]
-コードクローン検出ツール調査
--&attachref(クローン検出ツール調査.pdf);
*3/14(進捗報告) [#c11043f0]
-以下の論文を読んだ
--Clone Region Descriptors: Representing and Tracking Dup...
--Enhancement of CRD-Based Clone Tracking
-ECTECのソースコード理解途中
-目標はECTECに以下の機能を追加し,欠陥混入クローンの分析...
--欠陥混入クローンの特定
--タイプ3のクローンの検出(できれば)
*1日の活動報告 [#tb6f135c]
**12/11〜12/18 [#g0a8225e]
-卒論の2章,3章の執筆
--RQを設定した理由などを書いた
**12/10 [#ub7b39b4]
-クローンとメトリクスの情報を結びつける処理の記述中(メト...
--Understandが取得したメトリクスの情報で,オーバーロード...
--オーバーロードした関数を含むクローンは正しくメトリクス...
**12/6 [#ed706026]
-クローンIDからクローンのコードの情報を得る処理を行うプロ...
**12/5 [#ed706026]
-クローンIDからクローンのコードの情報を得る処理を行うプロ...
**12/4 [#d7bb7b78]
-欠陥修正クローンを欠陥混入リビジョンまで遡る処理を行った
-欠陥混入クローンがどのリビジョンに存在するかを判別する処...
**11/29 [#j4e68949]
-クローンセットの親子関係を始点と終点を指定してその範囲内...
**11/28 [#o7b4354d]
-久木田さんの修論を再び読んだ
-クローンセットの親子関係の情報から欠陥混入クローンの追跡...
--クローンセットの親子関係はCCTで取得済
*ミーティング [#raa74cf2]
*11/8 [#d1d4d749]
**DONE [#o2f90936]
-メトリクス計測完了
-RQ1分析途中
*11/1 [#ac513be3]
**DONE [#e6b55fca]
-RQ1の分析の下準備中
**TODO [#w073e965]
-分析の続き
--メトリクス結果:11/4(日曜日)まで 済
--RQ1結果:11/7(水曜日)まで
--RQ2-2,3:11/9(金曜日)まで
--RQ2-1:11/10(土曜日)から
*10/25 [#sce30294]
**DONE [#h36a5b4b]
-分析手順を考えた:&attachref(分析手順.pdf);
-質問内容
--メソッドに欠陥がある場合,その影響が及ぶのはそのメソッ...
**TODO [#j3090857]
-分析開始
*10/18 [#a33840ee]
**DONE [#rb75603d]
-RQについては先週考えたものの他に思いつくものがなかった
-Understandについて少しだけ調べた
--brainで使えることを確認
--コマンドラインで使えることがわかった
**TODO [#a5ae20cd]
-分析設計を完了する
*10/11 [#o8ff60a8]
**DONE [#u3cdf6a8]
-RQを考えた
**TODO [#nb9ca828]
-RQをもうすこし熟考する
-実験方法を考える
*10/4 [#a4846198]
**DONE [#obf4ced1]
-背景,目的の整理
**TODO [#z788a818]
-RQを再び決める
-決まって実験が出来るようであればする
*9/18 [#re2b9217]
**DONE [#w4128ace]
-RQ1の実験の途中
**TODO [#vd26e80f]
-RQ1の実験
-RQ2の実験の用意
*9/11 [#zbd1ce1e]
**DONE [#tdf4197b]
-2,3章の修正,bibtexの導入
**TODO [#ja9e3aae]
-RQ1の実験を行う
-できればRQ2の実験も行う
*8/28 [#qe9c8b85]
**論文注意点 [#p981593e]
-「かなり」,「手軽な」などの主観がこもった表現を使わない
-2章のタイトルがまずい
-論文参照の部分を作る(bibtexを使う)
-一度全体を箇条書きで書きなおす
-何を解決するか決めるためにRQを設定する
**その他問題点 [#t403f3de]
-静的解析ツールで検出されなかったクローンは動的解析ツール...
-目視は何を知りたいかでどのようなことに注目して行うかを決...
*8/20 [#md61396a]
**DONE [#tcf14532]
-2章書いた
*8/6 [#ab144c5d]
**DONE [#fe4b5726]
-Texで卒論を書けるようになるまで準備を整えた
-クローンのメトリクスを分析した論文を見つけた
--Comparing Quality Metrics for Cloned and Non Cloned Jav...
**TODO [#cd1778b0]
-先に目次を作る.次に実験→分析→アプローチなどの順番で卒論...
-分析を進める
*7/30 [#lb5a0e4d]
**DONE [#wadf99b6]
-UnderstandがOSS-BRAINにインストールされていることがわか...
-どのようなソースコードメトリクスを使うべきか論文を読むな...
**TODO [#s2d755ab]
-卒論を書いてみる(先輩の論文を参考にする,先輩に見せる)
-Texを使ってみる
*7/23 [#g4bf5eda]
**DONE [#j51e1863]
-久木田さんに疑問点について質問し,szzClones.csvからバグ...
-不具合修正コミットで変更があったクローンの情報を収集した...
**TODO [#x55f656e]
-ソースコードメトリクスを測るためのツール「Understand」を...
-どのようなメトリクスを使うべきかを考える(論文を読む)
*7/11 [#gd4e17e6]
**DONE [#t455c7b5]
-今までCCTのDBにあるSZZテーブルはバグ票に結びついたクロー...
-バグ票に結びついたクローンはszzClones.csvというファイル...
**TODO [#u75af396]
-久木田さんにメール
*7/2 [#n302d7f5]
**DONE [#y8379c0e]
-片桐さんのツールの出力結果が正しいことを確かめた
**TODO [#od3dbab7]
-片桐さんが出したクローン数などのデータが正しいかどうかを...
*6/25 [#z8d35d8b]
**DONE [#xc8e0d50]
-RQ1を調べた:&attachref(fb_szz.xlsx);
--片桐さんのFindBugsのデータの中からBugラベルが付いたクロ...
**TODO [#x8b5fc6d]
-片桐さんが出したデータを再現できるかどうかを調べる
-再現できそうなら再現してみる
*6/19 [#w0126299]
**DONE [#ec13e6c9]
-RQを考えてきた
--RQ1:バグが混入しているクローンに頻出するFindBugsのバグ...
--RQ2:バグが混入しているクローンの中でFindBugsでは見つけ...
--RQ3:バグが混入しているクローンの内FindBugsでは見つける...
--RQ4:クローンに結びついていてFindBugsでは見つけられなか...
**TODO [#h207ff02]
-RQ1について調べてくる
*6/11 [#cd81b1a9]
**DONE [#y5a7f416]
-久木田さんにメールで質問をした
--rootCloneIdは追跡の起点となるクローン集合のIDのこと
--cloneTraceStatus.csvはクローンの追跡の助けになるもの
-RQはまだ思いついていない
**TODO [#gc7e929d]
-片桐さんのRQの差分を考える
-findbugsの結果が実際のバグとどう関係があるかを調べる
-findbugsで見つけられなかったバグでクローンに結びついてい...
*6/4 [#g68fca5d]
**DONE [#kdf669de]
-目視完了:&attachref(bug_labbeld_clone.xlsx);
--「observable、observer」、「競合」、「backpressure」、...
--例外処理によるバグはプロジェクトの初期から少し経った辺...
--まだ調べるべきことがないか少し不安
-不具合票に結びついたクローン系譜を見るためのプログラムを...
-RxJavaの勉強をしたが、難しい部分があるため十分に理解でき...
**TODO [#e26120a9]
-RQを4つほど考えて卒論を書いてみる
-CCTの動作が正しいかどうか確かめる(久木田さんにメールす...
*5/28 [#l5f86b20]
**DONE [#fb3ec3ec]
-30個ほど目視した
--オペレータ以外の目立った特徴は見られなかったが、見落と...
**TODO [#s876d6f4]
-RxJavaについてより詳しく理解する
-残りの目視を行う
-クローン系譜を見る
**DOING [#a1838e41]
*5/21 [#l5f86b20]
**DONE [#fb3ec3ec]
-bugラベルがついたクローンに特徴があるかどうかを目視で分析
--operatorというディレクトリの下にあるソースコードに不具...
--しかし、bugラベルがついたissue全体でoperatorの下のソー...
-ちなみに、RxJavaでのoperatorとはデータの流れを操作したり...
**TODO [#ic4a96a0]
-残りissueを目視
-クローン系譜も見てみる
**DOING [#t5e627f9]
*5/14 [#tf45ea40]
**DONE [#y89dffe4]
-bugラベルがついたgithubのissueとクローンが結びついたもの...
--issueのみに結びついたものは142個中、19個(片桐さんが調べ...
--プルリクエストを含むissueに結びついたものは351個中、108...
**TODO [#te2b27fa]
-bugラベルがついたissueを目視する(例外処理があれば見ない...
-特徴があれば続行、なければ相談
**DOING [#s99775c9]
--Bug Propagation/FindBugsの論文で使っているプロジェクト...
*5/7 [#tf45ea40]
**DONE [#y89dffe4]
-RxJavaのCCTのデータからクローンと結びついた不具合票をい...
--バグに関することだけでなくリファクタリングを行うなどの...
--あるリビジョンでクローンに多くの不具合が混入した
---変更を加えられたファイルの数は1032個
---挿入された行数は134671行
---削除された行数は134674行
--実際は不具合票に対してどのような分析を行うべきかまだ決...
**TODO [#q21637c6]
-ラベルが「bug」であるissueの内、クローンと結びついている...
-不具合票に対してどのような分析を行うべきかを考える
**DOING [#s99775c9]
--Bug Propagation/FindBugsの論文で使っているプロジェクト...
*4/23 [#tf45ea40]
**DONE [#y89dffe4]
-RxJavaのクローンとバグの分析を少しだけ行った
--&attachref(RxJavaのクローンとバグの分析(途中).pdf);
**TODO [#q21637c6]
-CCTのデータを使って分析を開始する
**DOING [#s99775c9]
--Bug Propagation/FindBugsの論文で使っているプロジェクト...
*4/16 [#tf45ea40]
**DONE [#y89dffe4]
-既存研究と自分がしたい研究の差分を考えた
--&attachref(研究テーマ案.pdf);
**TODO [#q21637c6]
--RxJavaのデータで分析開始
--
**DOING [#y56e9355]
--Bug Propagation/FindBugsの論文で使っているプロジェクト...
**DOING [#q044dd96]
--CCTのソースコード読解,テーブル理解
--大石さんの卒論を読む
--研究テーマを具体的に絞り込む
*4/9 [#tf45ea40]
**DONE [#y89dffe4]
-森脇さんのクローン系譜の論文を読んだ
--メモ:&attachref(クローン系譜_森脇_修論(メモ).pdf);
-CCTのソースコードを少しだけ読んだ
--メモ:&attachref(cct_source_understand.pdf);
-研究テンプレートに必要事項を記入した
--&attachref(研究テンプレート.pdf);
**TODO [#q21637c6]
--研究テーマスライド作成:既存研究(片桐先輩)との差分を...
**DOING [#q044dd96]
--CCTのソースコード読解,テーブル理解
--大石さんの卒論を読む
--研究テーマを具体的に絞り込む
*4/2 [#tf45ea40]
**DONE [#y89dffe4]
-以下の論文を読んだ
--A Comparative Study of Bug Patterns...の残り
---メモ:&attachref(A Comparative Study of Bug Patterns i...
--Bug Propagation through Code Cloning:...
---メモ:&attachref(Bug Propagation through Code Cloning:...
**TODO [#q21637c6]
--コードクローンの系譜:http://sel.ist.osaka-u.ac.jp/lab-...
**DOING [#q044dd96]
--CCTのソースコード読解,テーブル理解
--大石さんの卒論を読む
--研究テーマを具体的に絞り込む
*3/29 [#tf45ea40]
**DONE [#y89dffe4]
-以下の論文を読んだ
--片桐さんの卒論
--A Comparative Study of Bug Patterns...の7ページまで
**TODO [#q21637c6]
--読解が難しかったところを報告する(読んでもらう)
--A Comparative Study of Bug Patterns in Java Cloned and ...
--Bug Propagation through Code Cloning: AnEmpirical Study
**DOING [#q044dd96]
--CCTのソースコード読解,テーブル理解
--大石さんの卒論を読む
--研究テーマを具体的に絞り込む
*3/23 [#q5874f1c]
**DONE [#o8fee665]
-CCTの使い方を不具合の紐付けのやり方以外覚えた
-コードクローンの論文を5つほど読んだ
--久木田さんの論文
--生成抑止,分析効率化,不具合検出を中心としたコードクロー...
--An Empirical Study of the Impacts of Clones
--Evaluating Code Clone Genealogies at Release Level
--Frequency and Risks of Changes to Clones
**TODO [#q044dd96]
--片桐さんの卒論を読む
--A Comparative Study of Bug Patterns in Java Cloned and ...
---http://ieeexplore.ieee.org/document/6975632/
---論文(&attachref(A Comparative Study of Bug Patterns i...
--Bug Propagation through Code Cloning: AnEmpirical Study
---論文(&attachref(Bug_Propagation_through_Code_Cloning....
**DOING [#q044dd96]
--CCTのソースコード読解,テーブル理解
--大石さんの卒論を読む
--研究テーマを具体的に絞り込む
*3/8 [#q5874f1c]
**DONE [#o8fee665]
**TODO [#q044dd96]
-大石さんと片桐さんの研究の引き継ぎ
-CCTの使い方を覚える
-コードクローン関係の論文を読む
終了行:
[[野口]]
*Memo [#a11824de]
[[研究テンプレート]]~
[[研究室タスク管理:https://docs.google.com/spreadsheets/d...
[[ガントチャート:https://docs.google.com/spreadsheets/d/1...
#ls
*Schedule [#c92c4e93]
|CENTER:|CENTER:|CENTER:|CENTER:|CENTER:|CENTER:|c
| |''Mon'' |''Tue'' |''Wed'' |''Thu''|''Fri''|h
|1| | MT | | | |
|2| | 生態 | 全M | | 情ネ |
|3| ソ特 | TA | | 大ゼ | |
|4| ソ特 | TA | | 環境 | |
|5| | | | | |
~
*査読結果 [#z2d86421]
*ミーティング [#w8be4d79]
*12/17 [#qfd39bad]
-コードレビュー時にコードクローンもレビューされているかど...
*11/19 [#ka0de68d]
**DONE [#s0f74f11]
-変更箇所の特定には2つのファイルの差分をASTのノード単位で...
--GumTree:Fine-grained and Accurate Source Code Differenc...
--Javaプログラム上でGumTreeを実行できるようになった
-先行研究のデータセットにContext Bugのデータがあると思っ...
-Context Bugを取得するにはContext Bugの研究で配布されてい...
-Context Bugを取得するプログラムを実行できるように変更す...
*11/12 [#s1071fe5]
- 先行研究ではContext Bugはどの部分が適切に変更されなかっ...
-- Context Bugを修正する際にどの部分に変更が加えられたか...
-- コード複製時に複製先で変更すべき箇所の候補を特定するア...
--- 複製するコード片の外部と関連がある部分を特定し,要変...
--- アルゴリズムでは分析結果をもとに,特に変更に気をつけ...
-- アルゴリズムが特定した変更すべき箇所の候補とコード複製...
**DONE [#k735d851]
-先行研究のContext Bugのデータセットを使えることがわかった
*11/5 [#g6012307]
**DONE [#bde0f7a0]
-欠陥修正箇所が重複したコードに含まれる場合の修正の難しさ...
--欠陥修正箇所が重複したコードに含まれる不具合票とそうで...
---Maintainability Index(保守のし易さを示すメトリクス)
---不具合が報告されてからクローズされるまでの時間
-Maintainability Indexの調査
--以下の式で求められる
---Maintainability Index = 171 - 5.2 * ln(Halstead Volume...
--JavaのプロジェクトのMaintainability Indexを計測するフリ...
---https://github.com/rasioatmaja29/MaintainabilityIndex
*10/29 [#ga4138e9]
**DONE [#t32f3a5e]
-2章(背景目的の部分)だけ書いた
--クローン片を変更することで同じクローン集合に属するクロ...
--クローンに加えるべき変更の調査手順を減らしつつ安全に変...
-大まかな特定手順
--変更を加える部分がクローン片かどうかをチェック
--クローン片ならばクローン片とペアを成すクローン集合を検出
--クローン集合内で変更が必要なクローン片を特定
--同時に変更が必要なクローン片の内部で変更が必要な箇所を...
--クローン片と関連する部分で変更が必要な箇所を特定
-気になること
--影響波及解析の手法が使えるかどうか
-「クローンに限らず変更予測は必要では?」という疑問に対して
-- 変更範囲が広くなると考えられることからどの部分を変更す...
**TODO [#g5ba6703]
-Maintainability Indexの調査
--欠陥混入クローンの修正の難しさを測定したい
-Maintainability Indexが使えるかの調査
-使える場合はMaintainability Index用いて欠陥混入クローンの
*10/24 [#w7a715f8]
**DONE [#a8ddff69]
-どのようなクローンにどのような変更を加えるとBTSで報告さ...
--クローンのブロックの種類(for文,if文など)
--加えた変更(メソッド呼び出しを追加,宣言文を削除など)
--扱う不具合票は「Bug」とカテゴライズされたものに絞る
-変更を加えるクローンの内部の状態やクローン周辺の状態によ...
--内部の状態(クローンの複雑度,規模)
--周辺(データフローや制御フローに関連がある部分,同じフ...
*10/15 [#y25a0edb]
**DONE [#k1fea2d7]
-分析方法
--クローンにどのような変更が加えられたかを調査し、クロー...
*9/12 [#r0d94706]
**DONE [#xd1d70e0]
-Antlr4で構文木を作るところまではできた
-コード片をCRD形式に出力する方法を模索中
*9/5 [#h92ca784]
**DONE [#j91c2c0d]
-ツール実装のために必要な技術を勉強中
*8/20 [#t3dad7ac]
**DONE [#e4cbdbd1]
-ツールは一通り完成
-処理の並列化の途中
**TODO [#uae4f463]
-ツールの欠陥混入クローン特定方法の厳密さに難あり
-見直す必要あり
-変更追加リビジョンで変更されたクローンが修正リビジョンで...
*8/7 [#x74a7de4]
**DONE [#tebfb4e2]
-ECTECのCRD生成部分のコード理解の途中
**TODO [#kc34aaba]
-クローンの位置特定の別の方法も考えてみる
-なければCRD生成部分理解,移植続行
*8/1 [#r44d8050]
**DONE [#wc935390]
-AST生成方法の調査
--ECTECではASTの生成はJavaのみに対応している(ライブラリ...
--C/C++やPythonなどの言語を用いたプロジェクトも分析対象と...
--[[antlr4:https://www.antlr.org/]]を用いてCとPythonの構...
-CRDの理解
--ECTECのCRD生成部分のソースコードを読んだ
--CRDを生成するためにASTを生成することができるライブラリ...
**TODO [#uf60068b]
-とにかくECTECのCRD生成機能を使う
*7/25 [#t880e791]
**DONE [#ce05eecb]
-欠陥混入クローンが修正されたことを確認するためにCRDを使...
--欠陥混入リビジョンで変更が加えられたクローンが修正リビ...
--リビジョンをまたいだクローンの位置特定ができていないの...
*7/11 [#v12cc99b]
**DONE [#v9220fa9]
-NiCadとCP-Minerの比較
*6/18 [#c98c0de4]
**DONE [#fa3934cf]
-CP-Minerの入手方法の調査
--CP-Minerを参照している論文を50本ほど見たが,使用してい...
---Scenario-Based Comparison of Clone Detection Technique...
--ある論文では,「CP-Minerの代わりにオープンかつ広く使わ...
---How Often Do Unintended Inconsistencies Happen? —...
-ツールのクローン取り出す部分の修正が完了
-ツールの修正されたクローンの特定する部分の修正中
**TODO [#j9ef930d]
-NICadとCP-Minerの比較
--出力するクローンに違いがあるかなどに注目しながら比較
*6/10 [#ra5da683]
**DONE [#eb2b4991]
-ツールを動かしてみてもまだ思うように動かない状態
*5/30 [#x9e46ac7]
**DONE [#q4930bb0]
-もう少しで実装完了
--修正クローンの特定の実装がほぼ完了
**TODO [#nf93b057]
*5/23 [#aad156c0]
**DONE [#v507917e]
-ツール実装中
--クローンの収集部分は実装できた
--修正クローンの特定の実装に悩んでる途中
**TODO [#cee3d7fb]
-Javaのみで実装してみる
*5/7 [#f1a1d154]
**DONE [#wad33534]
-ツール実装中
**TODO [#h76b1339]
-SZZアルゴリズム関連の理解
-ツールの実装
-commit guruの調査
**TODO [#cf5e4f50]
*4/18 [#tf4c516e]
**DONE [#r8b42c33]
-修正クローン検出ツール設計書
--&attachref(修正クローン検出ツール設計.pdf);
**TODO [#y0fd21e1]
-引き続きRepo Toolsのコード理解
-ツール実装に入る
*4/11 [#t92f9f50]
-研究計画
--&attachref(研究計画.pdf);
*4/3 [#p3692e6a]
-コードクローン検出ツール調査
--&attachref(クローン検出ツール調査.pdf);
*3/14(進捗報告) [#c11043f0]
-以下の論文を読んだ
--Clone Region Descriptors: Representing and Tracking Dup...
--Enhancement of CRD-Based Clone Tracking
-ECTECのソースコード理解途中
-目標はECTECに以下の機能を追加し,欠陥混入クローンの分析...
--欠陥混入クローンの特定
--タイプ3のクローンの検出(できれば)
*1日の活動報告 [#tb6f135c]
**12/11〜12/18 [#g0a8225e]
-卒論の2章,3章の執筆
--RQを設定した理由などを書いた
**12/10 [#ub7b39b4]
-クローンとメトリクスの情報を結びつける処理の記述中(メト...
--Understandが取得したメトリクスの情報で,オーバーロード...
--オーバーロードした関数を含むクローンは正しくメトリクス...
**12/6 [#ed706026]
-クローンIDからクローンのコードの情報を得る処理を行うプロ...
**12/5 [#ed706026]
-クローンIDからクローンのコードの情報を得る処理を行うプロ...
**12/4 [#d7bb7b78]
-欠陥修正クローンを欠陥混入リビジョンまで遡る処理を行った
-欠陥混入クローンがどのリビジョンに存在するかを判別する処...
**11/29 [#j4e68949]
-クローンセットの親子関係を始点と終点を指定してその範囲内...
**11/28 [#o7b4354d]
-久木田さんの修論を再び読んだ
-クローンセットの親子関係の情報から欠陥混入クローンの追跡...
--クローンセットの親子関係はCCTで取得済
*ミーティング [#raa74cf2]
*11/8 [#d1d4d749]
**DONE [#o2f90936]
-メトリクス計測完了
-RQ1分析途中
*11/1 [#ac513be3]
**DONE [#e6b55fca]
-RQ1の分析の下準備中
**TODO [#w073e965]
-分析の続き
--メトリクス結果:11/4(日曜日)まで 済
--RQ1結果:11/7(水曜日)まで
--RQ2-2,3:11/9(金曜日)まで
--RQ2-1:11/10(土曜日)から
*10/25 [#sce30294]
**DONE [#h36a5b4b]
-分析手順を考えた:&attachref(分析手順.pdf);
-質問内容
--メソッドに欠陥がある場合,その影響が及ぶのはそのメソッ...
**TODO [#j3090857]
-分析開始
*10/18 [#a33840ee]
**DONE [#rb75603d]
-RQについては先週考えたものの他に思いつくものがなかった
-Understandについて少しだけ調べた
--brainで使えることを確認
--コマンドラインで使えることがわかった
**TODO [#a5ae20cd]
-分析設計を完了する
*10/11 [#o8ff60a8]
**DONE [#u3cdf6a8]
-RQを考えた
**TODO [#nb9ca828]
-RQをもうすこし熟考する
-実験方法を考える
*10/4 [#a4846198]
**DONE [#obf4ced1]
-背景,目的の整理
**TODO [#z788a818]
-RQを再び決める
-決まって実験が出来るようであればする
*9/18 [#re2b9217]
**DONE [#w4128ace]
-RQ1の実験の途中
**TODO [#vd26e80f]
-RQ1の実験
-RQ2の実験の用意
*9/11 [#zbd1ce1e]
**DONE [#tdf4197b]
-2,3章の修正,bibtexの導入
**TODO [#ja9e3aae]
-RQ1の実験を行う
-できればRQ2の実験も行う
*8/28 [#qe9c8b85]
**論文注意点 [#p981593e]
-「かなり」,「手軽な」などの主観がこもった表現を使わない
-2章のタイトルがまずい
-論文参照の部分を作る(bibtexを使う)
-一度全体を箇条書きで書きなおす
-何を解決するか決めるためにRQを設定する
**その他問題点 [#t403f3de]
-静的解析ツールで検出されなかったクローンは動的解析ツール...
-目視は何を知りたいかでどのようなことに注目して行うかを決...
*8/20 [#md61396a]
**DONE [#tcf14532]
-2章書いた
*8/6 [#ab144c5d]
**DONE [#fe4b5726]
-Texで卒論を書けるようになるまで準備を整えた
-クローンのメトリクスを分析した論文を見つけた
--Comparing Quality Metrics for Cloned and Non Cloned Jav...
**TODO [#cd1778b0]
-先に目次を作る.次に実験→分析→アプローチなどの順番で卒論...
-分析を進める
*7/30 [#lb5a0e4d]
**DONE [#wadf99b6]
-UnderstandがOSS-BRAINにインストールされていることがわか...
-どのようなソースコードメトリクスを使うべきか論文を読むな...
**TODO [#s2d755ab]
-卒論を書いてみる(先輩の論文を参考にする,先輩に見せる)
-Texを使ってみる
*7/23 [#g4bf5eda]
**DONE [#j51e1863]
-久木田さんに疑問点について質問し,szzClones.csvからバグ...
-不具合修正コミットで変更があったクローンの情報を収集した...
**TODO [#x55f656e]
-ソースコードメトリクスを測るためのツール「Understand」を...
-どのようなメトリクスを使うべきかを考える(論文を読む)
*7/11 [#gd4e17e6]
**DONE [#t455c7b5]
-今までCCTのDBにあるSZZテーブルはバグ票に結びついたクロー...
-バグ票に結びついたクローンはszzClones.csvというファイル...
**TODO [#u75af396]
-久木田さんにメール
*7/2 [#n302d7f5]
**DONE [#y8379c0e]
-片桐さんのツールの出力結果が正しいことを確かめた
**TODO [#od3dbab7]
-片桐さんが出したクローン数などのデータが正しいかどうかを...
*6/25 [#z8d35d8b]
**DONE [#xc8e0d50]
-RQ1を調べた:&attachref(fb_szz.xlsx);
--片桐さんのFindBugsのデータの中からBugラベルが付いたクロ...
**TODO [#x8b5fc6d]
-片桐さんが出したデータを再現できるかどうかを調べる
-再現できそうなら再現してみる
*6/19 [#w0126299]
**DONE [#ec13e6c9]
-RQを考えてきた
--RQ1:バグが混入しているクローンに頻出するFindBugsのバグ...
--RQ2:バグが混入しているクローンの中でFindBugsでは見つけ...
--RQ3:バグが混入しているクローンの内FindBugsでは見つける...
--RQ4:クローンに結びついていてFindBugsでは見つけられなか...
**TODO [#h207ff02]
-RQ1について調べてくる
*6/11 [#cd81b1a9]
**DONE [#y5a7f416]
-久木田さんにメールで質問をした
--rootCloneIdは追跡の起点となるクローン集合のIDのこと
--cloneTraceStatus.csvはクローンの追跡の助けになるもの
-RQはまだ思いついていない
**TODO [#gc7e929d]
-片桐さんのRQの差分を考える
-findbugsの結果が実際のバグとどう関係があるかを調べる
-findbugsで見つけられなかったバグでクローンに結びついてい...
*6/4 [#g68fca5d]
**DONE [#kdf669de]
-目視完了:&attachref(bug_labbeld_clone.xlsx);
--「observable、observer」、「競合」、「backpressure」、...
--例外処理によるバグはプロジェクトの初期から少し経った辺...
--まだ調べるべきことがないか少し不安
-不具合票に結びついたクローン系譜を見るためのプログラムを...
-RxJavaの勉強をしたが、難しい部分があるため十分に理解でき...
**TODO [#e26120a9]
-RQを4つほど考えて卒論を書いてみる
-CCTの動作が正しいかどうか確かめる(久木田さんにメールす...
*5/28 [#l5f86b20]
**DONE [#fb3ec3ec]
-30個ほど目視した
--オペレータ以外の目立った特徴は見られなかったが、見落と...
**TODO [#s876d6f4]
-RxJavaについてより詳しく理解する
-残りの目視を行う
-クローン系譜を見る
**DOING [#a1838e41]
*5/21 [#l5f86b20]
**DONE [#fb3ec3ec]
-bugラベルがついたクローンに特徴があるかどうかを目視で分析
--operatorというディレクトリの下にあるソースコードに不具...
--しかし、bugラベルがついたissue全体でoperatorの下のソー...
-ちなみに、RxJavaでのoperatorとはデータの流れを操作したり...
**TODO [#ic4a96a0]
-残りissueを目視
-クローン系譜も見てみる
**DOING [#t5e627f9]
*5/14 [#tf45ea40]
**DONE [#y89dffe4]
-bugラベルがついたgithubのissueとクローンが結びついたもの...
--issueのみに結びついたものは142個中、19個(片桐さんが調べ...
--プルリクエストを含むissueに結びついたものは351個中、108...
**TODO [#te2b27fa]
-bugラベルがついたissueを目視する(例外処理があれば見ない...
-特徴があれば続行、なければ相談
**DOING [#s99775c9]
--Bug Propagation/FindBugsの論文で使っているプロジェクト...
*5/7 [#tf45ea40]
**DONE [#y89dffe4]
-RxJavaのCCTのデータからクローンと結びついた不具合票をい...
--バグに関することだけでなくリファクタリングを行うなどの...
--あるリビジョンでクローンに多くの不具合が混入した
---変更を加えられたファイルの数は1032個
---挿入された行数は134671行
---削除された行数は134674行
--実際は不具合票に対してどのような分析を行うべきかまだ決...
**TODO [#q21637c6]
-ラベルが「bug」であるissueの内、クローンと結びついている...
-不具合票に対してどのような分析を行うべきかを考える
**DOING [#s99775c9]
--Bug Propagation/FindBugsの論文で使っているプロジェクト...
*4/23 [#tf45ea40]
**DONE [#y89dffe4]
-RxJavaのクローンとバグの分析を少しだけ行った
--&attachref(RxJavaのクローンとバグの分析(途中).pdf);
**TODO [#q21637c6]
-CCTのデータを使って分析を開始する
**DOING [#s99775c9]
--Bug Propagation/FindBugsの論文で使っているプロジェクト...
*4/16 [#tf45ea40]
**DONE [#y89dffe4]
-既存研究と自分がしたい研究の差分を考えた
--&attachref(研究テーマ案.pdf);
**TODO [#q21637c6]
--RxJavaのデータで分析開始
--
**DOING [#y56e9355]
--Bug Propagation/FindBugsの論文で使っているプロジェクト...
**DOING [#q044dd96]
--CCTのソースコード読解,テーブル理解
--大石さんの卒論を読む
--研究テーマを具体的に絞り込む
*4/9 [#tf45ea40]
**DONE [#y89dffe4]
-森脇さんのクローン系譜の論文を読んだ
--メモ:&attachref(クローン系譜_森脇_修論(メモ).pdf);
-CCTのソースコードを少しだけ読んだ
--メモ:&attachref(cct_source_understand.pdf);
-研究テンプレートに必要事項を記入した
--&attachref(研究テンプレート.pdf);
**TODO [#q21637c6]
--研究テーマスライド作成:既存研究(片桐先輩)との差分を...
**DOING [#q044dd96]
--CCTのソースコード読解,テーブル理解
--大石さんの卒論を読む
--研究テーマを具体的に絞り込む
*4/2 [#tf45ea40]
**DONE [#y89dffe4]
-以下の論文を読んだ
--A Comparative Study of Bug Patterns...の残り
---メモ:&attachref(A Comparative Study of Bug Patterns i...
--Bug Propagation through Code Cloning:...
---メモ:&attachref(Bug Propagation through Code Cloning:...
**TODO [#q21637c6]
--コードクローンの系譜:http://sel.ist.osaka-u.ac.jp/lab-...
**DOING [#q044dd96]
--CCTのソースコード読解,テーブル理解
--大石さんの卒論を読む
--研究テーマを具体的に絞り込む
*3/29 [#tf45ea40]
**DONE [#y89dffe4]
-以下の論文を読んだ
--片桐さんの卒論
--A Comparative Study of Bug Patterns...の7ページまで
**TODO [#q21637c6]
--読解が難しかったところを報告する(読んでもらう)
--A Comparative Study of Bug Patterns in Java Cloned and ...
--Bug Propagation through Code Cloning: AnEmpirical Study
**DOING [#q044dd96]
--CCTのソースコード読解,テーブル理解
--大石さんの卒論を読む
--研究テーマを具体的に絞り込む
*3/23 [#q5874f1c]
**DONE [#o8fee665]
-CCTの使い方を不具合の紐付けのやり方以外覚えた
-コードクローンの論文を5つほど読んだ
--久木田さんの論文
--生成抑止,分析効率化,不具合検出を中心としたコードクロー...
--An Empirical Study of the Impacts of Clones
--Evaluating Code Clone Genealogies at Release Level
--Frequency and Risks of Changes to Clones
**TODO [#q044dd96]
--片桐さんの卒論を読む
--A Comparative Study of Bug Patterns in Java Cloned and ...
---http://ieeexplore.ieee.org/document/6975632/
---論文(&attachref(A Comparative Study of Bug Patterns i...
--Bug Propagation through Code Cloning: AnEmpirical Study
---論文(&attachref(Bug_Propagation_through_Code_Cloning....
**DOING [#q044dd96]
--CCTのソースコード読解,テーブル理解
--大石さんの卒論を読む
--研究テーマを具体的に絞り込む
*3/8 [#q5874f1c]
**DONE [#o8fee665]
**TODO [#q044dd96]
-大石さんと片桐さんの研究の引き継ぎ
-CCTの使い方を覚える
-コードクローン関係の論文を読む
ページ名: