8 research outputs found

    JSClassFinder: A Tool to Detect Class-like Structures in JavaScript

    Get PDF
    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

    Get PDF
    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

    Full text link
    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

    Get PDF
    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

    Get PDF
    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

    Understanding JavaScript event-based interactions

    No full text
    corecore