Publication | Closed Access
Characterizing Failures in Mobile OSes: A Case Study with Android and Symbian
105
Citations
9
References
2010
Year
Unknown Venue
Software MaintenanceEngineeringMobile InteractionBug ReportsSoftware EngineeringSoftware AnalysisEmpirical Software Engineering ResearchReliability EngineeringSoftware AgingFailure AnalysisSystems EngineeringFailure DetectionSmart PhonesReliabilitySoftware QualityComputer EngineeringMobile MalwareMobile ComputingComputer ScienceBug DensitiesSoftware DesignMobile Operating SystemProgram AnalysisSoftware TestingMobile OsesCase StudyTechnologySystem Software
As smart phones grow in popularity, manufacturers are in a race to pack an increasingly rich set of features into these tiny devices. This brings additional complexity in the system software that has to fit within the constraints of the devices (chiefly memory, stable storage, and power consumption) and hence, new bugs are revealed. How this evolution of smartphones impacts their reliability is a question that has been largely unexplored till now. With the release of open source OSes for hand-held devices, such as, Android (open sourced in October 2008) and Symbian (open sourced in February 2010), we are now in a position to explore the above question. In this paper, we analyze the reported cases of failures of Android and Symbian based on bug reports posted by third-party developers and end users and documentation of bug fixes from Android developers. First, based on 628 developer reports, our study looks into the manifestation of failures in different modules of Android and their characteristics, such as, their persistence and dependence on environment. Next, we analyze similar properties of Symbian bugs based on 153 failure reports. Our study indicates that Development Tools, Web Browsers, and Multimedia applications are most error-prone in both these systems. We further analyze 233 bug fixes for Android and categorized the different types of code modifications required for the fixes. The analysis shows that 77% of errors required minor code changes, with the largest share of these coming from modifications to attribute values and conditions. Our final analysis focuses on the relation between customizability, code complexity, and reliability in Android and Symbian. We find that despite high cyclomatic complexity, the bug densities in Android and Symbian are surprisingly low. However, the support for customizability does impact the reliability of mobile OSes and there are cautionary tales for their further development.
| Year | Citations | |
|---|---|---|
Page 1
Page 1