MASU Department of Computer Science Graduate School of
- Slides: 30
メトリクス計測 プラグインプラットフォーム MASUの開発 大阪大学 三宅 達也 肥後 芳樹 井上 克郎 Department of Computer Science, Graduate School of Information Science & Technology, Osaka University
発表の流れ n 研究背景 n 研究目的 n MASUの説明 n メトリクス計測プラグイン実装例 n 関連研究 n まとめと今後の課題 SES 2008 2021/9/25 Department of Computer Science, Graduate School of Information Science & Technology, Osaka University 3
発表の流れ n 研究背景 n 研究目的 n MASUの説明 n メトリクス計測プラグイン実装例 n ソースコード解析ツールとしての応用例 n 関連研究 n まとめと今後の課題 SES 2008 2021/9/25 Department of Computer Science, Graduate School of Information Science & Technology, Osaka University 8
発表の流れ n 研究背景 n 研究目的 n MASUの説明 n メトリクス計測プラグイン実装例 n ソースコード解析ツールとしての応用例 n 関連研究 n まとめと今後の課題 SES 2008 2021/9/25 Department of Computer Science, Graduate School of Information Science & Technology, Osaka University 10
ソースコード解析部~AST構築部~ 言語非依存なAST ソースコード class Sample. Class extends Super. Class{ public void sample(String arg) { System. out. println( arg ); } } Java Class Sample. Class Inherits Super. Class Public Sub Sample(arg as String) Console. Write. Line( arg ) End Sub End Class VB A S T 構 築 部 class Sample. Class : Super. Class { public void sample(String arg){ Console. Write. Line( arg ); } } C# SES 2008 CLASS_DEFINITION NAME Sample. Class INHERITANCE Super. Class CLASSBLOCK_START METHOD_DEFINITION MODIFIERS public RETURN_TYPE void NAME sample PARAMETERS METHOD_PARAM_DEF TYPE String NAME arg BLOCK_START EXPRESSION METHOD_CALL ・ 2021/9/25 ・ Department of Computer Science, Graduate School of Information Science & Technology, Osaka University 14
構文的差異の吸収例~共通ノードを定義~ 言語非依存なAST ソースコード class Sample. Class extends Super. Class{ public void sample(String arg) { System. out. println( arg ); } } Java Class Sample. Class Inherits Super. Class Public Sub Sample(arg as String) Console. Write. Line( arg ) End Sub End Class VB class Sample. Class : Super. Class { public void sample(String arg){ Console. Write. Line( arg ); } } C# A S T 構 築 部 トークンの 違いを吸収 SES 2008 CLASS_DEFINITION NAME Sample. Class INHERITANCE Super. Class CLASSBLOCK_START METHOD_DEFINITION MODIFIERS public RETURN_TYPE void NAME sample PARAMETERS METHOD_PARAM_DEF TYPE String NAME arg BLOCK_START EXPRESSION METHOD_CALL ・ 2021/9/25 ・ Department of Computer Science, Graduate School of Information Science & Technology, Osaka University 16
構文的差異の吸収例~状態定義ノードの埋め込み~ 型 > 名前の順で定義 ソースコード class Sample. Class extends Super. Class{ public void sample(String arg) { System. out. println( arg ); } } Java Class Sample. Class Inherits Super. Class Public Sub Sample(arg as String) Console. Write. Line( arg ) End Sub End Class VB 言語非依存なAST CLASS_DEFINITION METHOD_PARAM_DEF NAME String Sample. Class INHERITANCE arg A S T 構 築 部 名前 > 型の順で定義 class Sample. Class : Super. Class { public void sample(String arg){ METHOD_PARAM_DEF Console. Write. Line( arg ); } arg } String C# 記述順序の 違いを吸収 SES 2008 Super. Class CLASSBLOCK_START METHOD_DEFINITION MODIFIERS public RETURN_TYPE void NAME sample PARAMETERS METHOD_PARAM_DEF TYPE String NAME arg BLOCK_START EXPRESSION METHOD_CALL ・ 2021/9/25 ・ Department of Computer Science, Graduate School of Information Science & Technology, Osaka University 17
MASUのプラグイン作成 MASU提供部 Abstract. Plugin ・・・・・・・ メインモジュールと協調するためのAPI Abstract. Class. Metric. Plugin ・・・・・・・ measure. Class. Metricメソッド Abstract. Method. Metric. Plugin ・・・・・・・ measure. Method. Metricメソッド ユーザ記述部(Plugin実装) CBOPlugin ・・・・・・・ measure. Class. Metricメソッド (ビジネスロジックを実装) Pluginsフォルダ CBOPlugin. jar Cyclomatic. Plugin ・・・・・・・ measure. Method. Metricメソッド (ビジネスロジックを実装) ・・・・・ 登録 (ファルダ内に配置) AOASIA 3 Cyclomatic. Plugin. jar SES 2008 ・・・・・ 2021/9/25 Department of Computer Science, Graduate School of Information Science & Technology, Osaka University 21
発表の流れ n 研究背景 n 研究目的 n MASUの説明 n メトリクス計測プラグイン実装例 n ソースコード解析ツールとしての応用例 n 関連研究 n まとめと今後の課題 SES 2008 2021/9/25 Department of Computer Science, Graduate School of Information Science & Technology, Osaka University 24
プラグイン実装に必要としたコスト n CKメトリクス,サイクロマチック数計測プラグイ ンを試作 計測メトリクス 行数(コメント込の総行数) ビジネスロジック行数 実装時間(分) WMC 31(74) 2 10 DIT 35(81) 8 20 NOC 36(73) 1 10 CBO 61(121) 29 20 RFC 56(117) 7 15 LCOM 114(221) 48 40 Cyclomatic 52(115) 21 25 AOASIA 3 SES 2008 2021/9/25 Department of Computer Science, Graduate School of Information Science & Technology, Osaka University 25
発表の流れ n 研究背景 n 研究目的 n MASUの説明 n メトリクス計測プラグイン実装例 n ソースコード解析ツールとしての応用例 n 関連研究 n まとめと今後の課題 SES 2008 2021/9/25 Department of Computer Science, Graduate School of Information Science & Technology, Osaka University 26
発表の流れ n 研究背景 n 研究目的 n MASUの説明 n メトリクス計測プラグイン実装例 n ソースコード解析ツールとしての応用例 n 関連研究 n まとめと今後の課題 SES 2008 2021/9/25 Department of Computer Science, Graduate School of Information Science & Technology, Osaka University 28
関連研究 n Javaバイトコード解析ツール p Soot: a Java Optimization Framework p WALA. n DucasseらのリエンジニアリングツールMOOSE [3] p 複数言語に対応 p ソフトウェアの視覚化が主目的 n 長谷川の研究 [hasegawa 2008] p AST変換を用いた言語依存ツールの他言語への適用 [3] A. L. Baroni and F. B. Abreu. An OCL-Based Formalization of the MOOSE Metric Suite. In Proc. Of the 7 th ECOOP Workshop on Quantitative Approaches in Object-Oriented Software Engineering, 2003 [9] Soot: a Java Optimization Framework. http: //www. sable. mcgill. ca/soot/ [10] WALA. http: //wala. sourceforge. net/wiki/index. php/Main_Page. [hasegawa 2008] 長谷川 勇. AST変換を用いた他言語へのツール適用. 電子情報通信学会技術研究報告 SES 2008 2021/9/25 SS 2008 -13~26 p 55 -60. Department of Computer Science, Graduate School of Information Science & Technology, Osaka University 29
- Oznaka za masu
- Volumen formula fizika
- Oussep osaka
- Ucl university computer science
- Northwestern computer science department
- Computer science department rutgers
- Stanford computer science department
- Florida state university computer science
- Ubc computer science department
- Bhargavi goswami
- Computer science department columbia
- My favourite subject science
- Lsu thesis statement
- Sgra upm
- Graduate school of korea university
- Honor graduate requirements high school georgia
- Himalayan graduate school of theology
- Uaf thesis format
- Usf applicant portal
- Nau graduate admissions
- Wesley horng
- Editorial office uf
- Ajou university graduate school of international studies
- Time management for graduate students
- Keller graduate school of mgmt
- Kisses of death for the graduate school application
- Nau college apartments
- Twente graduate school
- Towson university psychology
- Rutgers handshake
- Ics graduate school