The growth of mobile apps in recent years has been aided by Frameworks, Services, and Third Party Libraries (FSTPL), which provide support for user interfaces, advertising, analytics, and other critical app functionality. These FSTPLs enhance developer productivity, improve security, make key functionality easily accessible, and modularize complex and error-prone components. Our prior work shows that there is a tradeoff between the benefits of using FSTPLs and the impact they have on end users; however, developers lack clear guidance on how to manage these tradeoffs. Best practices that can be found online are generally anecdotal and sometimes contradictory. For developers who wish to improve their apps while maintaining the use of FSTPLs, there is no way to quantify or estimate the magnitude or impact of their FSTPL related design and implementation decisions. This motivates us to investigate techniques that can help developers more accurately evaluate FSTPL tradeoffs. The results of this investigation will advance the state of the art in software engineering methodology and education, benefiting society by leading to the development of apps with higher reliability and usability. For methodology, this will result in techniques to help developers improve the quality of their apps. For education it will enhance training of future software developers in using analytical techniques to drive software design and implementation decisions.

In this proposal the PIs will investigate techniques to help app developers evaluate their usage of FSTPLs and their impact on end users? experience. The proposed work will include the design of techniques and methodologies for quantifying the way developers use FSTPLs in their apps and correlating their usage with user ratings and reviews that will be mined from the app stores. Within this project, the PIs will focus on two thrusts. The first will be to design program analysis based techniques that can measure and quantify the usage patterns of FSTPLs in mobile apps. The second will be to perform empirical investigations by applying the program analysis based techniques on apps from app stores and using statistical analysis to understand relationships between the gathered data and various user feedback based metrics, such as the ratings of apps, to learn best and worst practices for using FSTPLs. The techniques and methodologies produced by these two thrusts will allow developers to analyze their apps and determine if their usage of FSTPLs could negatively or positively impact the user experience. The approach will provide objective and quantifiable guidance to developers to make refactoring choices, redesign components, and other such decisions about their apps. Therefore developers will be able to understand how their design and implementation choices affect the users? perception of their apps. More broadly, the proposed work will define a methodology for guiding developers in making design decisions and a way to tie these decisions to ratings based outcomes.

Project Start
Project End
Budget Start
2016-07-01
Budget End
2020-06-30
Support Year
Fiscal Year
2016
Total Cost
$256,872
Indirect Cost
Name
University of Southern California
Department
Type
DUNS #
City
Los Angeles
State
CA
Country
United States
Zip Code
90089