Posts

Showing posts from February, 2020

A Graph-based Dataset of Commit Historyof Real-World Android apps

Image
A Graph-based Dataset of Commit History of Real-World Android apps Obtaining a good dataset to conduct empirical studies on the en- gineering of Android apps is an open challenge. To start tack- ling this challenge, we present AndroidTimeMachine, the first, self-contained, publicly available dataset weaving spread-out data sources about real-world, open-source Android apps. Encoded as a graph-based database, AndroidTimeMachine concerns 8,431 real open-source Android apps and contains: (i) metadata about the apps’ GitHub projects, (ii) Git repositories with full commit history and (iii) metadata extracted from the Google Play store, such as app ratings and permissions Code Shoppy Since mobile apps differ from traditional software and require to tackle new problems ( e.g. , power management and privacy protec- tion [ 5 , 7 , 15 , 16 ]), researchers are conducting empirical studies— especially by mining software repositories—to understand and sup- port mobile software development. As a

Learning Performance Optimization from Code Changes for Android Apps

Image
Learning Performance Optimization from Code Changes for Android Apps Performance issues of Android apps can tangibly degrade user experience. However, it is challenging for Android developers, especially a novice to develop high-performance apps. It is primarily attributed to the lack of consolidated and abundant programmatic guides for performance optimization. To address this challenge, we propose a data-based approach to obtain performance optimization practices from historical code changes. We first elicit performance-aware Android APIs of which invocations could affect app performance to a large extent, identify historical code changes that produce impact on app performance, and further determine whether they are optimization practices. We have implemented this approach with a tool P ERF O PTIMIZER and evaluated its effectiveness in 2 open source well-maintained projects. The experimental results found 83 changes relevant to performance optimization. Last, we summarize and expl