SURF: Summarizer of User Reviews Feedback

A Java tool to automatically (i) analyze the useful information contained in app reviews for developers interested in performing software maintenance and evolution activities and (ii) distilling actionable change tasks for improving mobile applications. 


Tool description

Continuous Delivery (CD) enables mobile developers to release small, high quality chunks of working software in a rapid manner.  However, faster delivery and a higher software quality do neither guarantee user satisfaction nor positive business outcomes. Previous work demonstrates that app reviews may contain crucial information that can guide developer's software maintenance efforts to obtain higher customer satisfaction. However, previous work also proves the difficulties encountered by developers in manually analyzing this rich source of data, namely (i) the huge amount of reviews an app may receive on a daily basis and (ii) the unstructured nature of their content. In this paper, we introduce SURF (Summarizer of User Reviews Feedback) a tool able to (i) analyze and classify the information contained in app reviews and (ii) distill actionable change tasks for improving mobile applications. Specifically, SURF performs a systematic summarization of thousands of user reviews through the generation of an interactive, structured and condensed agenda of recommended software changes. An end-to-end evaluation of SURF, involving  2622 reviews related to 12 different mobile applications, demonstrates the high accuracy of SURF in summarizing user reviews content. In evaluating our approach we also involve the original developers of some analyzed apps, who confirm the practical usefulness of the software changes recommended by SURF.


Screenshot of the process implemented by SURF:



How to use SURF:

SURF Demonstration Video:


SURF Screenshot:




Andrea Di Sorbo, Sebastiano Panichella, Carol Alexandru, Junji Shimagaki, Aaron Visaggio, Gerardo Canfora and Harald Gall : What Would Users Change in My App? Summarizing App Reviews for Recommending Software Changes 24th ACM SIGSOFT International Symposium on the Foundations of Software Engineering (FSE 2016). Seattle, WA, USA. 


SURF utilities:

-- "App Reviews Extractor": an utility for automatically extract and store, in an XML file, data related to user reviews of the specified mobile application.

A new and faster (command line) version of the App Review Extractor is available here (developed in the work "Android Apps and User Feedback: a Dataset for Software Evolution and Quality Improvement"). To run this command line version   it is required the following command:

java -jar reviewCrawler.jar extractor=reviews app=<ID-APP-ON-GOOGLEPLAY>

Example for the app: is java -jar reviewCrawler.jar extractor=reviews app=com.amaze.filemanager


-- "App Reviews Analyzer": this utility consists in a command line tool which take in input the output of the XML file data generated by the "App Reviews Extractor" and  summarizes its content.


The two utilities  can be download and installed from our online repository.

Demo data set:

We share in our online repository some user reviews data (in XML format) of mobile apps for quickly use the "App Reviews Analyzer".








Andrea Di Sorbo

University of Sannio, Italy


Sebastiano Panichella University of Zurich, Switzerland


Carol V. Alexandru University of Zurich, Switzerland
Corrado A. Visaggio University of Sannio, Italy

Gerardo Canfora

University of Sannio, Italy