Skip to main content
Log in

Studying the relationship between source code quality and mobile platform dependence

  • Published:
Software Quality Journal Aims and scope Submit manuscript

Abstract

The recent meteoric rise in the use of smartphones and other mobile devices has led to a new class of software applications (i.e., mobile apps). One reason for this success is the extensive support available to mobile app developers through the APIs provided by mobile platforms (e.g., Android). In our previous research, we found that mobile apps tend to depend highly on these platform-specific APIs. High dependence on a particular mobile platform may introduce instability and defects, as these mobile platforms are rapidly evolving. Therefore, the extent of platform dependence may be an indicator of software quality. In this paper, we examine the relationship between platform dependence and defect proneness of the source code files of an Android app to determine whether software metrics based on platform dependence can be used to prioritize software quality assurance efforts. We find that (1) source code files that are defect prone have a higher dependence on the platform than defect-free files and (2) increasing the platform dependence increases the likelihood of a defect being present in a source code file. Thus, platform dependence may be used to prioritize the most defect-prone source code files for code reviews and unit testing by the software quality assurance team.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3

Similar content being viewed by others

References

  • Android Market. (2014). Android Market. https://play.google.com/store. Last viewed March 14, 2014.

  • App Brain. (2014). App brain. http://www.appbrain.com/. Last viewed March 14, 2014.

  • Binkley, A. B., & Schach, S. R. (1998). Validation of the coupling dependency metric as a predictor of run-time failures and maintenance measures. In Proceedings of the international conference on software engineering (pp. 452–455).

  • Bird, C., Nagappan, N., Murphy, B., Gall, H., & Devanbu, P. (2011). Don’t touch my code! examining the effects of ownership on software quality. In Proceedings of the ACM SIGSOFT symposium and the European conference on foundations of software engineering (pp. 4–14).

  • Black Duck Software Inc. (2010). Android wins over open source mobile developers, growing 3x faster than iphone. http://blackducksoftware.com/news/releases/2010-03-16. Last viewed March 14, 2014.

  • Black Duck Software Inc. (2011). Mobile innovation, growth driven by open source. http://blackducksoftware.com/news/releases/2011-03-02. Last viewed March 14, 2014.

  • Black Duck Software Inc. (2012). Android and enterprise benefit from mobile open source development. http://blackducksoftware.com/news/releases/2012-05-15. Last viewed March 14, 2014.

  • Butler, M. (2011). Android: Changing the mobile landscape. IEEE Pervasive Computing, 10(1), 4–7.

    Article  Google Scholar 

  • Charland, A., & LeRoux, B. (2011). Mobile application development: Web vs. native. Queue, 9(4), 20–28.

    Article  Google Scholar 

  • Chidamber, S., & Kemerer, C. (1994). A metrics suite for object oriented design. Transactions on Software Engineering, 20(6), 476–493.

    Article  Google Scholar 

  • Cohen, J., Cohen, P., West, S. G., & Aiken, L. S. (2002). Applied multiple regression/correlation analysis for the behavioral sciences, 3rd edn. Routledge Academic.

  • Distimo (2011). Comparisons and contrasts: Windows phone 7 marketplace and google android market. http://www.distimo.com/publications. Last viewed March 14, 2014.

  • Elliott, A. C. (2006). Statistical analysis quick reference guidebook (1st ed.). Thousand Oaks, CA: Sage.

    Google Scholar 

  • Enck, W., Ongtang, M., & McDaniel, P. (2009). Understanding Android Security. Security and Privacy Magazine, 7(1), 50–57.

    Article  Google Scholar 

  • Fox, J. (2008). Applied regression analysis and generalized linear models (2nd ed.). Thousand Oaks, CA: Sage.

    Google Scholar 

  • Gasimov, A., Tan, C. H., Phang, C. W., & Sutanto, J. (2010). Visiting mobile application development: What, how, and where. In Proceedings of the international conference on mobile business and global mobility roundtable (pp. 74–81).

  • Gavalas, D., & Economou, D. (2011). Development platforms for mobile applications: Status and trends. IEEE Software, 28(1), 77–86.

    Article  Google Scholar 

  • Grace, M. C., Zhou, W., Jiang, X., & Sadeghi, A. R. (2012a). Unsafe exposure analysis of mobile in-app advertisements. In Proceedings of the conference on security and privacy in wireless and mobile networks (pp. 101–112).

  • Grace, M. C., Zhou, Y., Zhang, Q., Zou, S., & Jiang, X. (2012b). Riskranker: scalable and accurate zero-day android malware detection. In Proceedings of the international conference on mobile systems, applications, and services (pp. 281–294).

  • Harman, M., Jia, Y., & Test, Y. Z. (2012). App store mining and analysis: MSR for App stores. In Proceedings of the international working conference on mining software repositories.

  • Harrell, F. E., Lee, K. L., Califf, R. M., Pryor, D. B., & Rosati, R. A. (1984). Regression modelling strategies for improved prognostic prediction. Statistics in Medicine, 3(2), 143–152.

    Article  Google Scholar 

  • Hassan, A. E. (2008a). Automated classification of change messages in open source projects. In Proceedings of the symposium on applied computing (pp. 837–841).

  • Hassan, A. E. (2008b). The road ahead for mining software repositories. In Frontiers of Software Maintenance (pp. 48–57).

  • Hassan, A.E., & Holt, R. C. (2002). Architecture recovery of web applications. In Proceedings of the international conference on software engineering (pp. 349–359).

  • Herraiz, I., Gonzalez-Barahona, J. M., & Robles, G. (2007). Towards a theoretical model for software growth. In Proceedings of the international workshop on mining software repositories (pp. 21–28).

  • International Data Corp. (2011). Idc forecasts nearly 183 billion annual mobile app downloads by 2015: Monetization challenges driving business model evolution. http://www.idc.com/getdoc.jsp?containerId=prUS22917111. Last viewed March 14, 2014.

  • Israel, M. R. J., Nagappan, M., Adams, B., & Hassan, A. E. (2012). Understanding reuse in the android market. In Proceedings of the international conference on program comprehension (pp. 113–122).

  • Khalid, H. (2013). On identifying user complaints of ios apps. In: Proceedings of the international conference on software engineering (pp. 1474–1476).

  • Kim, H. W., Lee, H. L., & Son, J. E. (2011). An exploratory study on the determinants of smartphone app purchase. In: Proceedings of the international DSI and the APDSI joint meeting.

  • Linares-Vásquez, M., Bavota, G., Bernal-Cárdenas, C., Penta, M. D., Oliveto, R., & Poshyvanyk, D. (2013). API change and fault proneness: A threat to the success of Android apps. In Proceedings of the joint meeting on foundations of software engineering (pp. 477–487).

  • Lind, R., & Vairavan, K. (1989). An experimental investigation of software metrics and their relationship to software development effort. Transactions on Software Engineering, 15(5), 649–653.

    Article  Google Scholar 

  • Lohr, S. (2010). Google’s do-it-yourself app creation software. http://www.nytimes.com/2010/07/12/technology/12google.html. Last viewed March 14, 2014.

  • Maji, A. K., Hao, K., Sultana, S., Bagchi, S. (2010). Characterizing failures in mobile oses: A case study with android and symbian. In Proceedings of the international symposium on software reliability engineering (pp. 249–258).

  • der Meera, T. V., Grotenhuisb, M. T., & Pelzerb, B. (2010). Influential cases in multilevel modeling: A methodological comment. American Sociological Review, 75(1), 173–178.

    Article  Google Scholar 

  • Minelli, R., & Lanza, M. (2013). Software analytics for mobile applications—Insights & lessons learned. In Proceedings of the European conference on software maintenance and reengineering (pp. 144–153).

  • Mockus, A., & Votta, L.G. (2000). Identifying reasons for software changes using historic databases. In Proceedings of the international conference on software maintenance (pp. 120–130).

  • MozillaWiki. (2014). Mobile/fennec/android. http://wiki.mozilla.org/Mobile/Fennec/Android. Last viewed March 14, 2014.

  • Nagappan, N., & Ball, T. (2005). Use of relative code churn measures to predict system defect density. In Proceedings of the international conference on software engineering (pp. 284–292).

  • Nguyen, T. N. D., Adams, B., & Hassan, A. E. (2010). Studying the impact of dependency network measures on software quality. In Proceedings of the international conference on software maintenance (pp. 1–10).

  • Nielsen Co. (2010a). Games dominate America’s growing appetite for mobile apps. http://blog.nielsen.com/nielsenwire/online/_%20mobile/games-dominate-americas-growing-appetite-for-mobile-apps. Last viewed March 14, 2014.

  • Nielsen Co. (2010b). The state of mobile apps. http://blog.nielsen.com/nielsenwire/online/_mobile/the-state-of-mobile-apps. Last viewed March 14, 2014.

  • Rice, J. A. (1995). Mathematical statistics and data analysis (2nd ed.). North Scituate: Duxbury Press.

    MATH  Google Scholar 

  • Robinson, B., & Francis, P. (2010). Improving industrial adoption of software engineering research: A comparison of open and closed source software. In Proceedings of the international symposium on empirical software engineering and measurement (pp. 197–206).

  • Schröter, A., Zimmermann, T., & Zeller, A. (2006). Predicting component failures at design time. In Proceedings of the international symposium on empirical software engineering (pp. 18–27).

  • Scitools. (2014). Understand your code. http://scitools.com/. Last viewed March 14, 2014.

  • Shabtai, A., Fledel, Y., Kanonov, U., Elovici, Y., Dolev, S., & Glezer, C. (2010). Google Android: A comprehensive security assessment. Security and Privacy Magazine, 8(2), 35–44.

    Article  Google Scholar 

  • Sharma, C. (2010). Sizing up the global apps market. http://chetansharma.com/mobileappseconomy.htm. Last viewed March 14, 2014.

  • Shihab, E., Jiang, Z. M., Ibrahim, W. M., Adams, B., & Hassan, A. E. (2010). Understanding the impact of code and process metrics on post-release defects: A case study on the eclipse project. In Proceedings of the international symposium on empirical software engineering and measurement (pp. 29–39).

  • Shihab, E., Mockus, A., Kamei, Y., Adams, B., & Hassan, A. E. (2011). High-impact defects: A study of breakage and surprise defects. In Proceedings of the ACM SIGSOFT symposium and the European conference on foundations of software engineering (pp. 300–310).

  • Syer, M. D., Adams, B., Hassan, A. E., & Zou, Y. (2011). Exploring the development of micro-apps: A case study on the blackberry and android platforms. In Proceedings of the international working conference on source code analysis and manipulation (pp. 55–64).

  • Syer, M. D., Nagappan, M., Hassan, A. E., & Adams, B. (2013). Revisiting prior empirical findings for mobile apps: An empirical case study on the 15 most popular open-source android apps. In Proceedings of the conference of the center for advanced studies on collaborative research (pp. 283–297).

  • Tracy, K. W. (2012). Mobile application development experiences on Apple’s iOS and Android OS. Potentials, 31(4), 30–34.

    Article  Google Scholar 

  • Wen, H. (2011). http://radar.oreilly.com/2011/06/google-app-inventor-programmers-mobile-apps.html. Last viewed March 14, 2014.

  • Weyuker, E., Ostrand, T., & Bell, R. (2008). Do too many cooks spoil the broth? Using the number of developers to enhance defect prediction models. Empirical Software Engineering, 13, 539–559.

    Article  Google Scholar 

  • Workshop on Mobile Software Engineering. (2011). Workshop on mobile software engineering. http://mobileseworkshop.org/. Last viewed March 14, 2014.

  • Wu, Y., Luo, J., & Luo, L. (2010). Porting mobile web application engine to the android platform. In Proceedings of the international conference on computer and information technology (pp. 2157–2161).

  • Xin, C. (2009). Cross-platform mobile phone game development environment. In Proceedings of the international conference on industrial and information systems (pp. 182–184).

  • Zimmermann, T, & Nagappan, N. (2008). Predicting defects using network analysis on dependency graphs. In International conference on software engineering (pp. 531–540).

  • Zimmermann, T., Premraj, R., & Zeller, A. (2007). Predicting defects for eclipse. In International workshop on predictor models in software engineering (p. 9).

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Mark D. Syer.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Syer, M.D., Nagappan, M., Adams, B. et al. Studying the relationship between source code quality and mobile platform dependence. Software Qual J 23, 485–508 (2015). https://doi.org/10.1007/s11219-014-9238-2

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11219-014-9238-2

Keywords

Navigation