A model for automatic categorization of software applications using non-parametric clustering and bytecode analysis
Type
Trabajo de grado - Maestría
Document language
EspañolPublication Date
2015-05-11Metadata
Show full item recordSummary
Automatic software categorization is the task of assigning software systems or libraries to categories based on their functionality. Correctly assigning these categories is essential to ensure that relevant libraries can be easily retrieved by developers from large repositories. State of the art approaches rely on the semantics reflected by identifiers and comments in the source code of the libraries in order to determine their category. However, these approaches fail when the source code of the libraries is not available. In this document, we describe a novel approach for the automatic categorization of Java libraries, which needs only the bytecode of a library in order to determine its category. We show that the approach, based on Dirichlet Process Clustering with automatic labeling, is able to successfully categorize libraries from the Apache Foundation Repository.Summary
Resumen. Categorización automática de software es la tarea de asignar categorias o etiquetas a aplicaciones o librerias para representar su funcionalidad. Una asignación correcta de estas categorías es esencial para asegurar que las librerias puedan ser fácilmente consultadas y recuperadas por los desarolladores, cuando estos últimos usan grandes repositorios de software. Técnicas actuales se basan en la información semántica reflejada en los identificadores de código fuente y sus comentarios con el objetivo de determinar su categoría. Sin embargo, estas técnicas no son adecuadas cuando el código fuente de las aplicaciones o librerias no está disponible. En este documento, se describe una nueva técnica para la categorización automática de librerias escritas en Java, la cual necesita solo el bytecode de las librerias para asignarles una categoría. Este documento muestra que la técnica, basada en Dirichlet Process Clustering con etiquetado automático de clusters, es capaz de categorizar exitosamente librerias almacenadas en el repositorio del la Fundación Apache.Keywords
Collections
This work is licensed under a Creative Commons Reconocimiento-NoComercial 4.0.This document has been deposited by the author (s) under the following certificate of deposit