Abstract

Non-functional requirements (NFRs) form an intrinsic part of any software system. Compatibility between versions or different platforms of a software product is a form of NFRs. In this paper, we have studied Compatibility in open-source mobile apps. We are interested in understanding the different aspects of mobile incompatibility, their frequency of occurrence from a user perspective, and how much effort developers have spent on it. We have conducted a study on 40 randomly selected open-source mobile apps from the Google Play Store and have analyzed 258,056 commits (extracted from their version control system) to identify incompatibility issues in apps. We have also studied 205,847 reviews to identify and categorize compatibility requirements from user reviews. Both app commits and app reviews were processed by a pipeline of Natural Language Processing steps. We evaluated the efficiency of four Machine Learning classifiers to analyze compatibility. This was done by classifying commit messages and analyzing user reviews. We observed that the Logistic Regression classifier produced the best overall results. For the same data set, we classified compatibility types. In that case, the Support Vector Machine classifier performed marginally better over the other classifiers. Addressing the relative effort spent on compatibility, we found that 3.16% of the developer's effort is dedicated to compatibility issues. At the same time, we observed that 4.30% of user reviews report compatibility issues in apps. In conclusion, we see more demand for future research on (i)the gap between the time spent by the developers and the frequency of occurrence of compatibility issues, and (ii) the degree of responsiveness on actual user concerns.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call