SlideShare a Scribd company logo
研究でAndroidの
 フレームワークを
デバッグするために
 バグ検出ツールを
作ってた話 ( ꒪⌓꒪)
@haruna_nishi
リスのアイコンです


情報学系M2
来月からは
社畜プログラマ見習い


乙女ゲー(一部)と
ロボットアニメ狂い
ところで皆様
AndroidのVMを
改造しようとしたことが
ありますでしょうか
アプリケーションソフトウェア

アプリケーションフレームワーク(Java)

C/C++       Dalvik VM

        Linuxカーネル
普通はないですよね
私もありません (°∀°)
         そんなことするの
        変態さんだけだよね!!
旧湯淺研究室(当時)
  VM?
改造してますよ
そんな研究室に
配属される事になった私…。▼
果たしてどんな研究課題が
与えられるのだろうか。▼
???

西脇くん。▼
???

湯淺先生! ▼
湯淺教授

VM改造してたら、フレームワークに
バグがあるのを見つけたから、他にもバグが無いか、
適当にコンパイラ拡張して検出器作ってくれないかな。▼
※西脇の心象風景
            , '´  ̄ ̄ ` 、
          i r-ー-┬-‐、i
           | |,,_   _,{|
          N| "゚'` {"゚`lリ     や ら な い か
             ト.i   ,__''_  !
          /i/ l\ ー .イ|、
    ,.、-  ̄/  | l   ̄ / | |` ┬-、
    /  ヽ. /    ト-` 、ノ- |  l  l  ヽ.
  /    ∨     l   |!  |   `> |  i
  /     |`二^>  l.  |  | <__,|  |
_|      |.|-<    \ i / ,イ____!/ \
  .|     {.|  ` - 、 ,.---ァ^! |    | ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄l
__{   ___|└―ー/  ̄´ |ヽ |___ノ____________|
  }/ -= ヽ__ - 'ヽ   -‐ ,r'゙   l                  |
__f゙// ̄ ̄     _ -'     |_____ ,. -  ̄ \____|
  | |  -  ̄   /   |     _ | ̄ ̄ ̄ ̄ /       \  ̄|
___`\ __ /    _l - ̄  l___ /   , /     ヽi___.|
 ̄ ̄ ̄    |    _ 二 =〒  ̄  } ̄ /     l |      ! ̄ ̄|
_______l       -ヾ ̄  l/         l|       |___|
という訳で
作りました
⊂二二二( ^ω^)二⊃ブーン
その名も
SEAN:
Static Error
Analyzer for
Native code
● 使ったコンパイラ
 Clang
● 検出できるバグ


 ネイティブコード中のJNIの規則違反

詳しくは
SEAN: Support Tool for Detecting Rule Violations in JNI Coding
でググって頂ければ論文が読めます
バグ見つけた
のはいいけど
報告する方法が
わからねぇ……っ
ありがとうございました!

More Related Content

What's hot

Tensorflow
TensorflowTensorflow
Tensorflow
Daisuke Yamashita
 
C言語講習会資料(後半)
C言語講習会資料(後半)C言語講習会資料(後半)
C言語講習会資料(後半)
Yuki Sako
 
C言語講習会資料(前半)
C言語講習会資料(前半)C言語講習会資料(前半)
C言語講習会資料(前半)
Yuki Sako
 
Swift (with SceneKit) で簡単な3Dゲームを作ってみた
Swift (with SceneKit) で簡単な3Dゲームを作ってみたSwift (with SceneKit) で簡単な3Dゲームを作ってみた
Swift (with SceneKit) で簡単な3Dゲームを作ってみた
Kazuya Hiruma
 
Python機械学習プログラミング第10章後半
Python機械学習プログラミング第10章後半Python機械学習プログラミング第10章後半
Python機械学習プログラミング第10章後半
隆介 小野
 
わんくまっちゃ445同盟 SilverlightでTdd(仮)
わんくまっちゃ445同盟 SilverlightでTdd(仮)わんくまっちゃ445同盟 SilverlightでTdd(仮)
わんくまっちゃ445同盟 SilverlightでTdd(仮)normalian
 
20130615 組込みの仕事場でRubyを使う
20130615 組込みの仕事場でRubyを使う20130615 組込みの仕事場でRubyを使う
20130615 組込みの仕事場でRubyを使う
Ryo Nagai
 
Processingについて
ProcessingについてProcessingについて
Processingについて
reona396
 
Siv3Dのすゝめ
Siv3DのすゝめSiv3Dのすゝめ
Siv3Dのすゝめ
Azaika At
 
OpenCV 百聞は一見にしかず
OpenCV 百聞は一見にしかずOpenCV 百聞は一見にしかず
OpenCV 百聞は一見にしかず
mq_nakamura
 
ROS JAPAN Users Group Meetup 04
ROS JAPAN Users Group Meetup 04ROS JAPAN Users Group Meetup 04
ROS JAPAN Users Group Meetup 04Daiki Maekawa
 
p5.js について
p5.js についてp5.js について
p5.js について
reona396
 

What's hot (13)

Tensorflow
TensorflowTensorflow
Tensorflow
 
C言語講習会資料(後半)
C言語講習会資料(後半)C言語講習会資料(後半)
C言語講習会資料(後半)
 
C言語講習会資料(前半)
C言語講習会資料(前半)C言語講習会資料(前半)
C言語講習会資料(前半)
 
Swift (with SceneKit) で簡単な3Dゲームを作ってみた
Swift (with SceneKit) で簡単な3Dゲームを作ってみたSwift (with SceneKit) で簡単な3Dゲームを作ってみた
Swift (with SceneKit) で簡単な3Dゲームを作ってみた
 
Python機械学習プログラミング第10章後半
Python機械学習プログラミング第10章後半Python機械学習プログラミング第10章後半
Python機械学習プログラミング第10章後半
 
続Open cv4android
続Open cv4android続Open cv4android
続Open cv4android
 
わんくまっちゃ445同盟 SilverlightでTdd(仮)
わんくまっちゃ445同盟 SilverlightでTdd(仮)わんくまっちゃ445同盟 SilverlightでTdd(仮)
わんくまっちゃ445同盟 SilverlightでTdd(仮)
 
20130615 組込みの仕事場でRubyを使う
20130615 組込みの仕事場でRubyを使う20130615 組込みの仕事場でRubyを使う
20130615 組込みの仕事場でRubyを使う
 
Processingについて
ProcessingについてProcessingについて
Processingについて
 
Siv3Dのすゝめ
Siv3DのすゝめSiv3Dのすゝめ
Siv3Dのすゝめ
 
OpenCV 百聞は一見にしかず
OpenCV 百聞は一見にしかずOpenCV 百聞は一見にしかず
OpenCV 百聞は一見にしかず
 
ROS JAPAN Users Group Meetup 04
ROS JAPAN Users Group Meetup 04ROS JAPAN Users Group Meetup 04
ROS JAPAN Users Group Meetup 04
 
p5.js について
p5.js についてp5.js について
p5.js について
 

Viewers also liked

OpenCV4Androidで画像処理アプリのススメ
OpenCV4Androidで画像処理アプリのススメOpenCV4Androidで画像処理アプリのススメ
OpenCV4Androidで画像処理アプリのススメMasaki Otsuki
 
Javaにおけるネイティブコード連携の各種手法の紹介
Javaにおけるネイティブコード連携の各種手法の紹介Javaにおけるネイティブコード連携の各種手法の紹介
Javaにおけるネイティブコード連携の各種手法の紹介
khisano
 
Android Hacks - Hack57
Android Hacks - Hack57Android Hacks - Hack57
Android Hacks - Hack57
Masanori Ohkawara
 
Android Hacks - Hack47
Android Hacks - Hack47Android Hacks - Hack47
Android Hacks - Hack47
Masanori Ohkawara
 
OpenCVをAndroidで動かしてみた
OpenCVをAndroidで動かしてみたOpenCVをAndroidで動かしてみた
OpenCVをAndroidで動かしてみた徹 上野山
 

Viewers also liked (6)

OpenCV4Androidで画像処理アプリのススメ
OpenCV4Androidで画像処理アプリのススメOpenCV4Androidで画像処理アプリのススメ
OpenCV4Androidで画像処理アプリのススメ
 
Javaにおけるネイティブコード連携の各種手法の紹介
Javaにおけるネイティブコード連携の各種手法の紹介Javaにおけるネイティブコード連携の各種手法の紹介
Javaにおけるネイティブコード連携の各種手法の紹介
 
Android Hacks - Hack57
Android Hacks - Hack57Android Hacks - Hack57
Android Hacks - Hack57
 
0621 ndk game
0621 ndk game0621 ndk game
0621 ndk game
 
Android Hacks - Hack47
Android Hacks - Hack47Android Hacks - Hack47
Android Hacks - Hack47
 
OpenCVをAndroidで動かしてみた
OpenCVをAndroidで動かしてみたOpenCVをAndroidで動かしてみた
OpenCVをAndroidで動かしてみた
 

Similar to Androidのフレームワークをデバッグするために検出ツールを作ってた話

第11回 cocos2d-x勉強会 「cocos2dxでLWFを利用する」
第11回 cocos2d-x勉強会 「cocos2dxでLWFを利用する」第11回 cocos2d-x勉強会 「cocos2dxでLWFを利用する」
第11回 cocos2d-x勉強会 「cocos2dxでLWFを利用する」
Naoki Yokota
 
UXDD MVVM Store Apps 蜜葉式開発フロー
UXDD MVVM Store Apps 蜜葉式開発フローUXDD MVVM Store Apps 蜜葉式開発フロー
UXDD MVVM Store Apps 蜜葉式開発フローc-mitsuba
 
わんくま名古屋 #40 (20161217) Xamarinで自動化テストしよう
わんくま名古屋 #40 (20161217) Xamarinで自動化テストしようわんくま名古屋 #40 (20161217) Xamarinで自動化テストしよう
わんくま名古屋 #40 (20161217) Xamarinで自動化テストしよう
Yasuhiko Yamamoto
 
Win32 APIをてなずけよう
Win32 APIをてなずけようWin32 APIをてなずけよう
Win32 APIをてなずけよう
Kouji Matsui
 
Cod2012 デバッグ講座
Cod2012 デバッグ講座Cod2012 デバッグ講座
Cod2012 デバッグ講座
Masuda Tomoaki
 
The evolution of c#
The evolution of c#The evolution of c#
The evolution of c#
leverages_event
 
いままでのJaSSTnanoLT動画を振り返る&おススメしたいの! / Looking back and recommend on the JaSSTna...
いままでのJaSSTnanoLT動画を振り返る&おススメしたいの! / Looking back and recommend on the JaSSTna...いままでのJaSSTnanoLT動画を振り返る&おススメしたいの! / Looking back and recommend on the JaSSTna...
いままでのJaSSTnanoLT動画を振り返る&おススメしたいの! / Looking back and recommend on the JaSSTna...
ICO
 
ひと目でわからん Metro アプリ開発入門
ひと目でわからん Metro アプリ開発入門ひと目でわからん Metro アプリ開発入門
ひと目でわからん Metro アプリ開発入門Masuda Tomoaki
 
いぬねこ写真館
いぬねこ写真館いぬねこ写真館
いぬねこ写真館murajun1978
 
LightSwitchで遊んでみた
LightSwitchで遊んでみたLightSwitchで遊んでみた
LightSwitchで遊んでみた
Yoshitaka Seo
 
Titanium Mobile ~本当にあったこわい話~
Titanium Mobile ~本当にあったこわい話~Titanium Mobile ~本当にあったこわい話~
Titanium Mobile ~本当にあったこわい話~Atsushi Harada
 
Cocoaアプリに無理矢理プラグインを導入する入門
Cocoaアプリに無理矢理プラグインを導入する入門Cocoaアプリに無理矢理プラグインを導入する入門
Cocoaアプリに無理矢理プラグインを導入する入門
京大 マイコンクラブ
 
Windowsユーザのlinux入門(20130126)
Windowsユーザのlinux入門(20130126)Windowsユーザのlinux入門(20130126)
Windowsユーザのlinux入門(20130126)Kimiyuki Yamauchi
 
2013/03/09 VisualStudio勉強会 LT 「統合開発環境の支援ツール」
2013/03/09 VisualStudio勉強会 LT 「統合開発環境の支援ツール」2013/03/09 VisualStudio勉強会 LT 「統合開発環境の支援ツール」
2013/03/09 VisualStudio勉強会 LT 「統合開発環境の支援ツール」Satoshi Noda
 
Claudia Enqueteの作り方教えます
Claudia Enqueteの作り方教えますClaudia Enqueteの作り方教えます
Claudia Enqueteの作り方教えます
Akira Hatsune
 
Roo
RooRoo
【18-C-5】C# で iOS/Androidアプリ開発 - Visual Studio 2015 + Xamarin + MVVMCross -
【18-C-5】C# で iOS/Androidアプリ開発 - Visual Studio 2015 + Xamarin + MVVMCross -【18-C-5】C# で iOS/Androidアプリ開発 - Visual Studio 2015 + Xamarin + MVVMCross -
【18-C-5】C# で iOS/Androidアプリ開発 - Visual Studio 2015 + Xamarin + MVVMCross -
ShinichiAoyagi
 
わんくま同盟大阪勉強会 Vol.68 - Visual Studio Code 拡張機能作成入門
わんくま同盟大阪勉強会 Vol.68 - Visual Studio Code 拡張機能作成入門わんくま同盟大阪勉強会 Vol.68 - Visual Studio Code 拡張機能作成入門
わんくま同盟大阪勉強会 Vol.68 - Visual Studio Code 拡張機能作成入門
TATSUYA HAYAMIZU
 
Weekend Androidのススメ
Weekend AndroidのススメWeekend Androidのススメ
Weekend Androidのススメ
Suzuki Junko
 
【DroidKaigi2015】初学者に嬉しいAndroid開発環境(あとMVCとか)
【DroidKaigi2015】初学者に嬉しいAndroid開発環境(あとMVCとか)【DroidKaigi2015】初学者に嬉しいAndroid開発環境(あとMVCとか)
【DroidKaigi2015】初学者に嬉しいAndroid開発環境(あとMVCとか)
Hiroyuki Kusu
 

Similar to Androidのフレームワークをデバッグするために検出ツールを作ってた話 (20)

第11回 cocos2d-x勉強会 「cocos2dxでLWFを利用する」
第11回 cocos2d-x勉強会 「cocos2dxでLWFを利用する」第11回 cocos2d-x勉強会 「cocos2dxでLWFを利用する」
第11回 cocos2d-x勉強会 「cocos2dxでLWFを利用する」
 
UXDD MVVM Store Apps 蜜葉式開発フロー
UXDD MVVM Store Apps 蜜葉式開発フローUXDD MVVM Store Apps 蜜葉式開発フロー
UXDD MVVM Store Apps 蜜葉式開発フロー
 
わんくま名古屋 #40 (20161217) Xamarinで自動化テストしよう
わんくま名古屋 #40 (20161217) Xamarinで自動化テストしようわんくま名古屋 #40 (20161217) Xamarinで自動化テストしよう
わんくま名古屋 #40 (20161217) Xamarinで自動化テストしよう
 
Win32 APIをてなずけよう
Win32 APIをてなずけようWin32 APIをてなずけよう
Win32 APIをてなずけよう
 
Cod2012 デバッグ講座
Cod2012 デバッグ講座Cod2012 デバッグ講座
Cod2012 デバッグ講座
 
The evolution of c#
The evolution of c#The evolution of c#
The evolution of c#
 
いままでのJaSSTnanoLT動画を振り返る&おススメしたいの! / Looking back and recommend on the JaSSTna...
いままでのJaSSTnanoLT動画を振り返る&おススメしたいの! / Looking back and recommend on the JaSSTna...いままでのJaSSTnanoLT動画を振り返る&おススメしたいの! / Looking back and recommend on the JaSSTna...
いままでのJaSSTnanoLT動画を振り返る&おススメしたいの! / Looking back and recommend on the JaSSTna...
 
ひと目でわからん Metro アプリ開発入門
ひと目でわからん Metro アプリ開発入門ひと目でわからん Metro アプリ開発入門
ひと目でわからん Metro アプリ開発入門
 
いぬねこ写真館
いぬねこ写真館いぬねこ写真館
いぬねこ写真館
 
LightSwitchで遊んでみた
LightSwitchで遊んでみたLightSwitchで遊んでみた
LightSwitchで遊んでみた
 
Titanium Mobile ~本当にあったこわい話~
Titanium Mobile ~本当にあったこわい話~Titanium Mobile ~本当にあったこわい話~
Titanium Mobile ~本当にあったこわい話~
 
Cocoaアプリに無理矢理プラグインを導入する入門
Cocoaアプリに無理矢理プラグインを導入する入門Cocoaアプリに無理矢理プラグインを導入する入門
Cocoaアプリに無理矢理プラグインを導入する入門
 
Windowsユーザのlinux入門(20130126)
Windowsユーザのlinux入門(20130126)Windowsユーザのlinux入門(20130126)
Windowsユーザのlinux入門(20130126)
 
2013/03/09 VisualStudio勉強会 LT 「統合開発環境の支援ツール」
2013/03/09 VisualStudio勉強会 LT 「統合開発環境の支援ツール」2013/03/09 VisualStudio勉強会 LT 「統合開発環境の支援ツール」
2013/03/09 VisualStudio勉強会 LT 「統合開発環境の支援ツール」
 
Claudia Enqueteの作り方教えます
Claudia Enqueteの作り方教えますClaudia Enqueteの作り方教えます
Claudia Enqueteの作り方教えます
 
Roo
RooRoo
Roo
 
【18-C-5】C# で iOS/Androidアプリ開発 - Visual Studio 2015 + Xamarin + MVVMCross -
【18-C-5】C# で iOS/Androidアプリ開発 - Visual Studio 2015 + Xamarin + MVVMCross -【18-C-5】C# で iOS/Androidアプリ開発 - Visual Studio 2015 + Xamarin + MVVMCross -
【18-C-5】C# で iOS/Androidアプリ開発 - Visual Studio 2015 + Xamarin + MVVMCross -
 
わんくま同盟大阪勉強会 Vol.68 - Visual Studio Code 拡張機能作成入門
わんくま同盟大阪勉強会 Vol.68 - Visual Studio Code 拡張機能作成入門わんくま同盟大阪勉強会 Vol.68 - Visual Studio Code 拡張機能作成入門
わんくま同盟大阪勉強会 Vol.68 - Visual Studio Code 拡張機能作成入門
 
Weekend Androidのススメ
Weekend AndroidのススメWeekend Androidのススメ
Weekend Androidのススメ
 
【DroidKaigi2015】初学者に嬉しいAndroid開発環境(あとMVCとか)
【DroidKaigi2015】初学者に嬉しいAndroid開発環境(あとMVCとか)【DroidKaigi2015】初学者に嬉しいAndroid開発環境(あとMVCとか)
【DroidKaigi2015】初学者に嬉しいAndroid開発環境(あとMVCとか)
 

Androidのフレームワークをデバッグするために検出ツールを作ってた話