1
artículo
Publicado 2015
Enlace
Enlace
Durante el desarrollo de sistemas de software, frecuentemente se encuentran inconsistencias entre la arquitectura pretendida y la arquitectura presente en la implementación. Tal repercusión es denominada erosión arquitectónica, y puede degradar los atributos de calidad de la arquitectura. Este trabajo tiene como propósito presentar un framework enfocado en la realización continua de un análisis de conformidad arquitectónica estático. El framework sigue un análisis basado en reglas especificadas en DSL (Domain Specific Language) como pistas de intenciones de diseño, y genera grafos que almacenan data relevante para el análisis. El framework ha sido implementado en lenguaje Java con una base de datos Neo4j, su análisis fue evaluado sobre el código fuente de la suite de pruebas de integración de WildFly, detectando los elementos arquitectónicos que cumplían las reglas espec...
2
artículo
Publicado 2016
Enlace
Enlace
During creating a class, several times a developer must be conscious of regularities that should be complied in order to satisfy an intended architectural design. This paper presents an approach for code recommendation, which apply concepts of frequent pattern mining to take advantage of the use of naming conventions and the organization of source code in software development. The proposal has been evaluated in projects of the organizations Apache and Eclipse. The results have shown that significant terms and regularities, in form of frequent relationships, could be mined. The approach is particular in the sense that it enables using naming patterns and package hierarchies as context for recommending code.
3
artículo
Publicado 2015
Enlace
Enlace
Software visualization is an important issue in the domains of software maintenance, reconstruction of software architectures, and reverse engineering. In this context, the use of some supporting tools is relevant for medium and large software applications, where the quantity of source code to review and analyze is higher. This work presents a framework based on streams and graphs for the extraction of models from source code. Some important features of this framework includes parallelization of streams, first elements representation based on graphs, rules definition based on DSL, and generation of UML diagrams in XMI format. Java Web applications from GitHub repositories were used for evaluating the framework implementations, the results are shown.
4
artículo
Publicado 2017
Enlace
Enlace
Component identification is relevant in maintenance activities but can be hard in scenarios where the volume of source code is high and there is no architecture documentation. This work presents a technique for finding concepts as candidates of architectural components. The technique is based in the frequency of terms that follows naming patterns that are proposed in this work. Projects from Eclipse and Apache, were used for evaluating the technique. The results show terms which match with some popular component types and domain concepts of the software in treatment. The technique has used source code without any architectural documentation showing that could be applied in emergent architectures.
5
artículo
Hasty software development can produce immediate implementations with source code unnecessarily complex and hardly readable. These small kinds of software decay generate a technical debt that could be big enough to seriously affect future maintenance activities. This work presents an analysis technique for identifying architectural technical debt related to non-uniformity of naming patterns; the technique is based on term frequency over package hierarchies. The proposal has been evaluated on projects of two popular organizations, Apache and Eclipse. The results have shown that most of the projects have frequent occurrences of the proposed naming patterns, and using a graph model and aggregated data could enable the elaboration of simple queries for debt identification. The technique has features that favor its applicability on emergent architectures and agile software development.
6
artículo
Publicado 2016
Enlace
Enlace
Agile approaches consider the software architecture as an emergent feature that can have an intended structure but could be not documented. To controlling the architectural erosion, an architectural conformance analysis could be performed, but considering the source code as a primordial input. This work presents a framework that supports the development of applications for architectural conformance analysis based on rules and measures. The framework uses aggregated graphs, MapReduce operations, and an external DSL; and has been evaluated over studies related to software architecture, and projects like the test suite of Red Hat WildFly and WordPress for Android. The gotten results favor the use of the framework for executing a continuous architectural analysis from source code.
7
artículo
Publicado 2016
Enlace
Enlace
Hasty software development can produce immediate implementations with source code unnecessarily complex and hardly readable. These small kinds of software decay generate a technical debt that could be big enough to seriously affect future maintenance activities. This work presents an analysis technique for identifying architectural technical debt related to non-uniformity of naming patterns; the technique is based on term frequency over package hierarchies. The proposal has been evaluated on projects of two popular organizations, Apache and Eclipse. The results have shown that most of the projects have frequent occurrences of the proposed naming patterns, and using a graph model and aggregated data could enable the elaboration of simple queries for debt identification. The technique has features that favor its applicability on emergent architectures and agile software development.
8
artículo
Publicado 2017
Enlace
Enlace
Git based social coding platforms (e.g.; GitHub, BitBucket) have been broadly adopted by many open source projects, and have became an important source of technical and social information about software development. That information could be employed for identifying programming conventions used by software development teams. This work intends leverage the naming patterns immersed in a Git repository of source code, for getting word clouds as a summary of it. Git repositories of several open source projects have been employed to evaluate the proposal. The results show significant words mined from the repositories, and frequent implementation features for code artifacts which use these words.
9
artículo
Publicado 2010
Enlace
Enlace
Este artículo presenta a MITOO, un framework para la migración de datos desde cualquier base de datos relacional hacia bases de datos de objetos. El framework sigue un enfoque basado en configuración XML. Las características de diseño del framework son presentados mediante patrones de diseño en notación UML. MITOO está enfocado en aplicaciones Java y permite la migración de datos hacia bases de datos que cumplan el estándar JDO y DB4O. Los resultados de la investigación han sido evaluados empleando métricas de diseño orientadas a objetos, las cuales demuestran las cualidades de reusabilidad del framework. Una distribución de MITOO ha sido desarrollada en el lenguaje Java y está disponible enel sitio Web de la comunidad de desarrollo de DB4O.Palabras clave: framework, migración de datos, base de datos, JDO.DOI: http://dx.doi.org/10.21503/CienciayDesarrollo.2010.v12....