8 research outputs found
JSClassFinder: A Tool to Detect Class-like Structures in JavaScript
With the increasing usage of JavaScript in web applications, there is a great
demand to write JavaScript code that is reliable and maintainable. To achieve
these goals, classes can be emulated in the current JavaScript standard
version. In this paper, we propose a reengineering tool to identify such
class-like structures and to create an object-oriented model based on
JavaScript source code. The tool has a parser that loads the AST (Abstract
Syntax Tree) of a JavaScript application to model its structure. It is also
integrated with the Moose platform to provide powerful visualization, e.g., UML
diagram and Distribution Maps, and well-known metric values for software
analysis. We also provide some examples with real JavaScript applications to
evaluate the tool.Comment: VI Brazilian Conference on Software: Theory and Practice (Tools
Track), p. 1-8, 201
Usability analysis of AngularJS framework in the context of simple internet application
The goal of this article was to perform analysis of usability possibilities of frontend framework AngularJS compared to native programming language JavaScript, on which it is based on. Several framework funcionalities were chosen and set together with self implemented solutions in JavaScript. Comparison was made according to specified criteria: usage simplicity, possibilities of utilization and reusability. Created scripts confirm accepted assumptions, that in JavaScript it is possible to write simplified and reusable implementations of useful mechanisms, which are present in AngularJS
How software engineering research aligns with design science: A review
Background: Assessing and communicating software engineering research can be
challenging. Design science is recognized as an appropriate research paradigm
for applied research but is seldom referred to in software engineering.
Applying the design science lens to software engineering research may improve
the assessment and communication of research contributions. Aim: The aim of
this study is 1) to understand whether the design science lens helps summarize
and assess software engineering research contributions, and 2) to characterize
different types of design science contributions in the software engineering
literature. Method: In previous research, we developed a visual abstract
template, summarizing the core constructs of the design science paradigm. In
this study, we use this template in a review of a set of 38 top software
engineering publications to extract and analyze their design science
contributions. Results: We identified five clusters of papers, classifying them
according to their alignment with the design science paradigm. Conclusions: The
design science lens helps emphasize the theoretical contribution of research
output---in terms of technological rules---and reflect on the practical
relevance, novelty, and rigor of the rules proposed by the research.Comment: 32 pages, 10 figure
Actionable Program Analyses for Improving Software Performance
Nowadays, we have greater expectations of software than ever before. This is followed by constant pressure to run the same program on smaller and cheaper machines. To meet this demand, the application鈥檚 performance has become the essential concern in software development. Unfortunately, many applications still suffer from performance issues: coding or design errors that lead to performance degradation. However, finding performance issues is a challenging task: there is
limited knowledge on how performance issues are discovered and fixed in practice, and current performance profilers report only where resources are spent, but not where resources are wasted. The goal of this dissertation is to investigate actionable performance analyses that help developers optimize their software by applying relatively simple code changes. To understand causes and fixes of performance issues in real-world software, we first present an empirical study of 98 issues in popular JavaScript projects. The study illustrates the prevalence of simple and recurring optimization patterns that lead to significant performance improvements. Then, to help developers optimize their code, we propose two actionable performance analyses that suggest optimizations based on reordering opportunities and method inlining. In this work, we focus on optimizations with four key properties. First, the optimizations are effective, that is, the changes suggested by the analysis lead to statistically significant performance improvements. Second, the optimizations are exploitable, that is, they are easy to understand and apply. Third, the optimizations are recurring, that is, they are applicable across multiple projects. Fourth, the optimizations are out-of-reach for compilers, that is, compilers can not guarantee that a code transformation preserves the original semantics. To reliably detect optimization opportunities and measure their performance benefits, the code must be executed with sufficient test inputs. The last contribution complements state-of-the-art test generation techniques by proposing a novel automated approach for generating effective tests for higher-order functions. We implement our techniques in practical tools and evaluate their effectiveness on a set of popular software systems. The empirical evaluation demonstrates the potential of actionable analyses in improving software performance through relatively simple optimization opportunities
Desarrollo del portafolio de servicios para el eje estrat茅gico de vinculaci贸n con la sociedad de la Universidad T茅cnica del Norte aplicando Oracle Apex
Desarrollar un portafolio de servicios dirigido al eje estrat茅gico de la vinculaci贸n con la
sociedad de la Universidad T茅cnica del Norte dentro del Sistema Integrado, que se adapte
a las pol铆ticas vigentes de la Comisi贸n de Vinculaci贸n con la Sociedad, aplicando Oracle
Application Express.El presente documento, dividido en cuatro cap铆tulos, detalla el proceso que se llev贸 a cabo en la implantaci贸n de la aplicaci贸n web: "PORTAFOLIO DE SERVICIOS PARA EL EJE ESTRAT脡GICO DE VINCULACI脫N CON LA SOCIEDAD DE LA UNIVERSIDAD T脡CNICA DEL NORTE", construido con la herramienta de desarrollo Oracle Apex, acorde a las normas actualmente vigentes, con el fin de atender a los diferentes requerimientos del eje estrat茅gico de Vinculaci贸n con la sociedad en torno a los servicios de gesti贸n de la informaci贸n, registro y monitoreo de proyectos, impacto con la sociedad, colaboraci贸n en la toma de decisiones y reportes. El cap铆tulo 1 se enfoca en el marco te贸rico necesario para la construcci贸n de la aplicaci贸n, el estudio de la herramienta de desarrollo Oracle Apex y otras herramientas y librer铆as, tales como: Javascript, Bootstrap y Tableau, que fueron utilizadas en la construcci贸n de la aplicaci贸n. Los cap铆tulos: 2, 3 y 4, se enfocan en el an谩lisis y desarrollo del sistema aplicando la metodolog铆a de desarrollo de software RUP, describiendo cada fase de desarrollo, sus iteraciones y los artefactos generados, al final, se incluyen las conclusiones y sugerencias obtenidas de la aplicaci贸n del proyecto. Finalmente, el documento cierra con los anexos, que incluyen: el manual t茅cnico y el manual de usuario de la aplicaci贸n