789 research outputs found

    Software model refactoring based on performance analysis: better working on software or performance side?

    Full text link
    Several approaches have been introduced in the last few years to tackle the problem of interpreting model-based performance analysis results and translating them into architectural feedback. Typically the interpretation can take place by browsing either the software model or the performance model. In this paper, we compare two approaches that we have recently introduced for this goal: one based on the detection and solution of performance antipatterns, and another one based on bidirectional model transformations between software and performance models. We apply both approaches to the same example in order to illustrate the differences in the obtained performance results. Thereafter, we raise the level of abstraction and we discuss the pros and cons of working on the software side and on the performance side.Comment: In Proceedings FESCA 2013, arXiv:1302.478

    Envisioning Model-Based Performance Engineering Frameworks.

    Get PDF
    Abstract Our daily activities depend on complex software systems that must guarantee certain performance. Several approaches have been devised in the last decade to validate software systems against performance requirements. However, software designers still encounter problems in the interpretation of performance analysis results (e.g., mean values, probability distribution functions) and in the definition of design alternatives (e.g., to split a software component in two and redeploy one of them) aimed at fulfilling performance requirements. This paper describes a general model-based performance engineering framework to support designers in dealing with such problems aimed at enhancing the system. The framework relies on a formalization of the knowledge needed in order to characterize performance flaws and provide alternative system design. Such knowledge can be instantiated based on the techniques devised for interpreting performance analysis results and providing feedback to designers. Three techniques are considered in this paper for instantiating the framework and the main challenges to face during such process are pointed out and discussed

    applying design patterns to remove software performance antipatterns a preliminary approach

    Get PDF
    Abstract: Patterns and antipatterns represent powerful instruments in the hands of software designers, for improving the quality of software systems. A large variety of design patterns arose since decades, as well as several performance antipatterns have been defined. In this paper we propose a preliminary approach for antipattern-based refactoring of software systems, driven by design patterns application. The approach is focused on refactoring software artifacts (i.e., models, code) by applying design patterns, with the aim of removing possible performance antipatterns occurring on such artifacts. Based on our approach, design patterns are ranked in order to drive the refactoring choice. We also provide an illustrative example as a preliminary validation of our approach, showing how the ranking method works over three design patterns for removing the Empty Semi-Trucks performance antipattern, and we finally identify future research directions of our work

    Technical Debt Prioritization: State of the Art. A Systematic Literature Review

    Get PDF
    Background. Software companies need to manage and refactor Technical Debt issues. Therefore, it is necessary to understand if and when refactoring Technical Debt should be prioritized with respect to developing features or fixing bugs. Objective. The goal of this study is to investigate the existing body of knowledge in software engineering to understand what Technical Debt prioritization approaches have been proposed in research and industry. Method. We conducted a Systematic Literature Review among 384 unique papers published until 2018, following a consolidated methodology applied in Software Engineering. We included 38 primary studies. Results. Different approaches have been proposed for Technical Debt prioritization, all having different goals and optimizing on different criteria. The proposed measures capture only a small part of the plethora of factors used to prioritize Technical Debt qualitatively in practice. We report an impact map of such factors. However, there is a lack of empirical and validated set of tools. Conclusion. We observed that technical Debt prioritization research is preliminary and there is no consensus on what are the important factors and how to measure them. Consequently, we cannot consider current research conclusive and in this paper, we outline different directions for necessary future investigations

    Experimenting the Influence of Numerical Thresholds on Model-based Detection and Refactoring of Performance Antipatterns

    Get PDF
    Performance antipatterns are well-known bad design practices that lead to software products suffering from poor performance. A number of performance antipatterns has been defined and classified and refactoring actions have also been suggested to remove them. In the last few years, we have dedicated some effort to the detection and refactoring of performance antipatterns in software models.A specific characteristic of performance antipatterns is that they contain numerical parameters that may represent thresholds referring to either performance indices (e.g., a device utilization) or design features (e.g., number of interface operations of a software component). In this paper, we analyze the influence of such thresholds on the capability of detecting and refactoring performance antipatterns. In particular, (i) we analyze how a set of detected antipatterns may change while varying the threshold values and (ii) we discuss the influence of thresholds on the complexity of refactoring actions. With the help of a leading example, we quantify the influence using precision and recall metrics

    Real-time Emergency Response through Performant IoT Architectures

    Get PDF
    International audienceThis paper describes the design of an Internet of Things (IoT) system for building evacuation. There are two main design decisions for such systems: i) specifying the platform on which the IoT intelligent components should be located; and ii) establishing the level of collaboration among the components. For safety-critical systems, such as evacuation, real-time performance and evacuation time are critical. The approach aims to minimize computational and evacuation delays and uses Queuing Network (QN) models. The approach was tested, by computer simulation, on a real exhibition venue in Alan Turing Building, Italy, that has 34 sets of IoT sensors and actuators. Experiments were performed that tested the effect of segmenting the physical space into different sized virtual cubes. Experiments were also conducted concerning the distribution of the software architecture. The results show that using centralized architectural pattern with a segmentation of the space into large cubes is the only practical solution

    Technical Debt Prioritization: State of the Art. A Systematic Literature Review

    Get PDF
    Background. Software companies need to manage and refactor Technical Debt issues. Therefore, it is necessary to understand if and when refactoring of Technical Debt should be prioritized with respect to developing features or fixing bugs.Objective. The goal of this study is to investigate the existing body of knowledge in software engineering to understand what Technical Debt prioritization approaches have been proposed in research and industry. Method. We conducted a Systematic Literature Review of 557 unique papers published until 2019, following a consolidated methodology applied in software engineering. We included 44 primary studies.Results. Different approaches have been proposed for Technical Debt prioritization, all having different goals and proposing optimization regarding different criteria. The proposed measures capture only a small part of the plethora of factors used to prioritize Technical Debt qualitatively in practice. We present an impact map of such factors. However, there is a lack of empirical and validated set of tools.Conclusion. We observed that Technical Debt prioritization research is preliminary and there is no consensus on what the important factors are and how to measure them. Consequently, we cannot consider current research\ua0conclusive. In this paper, we therefore outline different directions for necessary future investigations

    Compatible solutes from hyperthermophiles improve the quality of DNA microarrays

    Get PDF
    <p>Abstract</p> <p>Background</p> <p>DNA microarrays are among the most widely used technical platforms for DNA and RNA studies, and issues related to microarrays sensitivity and specificity are therefore of general importance in life sciences. Compatible solutes are derived from hyperthermophilic microorganisms and allow such microorganisms to survive in environmental and stressful conditions. Compatible solutes show stabilization effects towards biological macromolecules, including DNA.</p> <p>Results</p> <p>We report here that compatible solutes from hyperthermophiles increased the performance of the hybridization buffer for Affymetrix GeneChip<sup>® </sup>arrays. The experimental setup included independent hybridizations with constant RNA over a wide range of compatible solute concentrations. The dependence of array quality and compatible solute was assessed using specialized statistical tools provided by both the proprietary Affymetrix quality control system and the open source Bioconductor suite.</p> <p>Conclusion</p> <p>Low concentration (10 to 25 mM) of hydroxyectoine, potassium mannosylglycerate and potassium diglycerol phosphate in hybridization buffer positively affected hybridization parameters and enhanced microarrays outcome. This finding harbours a strong potential for the improvement of DNA microarray experiments.</p
    • …
    corecore