Mining usage patterns for the Android API
Description
API methods are not used alone, but in groups and following patterns. However, despite being a key information for API users, most usage patterns are not described in official API documents. In this article, we report a study that evaluates the feasibility of automatically enriching API documents with information on usage patterns. For this purpose, we mine and analyze 1,952 usage patterns, from a set of 396 Android applications. As part of our findings, we report that the Android API has many undocumented and non-trivial usage patterns, which can be inferred using association rule mining algorithms. We also describe a field study where a version of the original Android documentation is instrumented with the extracted usage patterns. During 17 months, this documentation received 77,863 visits from professional Android developers.
Translated Descriptions
Translated Description (Arabic)
لا يتم استخدام طرق واجهة برمجة التطبيقات وحدها، ولكن في مجموعات والأنماط التالية. ومع ذلك، على الرغم من كونها معلومات أساسية لمستخدمي واجهة برمجة التطبيقات، إلا أن معظم أنماط الاستخدام غير موصوفة في مستندات واجهة برمجة التطبيقات الرسمية. في هذه المقالة، نبلغ عن دراسة تقيم جدوى إثراء مستندات واجهة برمجة التطبيقات تلقائيًا بمعلومات عن أنماط الاستخدام. لهذا الغرض، نقوم بالتنقيب وتحليل 1,952 نمط استخدام، من مجموعة من 396 تطبيق أندرويد. كجزء من النتائج التي توصلنا إليها، نفيد بأن واجهة برمجة تطبيقات Android لها العديد من أنماط الاستخدام غير الموثقة وغير التافهة، والتي يمكن استنتاجها باستخدام خوارزميات تعدين قواعد الارتباط. كما نصف دراسة ميدانية حيث يتم استخدام نسخة من وثائق الأندرويد الأصلية مع أنماط الاستخدام المستخرجة. خلال 17 شهرًا، تلقت هذه الوثائق 77863 زيارة من مطوري أندرويد المحترفين.Translated Description (French)
Les méthodes API ne sont pas utilisées seules, mais en groupes et selon des schémas. Cependant, bien qu'il s'agisse d'une information clé pour les utilisateurs de l'API, la plupart des modèles d'utilisation ne sont pas décrits dans les documents officiels de l'API. Dans cet article, nous rapportons une étude qui évalue la faisabilité d'enrichir automatiquement les documents API avec des informations sur les modèles d'utilisation. À cette fin, nous explorons et analysons 1 952 modèles d'utilisation, à partir d'un ensemble de 396 applications Android. Dans le cadre de nos conclusions, nous signalons que l'API Android présente de nombreux modèles d'utilisation non documentés et non triviaux, qui peuvent être déduits à l'aide d'algorithmes d'exploration de règles d'association. Nous décrivons également une étude de terrain dans laquelle une version de la documentation Android originale est instrumentée avec les modèles d'utilisation extraits. Pendant 17 mois, cette documentation a reçu 77 863 visites de développeurs Android professionnels.Translated Description (Spanish)
Los métodos API no se utilizan solos, sino en grupos y siguiendo patrones. Sin embargo, a pesar de ser una información clave para los usuarios de la API, la mayoría de los patrones de uso no se describen en los documentos oficiales de la API. En este artículo, presentamos un estudio que evalúa la viabilidad de enriquecer automáticamente los documentos de la API con información sobre los patrones de uso. Para ello, extraemos y analizamos 1.952 patrones de uso, de un conjunto de 396 aplicaciones Android. Como parte de nuestros hallazgos, informamos que la API de Android tiene muchos patrones de uso indocumentados y no triviales, que pueden inferirse utilizando algoritmos de minería de reglas de asociación. También describimos un estudio de campo donde se instrumentaliza una versión de la documentación original de Android con los patrones de uso extraídos. Durante 17 meses, esta documentación recibió 77.863 visitas de desarrolladores profesionales de Android.Additional details
Additional titles
- Translated title (Arabic)
- أنماط استخدام التعدين لواجهة برمجة تطبيقات Android
- Translated title (French)
- Exploration des modèles d'utilisation de l'API Android
- Translated title (Spanish)
- Patrones de uso de minería para la API de Android
Identifiers
- Other
- https://openalex.org/W2153850479
- DOI
- 10.7717/peerj-cs.12
References
- https://openalex.org/W2027006565
- https://openalex.org/W2048668881
- https://openalex.org/W2052657693
- https://openalex.org/W2087151255
- https://openalex.org/W2101585275
- https://openalex.org/W2108632968
- https://openalex.org/W2115130131
- https://openalex.org/W2119432210
- https://openalex.org/W2122156963
- https://openalex.org/W2122595236
- https://openalex.org/W2140681814
- https://openalex.org/W2166019458
- https://openalex.org/W2170125011
- https://openalex.org/W3103362336
- https://openalex.org/W4246180958
- https://openalex.org/W4285719527
- https://openalex.org/W90447038