g1 reran : timing- and touch-sensitive record and replay for android

20
2013/7/9 G1 RERAN: Timing- and Touch- Sensitive Record and Replay for Android 東東東東東東 東東東東東 東東東東 G : Apps G1 1 / 7

Upload: cid

Post on 22-Feb-2016

53 views

Category:

Documents


0 download

DESCRIPTION

G : Apps. G1 RERAN : Timing- and Touch-Sensitive Record and Replay for Android . 東京工業大学 権藤研究室 白倉賢人. 背景. スマートフォンやタブレットのような タッチスクリーンベースのデバイス やアプリ が普及 Record-and-Replay のツールはデバッグやテストに  有用だが、従来の手法では Android アプリの 多種多様な操作に対応しきれない. RERAN. Android の操作を記録し、 再現するツール. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: G1 RERAN : Timing- and Touch-Sensitive Record and Replay for Android

2013/7/9G1

G1RERAN: Timing- and Touch-Sensitive

Record and Replay for Android

東京工業大学 権藤研究室 白倉賢人

G : Apps

1 / 7

Page 2: G1 RERAN : Timing- and Touch-Sensitive Record and Replay for Android

2013/7/9G1

背景スマートフォンやタブレットのような

タッチスクリーンベースのデバイスやアプリが普及Record-and-Replay のツールはデバッグやテストに

  有用だが、従来の手法では Android アプリの  多種多様な操作に対応しきれない

2 / 7

Page 3: G1 RERAN : Timing- and Touch-Sensitive Record and Replay for Android

2013/7/9G1

RERANAndroid の操作を記録し、

再現するツール

3 / 7

Lorenzo Gomez, Iulian Neamtiu, Tanzirul Azim, Todd Millstein: RERAN: timing- and touch-sensitive record and replay for Android.ICSE 2013: 72-81 Fig4 より抜粋

Page 4: G1 RERAN : Timing- and Touch-Sensitive Record and Replay for Android

2013/7/9G1

従来手法との違い従来「 Click TextBox1 」や「 type “Test123” 」のように記録し、再現→GUI が必須、スワイプ等の操作やセンサーに非対応RERAN

 低レベルのデバイスへの入力を直接記録し、 正確なタイミングで再生することで再現

4 / 7

Page 5: G1 RERAN : Timing- and Touch-Sensitive Record and Replay for Android

2013/7/9G1

ここがすごい 1 !Google Play の TOP 100 のアプリのうち、

86 個のアプリについて操作を再現できる !

  →残りの 14 個は非決定的な動作をするアプリカメラやマイク等のセンサーを使用するアプリ5 / 7

Page 6: G1 RERAN : Timing- and Touch-Sensitive Record and Replay for Android

2013/7/9G1

ここがすごい 2 !バグの再現ができる

  →デバッグの際に活躍!早送り実行ができる

  →デバッグやテストの時間短縮!

6 / 7Lorenzo Gomez, Iulian Neamtiu, Tanzirul Azim, Todd Millstein: RERAN: timing- and touch-sensitive record and replay for Android.ICSE 2013: 72-81 TABLE V より抜粋

Page 7: G1 RERAN : Timing- and Touch-Sensitive Record and Replay for Android

2013/7/9G1

動作実際に動作させている動画が Youtube にあがっている

   ⇛ http://www.youtube.com/user/RERAN2012

  「 Angry Birds 」で実際に操作を記録し、再現している  様子が確認できる

7 / 7

Page 8: G1 RERAN : Timing- and Touch-Sensitive Record and Replay for Android

G2 : Inferring Likely

Mappings Between APIs

東京工業大学 権藤研究室 子安 貴一

Page 9: G1 RERAN : Timing- and Touch-Sensitive Record and Replay for Android

目的・貢献• 目的• アプリケーションの移植が大変• マニュアル• 対応する API 探し

• 手助けしたい• 貢献• 推論手法の提案• Rosetta ( プロトタイプツール )

G2 : Inferring Likely Mappings Between APIs2013/7/9

2/5

