580 likes | 622 Views
AMC : Verifying User Interface Properties for Vehicular Applications. Kyungmin Lee * , Jason Flinn * , T.J. Giuli + , Brian Noble * , and Christopher Peplin + University of Michigan * Ford Motor Company +. Where do we use mobile apps?. Walking. Driving. Everywhere we go
E N D
AMC: Verifying User Interface Properties for Vehicular Applications Kyungmin Lee*, Jason Flinn*, T.J. Giuli+, Brian Noble*, and Christopher Peplin+ University of Michigan* Ford Motor Company+
Where do we use mobile apps? Walking Driving Everywhere we go (Not-too-distant future) Kyungmin Lee
Where do we use mobile apps? Walking Driving Everywhere we go (Not-too-distant future) Kyungmin Lee
Mobile apps in a vehicle • Pros: • High usability standard • Good form factor • Cons: • Cost of deployment • Limited applications • Pros: • Diverse applications • Easy deployment • Cons: • Distracting apps • Poor form factor Kyungmin Lee
Mobile apps in a vehicle How can we get the best of both worlds? • Pros: • High usability • Good form factor • Pros: • Diverse apps • Easy deployment Kyungmin Lee
Our approach • Create a tool (AMC) that • Automatically explores the application • No source code & app-specific knowledge • Pinpoints UI guideline violations Kyungmin Lee
AMC’s benefits • Developers • Test own apps • Early design feedback • User interface experts • Fewer properties to check • Focus on hard properties Kyungmin Lee
AMC’s benefits • Developers • Test own apps • Early design feedback • User interface experts • Fewer properties to check • Focus on hard properties <AMC’s results> 20X reduction in testing False negative: 2% False positive: 0% Kyungmin Lee
Outline • Motivation • How AMC explores the app • How AMC finds UI violations • How closely do apps follow UI guidelines • Conclusion Kyungmin Lee
How to use AMC App to test Run AMC Get violation report • Violation report • Button size: • 1) Button A at state 1 • 2) … • Contrast ratio: • … • … Application Monkey Modified ApplicationFramework Hierarchy Viewer - State exploration - Find violations Kyungmin Lee
How does AMC explore? State #0 Kyungmin Lee
How does AMC explore? Current Location State #0 State #1 Kyungmin Lee
How does AMC explore? Kyungmin Lee
How do we define a state • Different screens -> Different states vs. Kyungmin Lee
Fine-tuning state definition • Naïve approach: every unique screen -> state • Solution: Structure hash • Same structure, different content -> same state • Avoids state explosion vs. Kyungmin Lee
Fine-tuning state definition • Structure hash is not enough… • Solution: Consider only 0,1,or many items • If there are 2+ items, ignore the rest • Unless they transition to different states vs. Kyungmin Lee
Outline • Motivation • How AMC explores the app • How AMC finds UI violations • How closely do apps follow UI guidelines • Conclusion Kyungmin Lee
Finding UI violations • Checks for 7 UI properties • User actions per task, Text contrast ratio, Word count, Button size, Button distance, Animation, Scrolling • Defined by transportation research groups • Report violation, no violation, or defer to experts Kyungmin Lee
Finding UI violations • Properties of individual state Kyungmin Lee
Finding UI violations • Properties of individual state Kyungmin Lee
Finding UI violations • Properties of individual state Kyungmin Lee
Finding UI violations • Properties of individual state Total of 12 words Kyungmin Lee
Finding UI violations • Properties of individual state Kyungmin Lee
Checking user actions per task Kyungmin Lee
Few complications • Buttons in custom view • Empirically discover buttons • If fails, defer to manual verification • Determining good vs. bad animation vs. Kyungmin Lee
Outline • Motivation • How AMC explores the app • How AMC finds UI violations • How closely do apps follow UI guidelines • Conclusion Kyungmin Lee
Evaluation • Environmental setup Kyungmin Lee
Comparison with expert’s evaluation Tested 12 out of 14 apps & 5 out of 7 properties Kyungmin Lee
Comparison with expert’s evaluation • : Violation • : No violation • : Maybe • 1st column: • AMC’s report • 2nd column: • Expert’s report Kyungmin Lee
Comparison with expert’s evaluation • : Violation • : No violation • : Maybe • 1st column: • AMC’s report • 2nd column: • Expert’s report Kyungmin Lee
Comparison with expert’s evaluation • : Violation • : No violation • : Maybe • 1st column: • AMC’s report • 2nd column: • Expert’s report Kyungmin Lee
Comparison with expert’s evaluation • : Violation • : No violation • : Maybe • 1st column: • AMC’s report • 2nd column: • Expert’s report Agreed 50 / 60 cases ≈ 83% Kyungmin Lee
Comparison with expert’s evaluation • : Violation • : No violation • : Maybe • 1st column: • AMC’s report • 2nd column: • Expert’s report One case of false negative <≈ 2% Kyungmin Lee
Comparison with expert’s evaluation • : Violation • : No violation • : Maybe • 1st column: • AMC’s report • 2nd column: • Expert’s report Kyungmin Lee
Comparison with expert’s evaluation • : Violation • : No violation • : Maybe • 1st column: • AMC’s report • 2nd column: • Expert’s report Animation: 4 out of 381 states Button size & distance: 13 states Reduced by 95%! Kyungmin Lee
Assessment of Android apps Kyungmin Lee
Assessment of Android apps Kyungmin Lee
Assessment of Android apps Kyungmin Lee
Assessment of Android apps 0.75 violations / state Kyungmin Lee
Assessment of Android apps Kyungmin Lee
Assessment of Android apps 0.69 violations / state Kyungmin Lee
Assessment of Android apps Only MPG app had no violations Kyungmin Lee
Conclusion • AMC is a tool that • Explores the application automatically • Pinpoints UI guideline violations • Many vehicular apps with UI violations • Shows the need for a tool like AMC • Can be extended to other UI settings Kyungmin Lee
Questions? Kyungmin Lee
Backup slides Kyungmin Lee
State coverage Avg. coverage: 80% Kyungmin Lee
States found & runtime Median runtime: ~74 minutes Avg. runtime: 2hr 31min Kyungmin Lee
Non-deterministic transitions • Caused by • Configuration option • Previous paths • Mistakes in state classification • Solution • Avoid using non-deterministic transitions! • Use past exploration information • Combine previous N transitions into one • Attempt to make it deterministic Kyungmin Lee
Non-deterministic transitions • Caused by unaware hidden property BACK BACK Kyungmin Lee