1 / 14

Automatic and Scalable Fault Detection for Mobile Applications

Automatic and Scalable Fault Detection for Mobile Applications. MobiSys ’ 14 Presented by Haocheng Huang huanghc@emnets.org. Goal. B uild a scalable, easy to use system that tests mobile apps for common, externally-inducible faults as thoroughly as possible .

siran
Télécharger la présentation

Automatic and Scalable Fault Detection for Mobile Applications

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Automatic and Scalable Fault Detection for Mobile Applications MobiSys’ 14 Presented by Haocheng Huang huanghc@emnets.org

  2. Goal • Build a scalable, easy to use system that tests mobile apps for common, externally-inducible faults as thoroughly as possible. • Does not detect all app failures

  3. Analyse Root Cause of Crashes • Partition crash reports that we believe originate due to the same root cause into a collection called a crash bucket. • Use two techniques to determine the likely root cause of its crashes • Use data mining techniques • Searchvarious Windows Phone developer forums

  4. VarnaSena Architecture

  5. Monkey design

  6. UI Automator • Two decisions • what UI control to interact with next • how long to wait before picking the next control • Problems in usual design • multiple controls often lead to the same next page • some controls do not have any event handlers attached to them • a systematic exploration can lead to dead ends • Address the first two issues using hit testing, the third by running multiple independent random monkeys concurrently

  7. UI AutomatorHit Testing • The instrumentation framework instruments all UI event handlers in an app with a hit test monitor. • It also assigns each event handler a unique ID.

  8. UI AutomatorWhen to interact next? • Add a transaction tracker that monitors the transaction at runtime and generates a ProcessingCompletedevent when all the synchronous and asynchronous processing associated with an interaction is complete

  9. UI Automatorwork flow

  10. Inducing Faults • Built as an extensible module in which various fault inducing modules (FIM) can be plugged in.

  11. Evaluation • VanarSena flagged 2969 unique crashes3 in 1108 apps.

  12. Evaluation • Found 1,227 crashes not in the WPER database

  13. Evaluation

  14. Conclusion

More Related