Page 10: G1 RERAN : Timing- and Touch-Sensitive Record and Replay for Android

手法• STEP 1 : データ(アプリケーショ

ン)収集• STEP 2 : メソッド実行トレースを拾

う• STEP 3 : トレースの解析、推論• 呼ばれる頻度• 呼ばれるタイミング• 呼ばれるコンテキスト• メソッド名

• STEP 4 : 複数トレースProceedings of the 35th ACM/IEEE International Conference on Software Engineering (ICSE 2013); pages 82-91; San Francisco, California; May 18-26, 2013.Fig. 2 より抜粋

G2 : Inferring Likely Mappings Between APIs

メソッド実行トレース (○× ゲーム起動→プレイ待ち )

2013/7/93/5

Page 11: G1 RERAN : Timing- and Touch-Sensitive Record and Replay for Android

評価• プロトタイプツール : Rosetta• JavaME → Android graphics の API• 筆者の考える対応とマッチするか• Top10 に 70%

Proceedings of the 35th ACM/IEEEInternational Conference on SoftwareEngineering (ICSE 2013); pages 82-91;San Francisco, California;May 18-26, 2013.Fig. 6 より抜粋

G2 : Inferring Likely Mappings Between APIs2013/7/9

4/5

Page 12: G1 RERAN : Timing- and Touch-Sensitive Record and Replay for Android

所感• 学習のオーバーヘッドが大きい• 両プラットフォームでの類似アプリケー

ション探し• メソッド実行トレースの取得

• 移植の際の労力低減• 多数のプラットフォームがある今の時代

にとって有用かも

G2 : Inferring Likely Mappings Between APIs2013/7/9

5/5

Page 13: G1 RERAN : Timing- and Touch-Sensitive Record and Replay for Android

Estimating Mobile Application Energy

Consumption using Program Analysis

東京工業大学 権藤研究室 髙橋 一平

Page 14: G1 RERAN : Timing- and Touch-Sensitive Record and Replay for Android

目的と貢献目的

モバイルアプリの電力消費量の見積主要な貢献

コードレベルの電力消費量見積手法を提案Google Play store のアプリを対象としたベンチマーク

G3

Page 15: G1 RERAN : Timing- and Touch-Sensitive Record and Replay for Android

入力と出力入力

ワークロードユースケースのリスト

アプリの JVM バイトコードプロファイル

命令やハードウェアから消費電力を見積もる関数の集合出力

電力消費量アノテーションが付加されたソースコード

G3

Page 16: G1 RERAN : Timing- and Touch-Sensitive Record and Replay for Android

システムの概要

Shuai Hao, Ding Li, William G. J. Halfond, Ramesh Govindan, Estimating Mobile Application Energy Consumption using Program Analysis, ICSE 2013, San Francisco, USA .

G3

Page 17: G1 RERAN : Timing- and Touch-Sensitive Record and Replay for Android

手法の概要Workload Generator

バイトコードとワークロードから通るパスの集合を求めるAnalyzer

パスの集合とプロファイルから電力消費量を見積もるSource Code Annotator

電力消費量をアノテーションとしてソースコードに付加する

G3

Page 18: G1 RERAN : Timing- and Touch-Sensitive Record and Replay for Android

評価評価項目

電力消費量の正確性システムの利便性

評価方法Google Play Store のアプリをそのまま利用

G3

Page 19: G1 RERAN : Timing- and Touch-Sensitive Record and Replay for Android

実験結果(正確性)

Shuai Hao, Ding Li, William G. J. Halfond, Ramesh Govindan, Estimating Mobile Application Energy Consumption using Program Analysis, ICSE 2013, San Francisco, USA .

G3

大体誤差 10 %以内であり、よく見積もれている

Page 20: G1 RERAN : Timing- and Touch-Sensitive Record and Replay for Android

所感Eclipse プラグインなんかも作ってて親切

電力消費量によるソースコードの色づけ入力(ユースケース、プロファイル)を作るのは大変そうボトルネックを知りたいときに役に立つ

G3