Two Datasets of Questions and Answers for Studying the Development of Cross-Platform Mobile Applications using Xamarin Framework

A cross-platform mobile application is an application that runs on multiple mobile platforms (Android, iOS). Several frameworks have been proposed to simplify the development of cross-platform mobile applications and, therefore, to reduce development and maintenance costs. Between them, cross-compiler mobile development frameworks, such as Xamarin from Microsoft, transform the application's code written in intermediate (aka non-native) language to native code for each target platform (Android, iOS). However, to our best knowledge, there is not much research about the advantages and disadvantages of the use of those frameworks during the development and maintenance phases of mobile applications. The objective of this paper is to present two datasets of questions and answers (Q&A) related to the development of mobile applications using Xamarin. Our datasets have 85,908 questions mined from the Xamarin Forum and 44,434 from Stack Overflow. To show their usefulness, we present two experiments. First, we replicate a study for discovering the main discussion topics of Xamarin development present in the two datasets using Latent Dirichlet Allocation (LDA), and we compare them with topics previously reported about mobile development. Between the main topics discovered from those questions, we found that some of them are exclusively related to Xamarin and Microsoft technologies such as the design pattern 'MVVM'. Secondly, we aim at improving the official Xamarin documentation, which does not provide a complete description of the error codes that the Xamarin platform throws during development. We use our datasets of Q&A for complementing the error codes with information mined from accepted answers. We could complement the documentation of 23,9% of the error codes.

[1]  Xinli Yang,et al.  What Security Questions Do Developers Ask? A Large-Scale Study of Stack Overflow Posts , 2016, Journal of Computer Science and Technology.

[2]  Alessandro Orso,et al.  Automated cross-platform inconsistency detection for mobile apps , 2017, 2017 32nd IEEE/ACM International Conference on Automated Software Engineering (ASE).

[3]  Rabe Abdalkareem,et al.  On code reuse from StackOverflow: An exploratory study on Android apps , 2017, Inf. Softw. Technol..

[4]  Daniel M. Germán,et al.  How the R Community Creates and Curates Knowledge: A Comparative Study of Stack Overflow and Mailing Lists , 2016, 2016 IEEE/ACM 13th Working Conference on Mining Software Repositories (MSR).

[5]  Mark Harman,et al.  Causal impact analysis for app releases in google play , 2016, SIGSOFT FSE.

[6]  Ivano Malavolta,et al.  End Users' Perception of Hybrid Mobile Apps in the Google Play Store , 2015, 2015 IEEE International Conference on Mobile Services.

[7]  Ahmed E. Hassan,et al.  Studying the relationship between source code quality and mobile platform dependence , 2014, Software Quality Journal.

[8]  Antonio Cicchetti,et al.  Comparison of cross-platform mobile development tools , 2012, 2012 16th International Conference on Intelligence in Next Generation Networks.

[9]  Gabriele Bavota,et al.  How do API changes trigger stack overflow discussions? a study on the Android SDK , 2014, ICPC 2014.

[10]  Bogdan Dit,et al.  An exploratory analysis of mobile development issues using stack overflow , 2013, 2013 10th Working Conference on Mining Software Repositories (MSR).

[11]  Ahmed E. Hassan,et al.  A survey on the use of topic models when mining software repositories , 2015, Empirical Software Engineering.

[12]  Ali Mesbah,et al.  Mining questions asked by web developers , 2014, MSR 2014.

[13]  Emad Shihab,et al.  What are mobile developers asking about? A large scale study using stack overflow , 2016, Empirical Software Engineering.

[14]  Abram Hindle,et al.  Do topics make sense to managers and developers? , 2014, Empirical Software Engineering.

[15]  Rodolfo F. Resende,et al.  Native and Multiple Targeted Mobile Applications , 2015, ICCSA.

[16]  Ivano Malavolta,et al.  Hybrid Mobile Apps in the Google Play Store: An Exploratory Investigation , 2015, 2015 2nd ACM International Conference on Mobile Software Engineering and Systems.

[17]  Felipe Ebert,et al.  An Empirical Study on the Usage of the Swift Programming Language , 2016, 2016 IEEE 23rd International Conference on Software Analysis, Evolution, and Reengineering (SANER).

[18]  Gustavo Pinto,et al.  A study on the most popular questions about concurrent programming , 2015, PLATEAU@SPLASH.

[19]  Dan Hermes,et al.  Xamarin Mobile Application Development: Cross-Platform C# and Xamarin. Forms Fundamentals , 2015 .

[20]  Christian Bonnet,et al.  Survey, comparison and evaluation of cross platform mobile application development tools , 2013, 2013 9th International Wireless Communications and Mobile Computing Conference (IWCMC).

[21]  Martin Pinzger,et al.  Grouping Android Tag Synonyms on Stack Overflow , 2016, 2016 IEEE/ACM 13th Working Conference on Mining Software Repositories (MSR).

