Download presentation
Presentation is loading. Please wait.
Published byありあ はぎにわ Modified 約 7 年前
1
G1 RERAN: Timing- and Touch-Sensitive Record and Replay for Android
G : Apps G1 RERAN: Timing- and Touch-Sensitive Record and Replay for Android 東京工業大学 権藤研究室 白倉賢人
2
背景 G1 スマートフォンやタブレットのような タッチスクリーンベースのデバイスやアプリが普及
Record-and-Replayのツールはデバッグやテストに 有用だが、従来の手法ではAndroidアプリの 多種多様な操作に対応しきれない
3
RERAN G1 Androidの操作を記録し、 再現するツール
Lorenzo Gomez, Iulian Neamtiu, Tanzirul Azim, Todd Millstein: RERAN: timing- and touch-sensitive record and replay for Android. ICSE 2013: Fig4より抜粋
4
従来手法との違い G1 従来 RERAN 低レベルのデバイスへの入力を直接記録し、 正確なタイミングで再生することで再現
「Click TextBox1」や「type “Test123”」のように記録し、再現 →GUIが必須、スワイプ等の操作やセンサーに非対応 RERAN 低レベルのデバイスへの入力を直接記録し、 正確なタイミングで再生することで再現
5
ここがすごい1! G1 Google Play の TOP 100 のアプリのうち、 86個のアプリについて操作を再現できる!
→残りの14個は 非決定的な動作をするアプリ カメラやマイク等のセンサーを使用するアプリ
6
ここがすごい2! G1 バグの再現ができる →デバッグの際に活躍! 早送り実行ができる →デバッグやテストの 時間短縮!
→デバッグの際に活躍! 早送り実行ができる →デバッグやテストの 時間短縮! Lorenzo Gomez, Iulian Neamtiu, Tanzirul Azim, Todd Millstein: RERAN: timing- and touch-sensitive record and replay for Android. ICSE 2013: TABLE V より抜粋
7
動作 G1 実際に動作させている動画がYoutubeにあがっている
⇛ 「Angry Birds」で実際に操作を記録し、再現している 様子が確認できる
8
G2 : Inferring Likely Mappings Between APIs
東京工業大学 権藤研究室 子安 貴一
9
目的・貢献 目的 貢献 アプリケーションの移植が大変 手助けしたい 推論手法の提案 Rosetta (プロトタイプツール) マニュアル
G2 : Inferring Likely Mappings Between APIs 2013/7/9 目的・貢献 目的 アプリケーションの移植が大変 マニュアル 対応するAPI探し 手助けしたい 貢献 推論手法の提案 Rosetta (プロトタイプツール)
10
手法 STEP 1 : データ(アプリケーション)収集 STEP 2 : メソッド実行トレースを拾う STEP 3 : トレースの解析、推論
G2 : Inferring Likely Mappings Between APIs 2013/7/9 手法 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より抜粋 メソッド実行トレース(○×ゲーム起動→プレイ待ち) STEP1 両方のプラットフォームで既にできているアプリケーションを集める 同レベルの機能で実装されている GUIだったらGUIのやつ STEP2 集めてきたアプリケーションのペアを実行する。同じ動作をするようにかな? STEP3 呼ばれる頻度や、呼ばれるタイミングや、そのコンテキストあるいはメソッド名により計算 STEP3,4のアルゴリズムは論文を見て欲しい(計算式等々)
11
評価 プロトタイプツール : Rosetta JavaME → Android graphics の API 筆者の考える対応とマッチするか
G2 : Inferring Likely Mappings Between APIs 2013/7/9 評価 プロトタイプツール : Rosetta JavaME → Android graphics の API 筆者の考える対応とマッチするか Top10に70% Proceedings of the 35th ACM/IEEE International Conference on Software Engineering (ICSE 2013); pages 82-91; San Francisco, California; May 18-26, 2013.Fig. 6より抜粋 JavaMEのメソッドをクエリとして投げて結果としてAndroid graphicsのAPIのメソッド(列)がランキングとして返ってくる 筆者はJavaMEとAndroidのドキュメントを読んで対応しているのを決定している
12
所感 学習のオーバーヘッドが大きい 移植の際の労力低減 両プラットフォームでの類似アプリケーション探し メソッド実行トレースの取得
G2 : Inferring Likely Mappings Between APIs 2013/7/9 所感 学習のオーバーヘッドが大きい 両プラットフォームでの類似アプリケーション探し メソッド実行トレースの取得 移植の際の労力低減 多数のプラットフォームがある今の時代にとって有用かも
13
Estimating Mobile Application Energy Consumption using Program Analysis
東京工業大学 権藤研究室 髙橋 一平
14
目的と貢献 G3 目的 主要な貢献 モバイルアプリの電力消費量の見積 コードレベルの電力消費量見積手法を提案
Google Play storeのアプリを対象としたベンチマーク
15
入力と出力 G3 入力 出力 ワークロード アプリのJVMバイトコード プロファイル 電力消費量アノテーションが付加されたソースコード
ユースケースのリスト アプリのJVMバイトコード プロファイル 命令やハードウェアから消費電力を見積もる関数の集合 出力 電力消費量アノテーションが付加されたソースコード
16
G3 システムの概要 Shuai Hao, Ding Li, William G. J. Halfond, Ramesh Govindan, Estimating Mobile Application Energy Consumption using Program Analysis, ICSE 2013, San Francisco, USA .
17
手法の概要 G3 Workload Generator Analyzer Source Code Annotator
バイトコードとワークロードから通るパスの集合を求める Analyzer パスの集合とプロファイルから電力消費量を見積もる Source Code Annotator 電力消費量をアノテーションとしてソースコードに付加する
18
G3 評価 評価項目 電力消費量の正確性 システムの利便性 評価方法 Google Play Storeのアプリをそのまま利用
19
実験結果(正確性) G3 大体誤差10%以内であり、よく見積もれている
Shuai Hao, Ding Li, William G. J. Halfond, Ramesh Govindan, Estimating Mobile Application Energy Consumption using Program Analysis, ICSE 2013, San Francisco, USA .
20
所感 G3 Eclipseプラグインなんかも作ってて親切 入力(ユースケース、プロファイル)を作るのは大変そう
電力消費量によるソースコードの色づけ 入力(ユースケース、プロファイル)を作るのは大変そう ボトルネックを知りたいときに役に立つ
Similar presentations
© 2024 slidesplayer.net Inc.
All rights reserved.