🗺 Main Research Area
本研究室で主に取り組んでいる研究分野は次の通りです.
- 🛡️ ソフトウェアセキュリティ・ソフトウェア保護(Software Security/Software Protection)
- 📈 実証的ソフトウェア工学(Empirical Software Engineering)
- 🔰 プログラミング教育支援(Computer-Programming Education)
🛡️ ソフトウェアセキュリティ・ソフトウェア保護(Software Security/Software Protection)
ソフトウェアを不正な利用から保護する技術について研究しています. 主に次の不正利用を防ぐ方法に付いて取り組んでいます. この中でも特に,ソフトウェアの不正コピーをいち早く見つけるSoftware Birthmarking関連技術の研究に取り組んでいます.
- ソフトウェアの保護度合いを評価する.
- 堅牢性を評価する.
- 読みやすさ・読みにくさを評価する.
- Readability/Understandability Evaluation
- ソフトウェアの不正コピーを防ぐ.
- ソフトウェアが不正コピーされた事実をいち早く見つける.
- Software Birthmarking
- ソフトウェアが不正コピーされた事実をいち早く見つける.
- ソフトウェア内部の秘密情報を保護する.
- ソフトウェアの解析を困難にする.
- Program Obfuscation
- ソフトウェアの解析を困難にする.
🔍 関連する研究テーマ
- 📍 バースマークによる盗用検出
- 📍 動的バースマークによる盗用検出
- 📍 バースマークの高速比較
- 📍 動的バースマークの事前抽出
- 📍 動的バースマークの自動抽出
- 📍 難読化手法の不自然さ評価
- 📍 Javaプログラムの動的多様化
- 📍 Call Flow Graphの偽装
- 📍 名前難読化の逆変換
- 📍 適用難読化ツールの特定
- 📍 難読化手法の不自然さ評価
- 📍 動的名前解決難読化の逆難読化
📈 実証的ソフトウェア工学(Empirical Software Engineering)
主にプログラム解析や,リポジトリマイニングを使い, ソフトウェアメトリクスの研究,プログラムの解析に取り組んでいます.
- ソフトウェアの読みやすさ,読みにくさを測定する.
- 開発履歴から開発者の特性を分析する.
- リポジトリマイニングからプロジェクトを評価する.
🔍 関連する研究テーマ
🔰 プログラミング教育支援(Computer-Programming Education)
主に,プログラムの初学者を対象として,プログラムの教育をどう支援するか の研究に取り組んでいます. 近年では,ソフトウェア開発に不可欠な技術,特にバージョン管理システムの学習・習熟支援にも取り組んでいます.
- 初学者に対するプログラミング支援
- 初学者に対するソフトウェア開発支援
- バージョン管理システム(git)の習熟支援