[22]  Philippe Kruchten,et al.  Real Challenges in Mobile App Development , 2013, 2013 ACM / IEEE International Symposium on Empirical Software Engineering and Measurement.

[23]  Michael I. Jordan,et al.  Latent Dirichlet Allocation , 2001, J. Mach. Learn. Res..

[24]  Sylvain Lecomte,et al.  Towards the Quality Improvement of Cross-Platform Mobile Applications , 2017, 2017 IEEE/ACM 4th International Conference on Mobile Software Engineering and Systems (MOBILESoft).

[25]  Zhenchang Xing,et al.  The structure and dynamics of knowledge network in domain-specific Q&A sites: a case study of stack overflow , 2017, Empirical Software Engineering.

[26]  Alberto Rodrigues da Silva,et al.  Survey on Cross-Platforms and Languages for Mobile Apps , 2012, 2012 Eighth International Conference on the Quality of Information and Communications Technology.

[27]  Christoph Treude,et al.  Understanding Stack Overflow Code Fragments , 2017, 2017 IEEE International Conference on Software Maintenance and Evolution (ICSME).

[28]  Eleni Stroulia,et al.  On the Personality Traits of StackOverflow Users , 2013, 2013 IEEE International Conference on Software Maintenance.

[29]  John Lyle,et al.  On the challenges of building a web-based ubiquitous application platform , 2012, UbiComp '12.

[30]  Gustavo Pinto,et al.  Mining questions about software energy consumption , 2014, MSR 2014.

[31]  Ying Zou,et al.  A study of the relation of mobile device attributes with the user-perceived quality of Android apps , 2017, Empirical Software Engineering.

[32]  Liviu Iftode,et al.  Testing Cross-Platform Mobile App Development Frameworks (T) , 2015, 2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE).

[33]  Ali Mesbah,et al.  Same App, Different App Stores: A Comparative Study , 2017, 2017 IEEE/ACM 4th International Conference on Mobile Software Engineering and Systems (MOBILESoft).

[34]  Giuseppe Scanniello,et al.  Supporting the development of multi-platform mobile applications , 2013, 2013 15th IEEE International Symposium on Web Systems Evolution (WSE).

[35]  Michael R. Lyu,et al.  Experience Report: Understanding Cross-Platform App Issues from User Reviews , 2016, 2016 IEEE 27th International Symposium on Software Reliability Engineering (ISSRE).

[36]  Sylvain Lecomte,et al.  Common Framework: a Hybrid Approach to Integrate Cross-Platform Components in Mobile Application , 2014, J. Comput. Sci..

[37]  Shaohua Wang,et al.  What Do Client Developers Concern When Using Web APIs? An Empirical Study on Developer Forums and Stack Overflow , 2016, 2016 IEEE International Conference on Web Services (ICWS).

[38]  Bin Li,et al.  Exploring topic models in software engineering data analysis: A survey , 2016, 2016 17th IEEE/ACIS International Conference on Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing (SNPD).

[39]  Ombretta Gaggi,et al.  An empirical analysis of energy consumption of cross-platform frameworks for mobile development , 2017, Pervasive Mob. Comput..

[40]  Ahmed E. Hassan,et al.  What are developers talking about? An analysis of topics and trends in Stack Overflow , 2014, Empirical Software Engineering.

[41]  Gang Yin,et al.  Linking Issue Tracker with Q&A Sites for Knowledge Sharing across Communities , 2018, IEEE Transactions on Services Computing.

[42]  Martin Pinzger,et al.  A Manual Categorization of Android App Development Issues on Stack Overflow , 2014, 2014 IEEE International Conference on Software Maintenance and Evolution.

[43]  David Lo,et al.  GitHub and Stack Overflow: Analyzing Developer Interests Across Multiple Social Collaborative Platforms , 2017, SocInfo.

[44]  Premkumar T. Devanbu,et al.  Asking for (and about) permissions used by Android apps , 2013, 2013 10th Working Conference on Mining Software Repositories (MSR).

[45]  Cor-Paul Bezemer,et al.  Studying the consistency of star ratings and the complaints in 1 & 2-star user reviews for top free cross-platform Android and iOS apps , 2018, Empirical Software Engineering.

[46]  Ali Mesbah,et al.  Mining and characterizing hybrid apps , 2016, WAMA@SIGSOFT FSE.

[47]  Tim A. Majchrzak,et al.  Evaluating Cross-Platform Development Approaches for Mobile Applications , 2012, WEBIST.

[48]  Ali Mesbah,et al.  Detecting inconsistencies in multi-platform mobile apps , 2015, 2015 IEEE 26th International Symposium on Software Reliability Engineering (ISSRE).

[49]  Meiyappan Nagappan,et al.  Future Trends in Software Engineering Research for Mobile Apps , 2016, 2016 IEEE 23rd International Conference on Software Analysis, Evolution, and Reengineering (SANER).

[50]  Michael W. Godfrey,et al.  Detecting API usage obstacles: A study of iOS and Android developer questions , 2013, 2013 10th Working Conference on Mining Software Repositories (MSR).