Department of Computer Science Graduate School of Information

  • Slides: 29
Download presentation
識別子とその対応するコメントを利用した プログラム理解用名詞辞書自動生成手法 井上研究室 藤木 哲也 Department of Computer Science, Graduate School of Information Science

識別子とその対応するコメントを利用した プログラム理解用名詞辞書自動生成手法 井上研究室 藤木 哲也 Department of Computer Science, Graduate School of Information Science & Technology, Osaka University 修士論文発表会 2021/10/22 1

名詞とコメントの収集 1. 識別子とコメントの組を取得 2. 識別子から名詞の抽出 3. 名詞とコメントの対応付け /** * SELabolatory improve software’s reliability *

名詞とコメントの収集 1. 識別子とコメントの組を取得 2. 識別子から名詞の抽出 3. 名詞とコメントの対応付け /** * SELabolatory improve software’s reliability * and maintainability by Analyze. Code. Static. Method , * Analze. Code. Dynamic. Method and refactor. Method. */ public class SELabolatory { String prof, ap, asp, std; ・・・ } se SELabolatory improve ・・・. laboratory SELabolatory improve ・・・. 名詞とコメント集合の組 修士論文発表会 2021/10/22 5

頻出フレーズの抽出 1. コメント中の文の構文木を取得 p構文解析器Enju[2]の利用 p単語を頂点とするグラフ 2. グラフ群に対し頻出グラフマイニング[3] pグラフ群の中で複数出現する部分グラフを取得 SELabolatory improve software’s reliability and maintainability

頻出フレーズの抽出 1. コメント中の文の構文木を取得 p構文解析器Enju[2]の利用 p単語を頂点とするグラフ 2. グラフ群に対し頻出グラフマイニング[3] pグラフ群の中で複数出現する部分グラフを取得 SELabolatory improve software’s reliability and maintainability by ・・・ software’s improve and reliability maintainability software’s enrich cost and 頻出フレーズ {maitainability, and, software’s} maintainability [2] http: //www-tsujii. is. s. u-tokyo. ac. jp/enju/ [3]多頻度グラフマイニング手法の一般化, 猪 口,鷲尾, 元田, 人 知能学会論文誌, Vol. 19, No. 5, pp. 368 -378 修士論文発表会 2021/10/22 6

説明文の作成 n 頻出フレーズから文を作成 p頻出フレーズを含むコメント集合中の文の語順や活用を利用 p代表的な文を選択 n 単語の補完 p文の構造的に欠けている要素を補完 頻出フレーズ {maitainability , and , software’s}

説明文の作成 n 頻出フレーズから文を作成 p頻出フレーズを含むコメント集合中の文の語順や活用を利用 p代表的な文を選択 n 単語の補完 p文の構造的に欠けている要素を補完 頻出フレーズ {maitainability , and , software’s} 文の作成 software’s and mainanability 単語の補完 頻出フレーズを含む文 SELabolatory improve software’s reliability and maintainability by Analyze. Code. Static. Method , Analze. Code. Dynamic. Method and refactor. Method. Improve software’s reliability and maitainablity 修士論文発表会 2021/10/22 7

評価実験:問題の例 1. 2. クラス名:Win. Pcap. Stat pcapの説明:capturing packets from any of the open pcap

評価実験:問題の例 1. 2. クラス名:Win. Pcap. Stat pcapの説明:capturing packets from any of the open pcap sessions 3. コードA コードB コードC public class ●●● { ・・・ public final class●●●{ ・・・ //Returns the current Security Identifier public String get. SID() { return m_sid; } // number of packets public long get. Capt() { return super. capt; } //Gets the name of the ball deliverer. public String get. Deliverer() { return deliverer; } ・・・ } private static Filename●●● cclog = new CCLog●●●; … ・・・ } } 修士論文発表会 コードD ・・・ } 2021/10/22 10

名詞の抽出 識別子から単語へ切り分け pキャメルケース(例.Camel. Case→{camel, case}) pスネークケース(例.snake_case→{snake, case}) 名詞の判定 p. Stanford Log-linear Part-Of-Speech Tagger[6] •

名詞の抽出 識別子から単語へ切り分け pキャメルケース(例.Camel. Case→{camel, case}) pスネークケース(例.snake_case→{snake, case}) 名詞の判定 p. Stanford Log-linear Part-Of-Speech Tagger[6] • 品詞解析器 p判定できないものは名詞とする [6]http: //nlp. stanford. edu/software/tagger. shtml 修士論文発表会 2021/10/22 16

補完の例 V S V O S V V S S O O V V

補完の例 V S V O S V V S S O O V V S O 修士論文発表会 O 2021/10/22 19