DOI: 10.5281/zenodo.5034291
title: Dataset used for "A Recommender System of Buggy App Checkers for App Store Moderators"

description: This is the dataset used for paper: "A Recommender System of Buggy App Checkers for App Store Moderators", published on the <em>International Conference on Mobile Software Engineering and Systems (MOBILESoft)</em> in 2015.<br> <br> <strong>Dataset Collection</strong><br> We built a dataset that consists of a random sample of <em><strong>Android app metadata</strong></em> and <em><strong>user reviews</strong></em> available on the <em>Google Play Store</em> on January and March 2014.<br> Since the Google Play Store is continuously evolving (adding, removing and/or updating apps), we updated the dataset twice.<br> The dataset D1 contains available apps in the Google Play Store in January 2014.<br> Then, we created a new snapshot (D2) of the Google Play Store in March 2014.<br> <br> The apps belong to the 27 different categories defined by Google (at the time of writing the paper), and the 4 predefined subcategories (free, paid, new_free, and new_paid). For each category-subcategory pair (e.g. tools-free, tools-paid, sports-new_free, etc.), we collected a maximum of 500 samples, resulting in a median number of 1.978 apps per category. For each app, we retrieved the following metadata: <em>name, package, creator, version code, version name, number of downloads, size, upload date, star rating, star counting</em>, and the set of <em>permission requests</em>.<br> <br> In addition, for each app, we collected up to a maximum of the latest 500 reviews posted by users in the Google Play Store. For each review, we retrieved its metadata:<em> title, description, device,</em> and <em>version</em> of the app. None of these fields were mandatory, thus<br> several reviews lack some of these details.<br> From all the reviews attached to an app, we only considered the reviews associated with the latest version of the app —i.e., we discarded unversioned and old-versioned reviews. Thus, resulting in a corpus of 1,402,717 reviews (2014 Jan.). <strong>Dataset Stats</strong><br> Some stats about the datasets: - <strong>D1</strong> (<em>Jan. 2014</em>) contains 38,781 apps requesting 7,826 different permissions, and 1,402,717 user reviews. - <strong>D2</strong> (<em>Mar. 2014</em>) contains 46,644 apps and 9,319 different permission requests, and 1,361,319 user reviews. Additional stats about the datasets are available here.<br> <br> <br> <strong>Dataset Description</strong><br> To store the dataset, we created a graph database with Neo4j. This dataset therefore consists of a graph describing the apps as nodes and edges. We chose a graph database because the graph visualization helps to identify connections among data (e.g.,<br> clusters of apps sharing similar sets of permission requests).<br> <br> In particular, our dataset graph contains six <em>types of nodes</em>:<br> - <em>APP</em> nodes containing metadata of each app,<br> - <em>PERMISSION</em> nodes describing permission types,<br> - <em>CATEGORY</em> nodes describing app categories,<br> - <em>SUBCATEGORY</em> nodes describing app subcategories,<br> - <em>USER_REVIEW</em> nodes storing user reviews.<br> - <em>TOPIC</em> topics mined from user reviews (using LDA).<br> <br> Furthermore, there are five <em>types of relationships</em> between APP nodes and each of the remaining nodes: - <em>USES_PERMISSION</em> relationships between APP and PERMISSION nodes<br> - <em>HAS_REVIEW</em> between APP and USER_REVIEW nodes<br> - <em>HAS_TOPIC</em> between USER_REVIEW and TOPIC nodes<br> - <em>BELONGS_TO_CATEGORY</em> between APP and CATEGORY nodes<br> - <em>BELONGS_TO_SUBCATEGORY</em> between APP and SUBCATEGORY nodes <br> <strong>Dataset Files Info</strong> <strong>Neo4j 2.0 Databases</strong> <em><strong>googlePlayDB1-Jan2014_neo4j_2_0.rar</strong></em> <em><strong>googlePlayDB2-Mar2014_neo4j_2_0.rar</strong></em><br> We provide two Neo4j databases containing the 2 snapshots of the Google Play Store (January and March 2014). These are the original databases created for the paper. The databases were created with <strong>Neo4j 2.0. </strong>In particular with the tool version <em>'Neo4j 2.0.0-M06 Community Edition' (latest version available at the time of implementing the paper in 2014).</em><br> <strong>Neo4j 3.5 Databases</strong> <strong>googlePlayDB1-Jan2014_neo4j_3_5_28.rar</strong> <strong>googlePlayDB2-Mar2014_neo4j_3_5_28.rar</strong><br> Currently, the version Neo4j 2.0 is deprecated and it is not available for download in the official <em>Neo4j Download Center</em>. We have migrated the original databases (Neo4j 2.0) to Neo4j 3.5.28.<br> The databases can be opened with the tool version: <em>'Neo4j Community Edition 3.5.28'.<br> The tool can be downloaded from the official </em>Neo4j Donwload page.<br> <br> In order to open the databases with more recent versions of Neo4j, the databases must be first migrated to the corresponding version. Instructions about the migration process can be found in the Neo4j Migration Guide.<br> <br> First time the Neo4j database is connected, it could request credentials. The username and pasword are: neo4j/neo4j <br> <br>