Software Performance

14,000,000 Leading Edge Experts on the ideXlab platform

Scan Science and Technology

Contact Leading Edge Experts & Companies

Scan Science and Technology

Contact Leading Edge Experts & Companies

The Experts below are selected from a list of 486537 Experts worldwide ranked by ideXlab platform

Catia Trubiani - One of the best experts on this subject based on the ideXlab platform.

  • ICPE - Introducing Software Performance Antipatterns in Cloud Computing Environments: Does it Help or Hurt?
    Proceedings of the 6th ACM SPEC International Conference on Performance Engineering - ICPE '15, 2015
    Co-Authors: Catia Trubiani
    Abstract:

    Performance assessment of cloud-based big data applications require new methodologies and tools to take into consideration on one hand the volume, the variability and the complexity of big data, and on the other hand the intrinsic dynamism of cloud environments. To this end, we introduce Software Performance antipatterns as reference knowledge to capture the well-known bad design practices that lead to Software products suffering by poor Performance. This paper discusses some of the challenges and opportunities of research while introducing Software Performance antipatterns in cloud computing environments. We present a model-based framework that makes use of Software Performance antipatterns to improve the Quality-of-Service (QoS) objectives of cloud-based big data applications.

  • Guilt-based handling of Software Performance antipatterns in palladio architectural models
    Journal of Systems and Software, 2014
    Co-Authors: Catia Trubiani, Vittorio Cortellessa, Anne Koziolek, Ralf Reussner
    Abstract:

    Antipatterns are conceptually similar to patterns in that they document recurring solutions to common design problems. Software Performance antipatterns document common Performance problems in the design as well as their solutions. The definition of Performance antipatterns concerns Software properties that can include static, dynamic, and deployment aspects. To make use of such knowledge, we propose an approach that helps Software architects to identify and solve Performance antipatterns. Our approach provides Software Performance feedback to architects, since it suggests the design alternatives that allow overcoming the detected Performance problems. The feedback process may be quite complex since architects may have to assess several design options before achieving the architectural model that best fits the end-user expectations. In order to optimise such process we introduce a ranking methodology that identifies, among a set of detected antipatterns, the ''guilty'' ones, i.e. the antipatterns that more likely contribute to the violation of specific Performance requirements. The introduction of our ranking process leads the system to converge towards the desired Performance improvement by discarding a consistent part of design alternatives. Four case studies in different application domains have been used to assess the validity of the approach.

  • SFM - Software Performance antipatterns: modeling and analysis
    Formal Methods for Model-Driven Engineering, 2012
    Co-Authors: Vittorio Cortellessa, Antinisca Di Marco, Catia Trubiani
    Abstract:

    The problem of capturing Performance problems is critical in the Software design, mostly because the results of Performance analysis (i.e. mean values, variances, and probability distributions) are difficult to be interpreted for providing feedback to Software designers. Support to the interpretation of Performance analysis results that helps to fill the gap between numbers and design alternatives is still lacking. The aim of this chapter is to present the work that has been done in the last few years on filling such gap. The work is centered on Software Performance antipatterns, that are recurring solutions to common mistakes (i.e. bad practices) affecting Performance. Such antipatterns can play a key role in the Software Performance domain, since they can be used in the investigation of Performance problems as well as in the formulation of solutions in terms of design alternatives.

  • An approach for modeling and detecting Software Performance antipatterns based on first-order logics
    Software and Systems Modeling, 2012
    Co-Authors: Vittorio Cortellessa, Antinisca Di Marco, Catia Trubiani
    Abstract:

    The problem of interpreting the results of Performance analysis is quite critical in the Software Performance domain. Mean values, variances and probability distributions are hard to interpret for providing feedback to Software architects. Instead, what architects expect are solutions to Performance problems, possibly in the form of architectural alternatives (e.g. split a Software component in two components and re-deploy one of them). In a Software Performance engineering process, the path from analysis results to Software design or implementation alternatives is still based on the skills and experience of analysts. In this paper, we propose an approach for the generation of feedback based on Performance antipatterns. In particular, we focus on the representation and detection of antipatterns. To this goal, we model Performance antipatterns as logical predicates and we build an engine, based on such predicates, aimed at detecting Performance antipatterns in an XML representation of the Software system. Finally, we show the approach at work on a case study.

  • Detection and solution of Software Performance antipatterns in palladio architectural models (abstracts only)
    ACM SIGMETRICS Performance Evaluation Review, 2011
    Co-Authors: Catia Trubiani, Anne Koziolek
    Abstract:

    Antipatterns are conceptually similar to patterns in that they document recurring solutions to common design problems. Performance Antipatterns document, from a Performance perspective, common mistakes made during Software development as well as their solutions. The definition of Performance antipatterns concerns Software properties that can include static, dynamic, and deployment aspects. Currently, such knowledge is only used by domain experts; the problem of automatically detecting and solving antipatterns within an architectural model had not yet been empirically addressed. In this paper we present an approach to automatically detect and solve Software Performance antipatterns within the Palladio architectural models: the detection of an antipattern provides a Software Performance feedback to designers, since it suggests the architectural alternatives to overcome specific Performance problems. We implemented the approach and a case study is presented to demonstrate its validity. The system Performance under study has been improved by 50% with the use of antipatterns' solutions.

Alberto Sangiovannivincentelli - One of the best experts on this subject based on the ideXlab platform.

  • efficient Software Performance estimation methods for hardware Software codesign
    Design Automation Conference, 1996
    Co-Authors: Kei Suzuki, Alberto Sangiovannivincentelli
    Abstract:

    The Performance estimation of a target system at a higher level of abstraction is very important in hardware/Software codesign. We focus on Software Performance estimation, including both the execution time and the code size. We present two estimation methods at different levels of abstraction for use in the POLIS hardware/Software codesign system. The experimental results show that the accuracy of our methods is usually within /spl plusmn/20%.

Vittorio Cortellessa - One of the best experts on this subject based on the ideXlab platform.

  • Guilt-based handling of Software Performance antipatterns in palladio architectural models
    Journal of Systems and Software, 2014
    Co-Authors: Catia Trubiani, Vittorio Cortellessa, Anne Koziolek, Ralf Reussner
    Abstract:

    Antipatterns are conceptually similar to patterns in that they document recurring solutions to common design problems. Software Performance antipatterns document common Performance problems in the design as well as their solutions. The definition of Performance antipatterns concerns Software properties that can include static, dynamic, and deployment aspects. To make use of such knowledge, we propose an approach that helps Software architects to identify and solve Performance antipatterns. Our approach provides Software Performance feedback to architects, since it suggests the design alternatives that allow overcoming the detected Performance problems. The feedback process may be quite complex since architects may have to assess several design options before achieving the architectural model that best fits the end-user expectations. In order to optimise such process we introduce a ranking methodology that identifies, among a set of detected antipatterns, the ''guilty'' ones, i.e. the antipatterns that more likely contribute to the violation of specific Performance requirements. The introduction of our ranking process leads the system to converge towards the desired Performance improvement by discarding a consistent part of design alternatives. Four case studies in different application domains have been used to assess the validity of the approach.

  • SFM - Software Performance antipatterns: modeling and analysis
    Formal Methods for Model-Driven Engineering, 2012
    Co-Authors: Vittorio Cortellessa, Antinisca Di Marco, Catia Trubiani
    Abstract:

    The problem of capturing Performance problems is critical in the Software design, mostly because the results of Performance analysis (i.e. mean values, variances, and probability distributions) are difficult to be interpreted for providing feedback to Software designers. Support to the interpretation of Performance analysis results that helps to fill the gap between numbers and design alternatives is still lacking. The aim of this chapter is to present the work that has been done in the last few years on filling such gap. The work is centered on Software Performance antipatterns, that are recurring solutions to common mistakes (i.e. bad practices) affecting Performance. Such antipatterns can play a key role in the Software Performance domain, since they can be used in the investigation of Performance problems as well as in the formulation of solutions in terms of design alternatives.

  • An approach for modeling and detecting Software Performance antipatterns based on first-order logics
    Software and Systems Modeling, 2012
    Co-Authors: Vittorio Cortellessa, Antinisca Di Marco, Catia Trubiani
    Abstract:

    The problem of interpreting the results of Performance analysis is quite critical in the Software Performance domain. Mean values, variances and probability distributions are hard to interpret for providing feedback to Software architects. Instead, what architects expect are solutions to Performance problems, possibly in the form of architectural alternatives (e.g. split a Software component in two components and re-deploy one of them). In a Software Performance engineering process, the path from analysis results to Software design or implementation alternatives is still based on the skills and experience of analysts. In this paper, we propose an approach for the generation of feedback based on Performance antipatterns. In particular, we focus on the representation and detection of antipatterns. To this goal, we model Performance antipatterns as logical predicates and we build an engine, based on such predicates, aimed at detecting Performance antipatterns in an XML representation of the Software system. Finally, we show the approach at work on a case study.

  • Model-Based Software Performance Analysis
    2011
    Co-Authors: Vittorio Cortellessa, Antinisca Di Marco, Paola Inverardi
    Abstract:

    Poor Performance is one of the main quality-related shortcomings that cause Software projects to fail. Thus, the need to address Performance concerns early during the Software development process is fully acknowledged, and there is a growing interest in the research and Software industry communities towards techniques, methods and tools that permit to manage system Performance concerns as an integral part of Software engineering. Model-based Software Performance analysis introduces Performance concerns in the scope of Software modeling, thus allowing the developer to carry on Performance analysis throughout the Software lifecycle. With this book, Cortellessa, Di Marco and Inverardi provide the cross-knowledge that allows developers to tackle Software Performance issues from the very early phases of Software development. They explain the basic concepts of Performance analysis and describe the most representative methodologies used to annotate and transform Software models into Performance models. To this end, they go all the way from Performance primers through Software and Performance modeling notations to the latest transformation-based methodologies. As a result, their book is a self-contained reference text on Software Performance engineering, from which different target groups will benefit: professional Software engineers and graduate students in Software engineering will learn both basic concepts of Performance modeling and new methodologies; while Performance specialists will find out how to investigate Software Performance model building.

  • Advanced Issues in Software Performance
    Model-Based Software Performance Analysis, 2011
    Co-Authors: Vittorio Cortellessa, Antinisca Di Marco, Paola Inverardi
    Abstract:

    In this chapter some advanced issues of Software Performance have been collected. They address different aspects of this discipline, not necessarily related to each other. The chapter is not meant to be a structured overview of the main open issues in the field, rather it is an anthology of issues that we have faced in the last few years.

Connie U. Smith - One of the best experts on this subject based on the ideXlab platform.

  • SFM - Introduction to Software Performance engineering: origins and outstanding problems
    Formal Methods for Performance Evaluation, 2007
    Co-Authors: Connie U. Smith
    Abstract:

    This chapter first reviews the origins of Software Performance Engineering (SPE). It provides an overview and an extensive bibliography of the early research. It then covers the fundamental elements of SPE: the data required, the Software Performance models and the SPE process. It illustrates how to apply the modeling and analysis techniques with a case study. It concludes with a review of the current status and outstanding problems.

  • Five Steps to Establish Software Performance Engineering in Your Organization
    2006
    Co-Authors: Connie U. Smith
    Abstract:

    Most Software Performance problems are due to fundamental architecture or design problems. Thus they are introduced early in development, but are typically not discovered until late, when they are more difficult and costly to fix. Software Performance Engineering (SPE) is a systematic, quantitative approach for cost-effectively building Performance into Software systems. It consists of a process for applying the SPE methods throughout the life cycle of new systems; data required for SPE studies; Software and system execution models for quantitative Performance assessments; and other techniques for success application to Software projects. This paper covers the essential steps for establishing an SPE capability in your organization. It describes each step and gives pointers to additional information that will help you implement them in your organization.

  • Software Performance Engineering
    Encyclopedia of Software Engineering, 2002
    Co-Authors: Connie U. Smith
    Abstract:

    Software Performance engineering (SPE) is a method for constructing Software systems to meet Performance objectives. The process begins early in the Software life cycle and uses quantitative methods to identify satisfactory combinations of requirements and designs, and to eliminate those that are likely to have unacceptable Performance, before developers begin implementation. SPE continues through the detailed design, coding, and testing stages to predict and manage the Performance of the evolving Software, and to monitor and report actual Performance against specifications and predictions. SPE methods cover Performance data collection, quantitative analysis techniques, prediction strategies, management of uncertainties, data presentation and tracking, model verification and validation, critical success factors, and Performance design principles. In this article, Performance refers to the response time or throughput as seen by the users. For real-time, or reactive, systems, this is the time required to respond to events. Reactive systems must meet Performance objectives to be correct. Other Software has less stringent requirements, but responsiveness limits the amount of work processed, so it determines a system's effectiveness and the productivity of its users. This article first covers the evolution of SPE then it gives an overview of the SPE process and the SPE methods. It presents the general principles for Performance-oriented design, then it introduces the quantitative techniques for predicting and analyzing Performance. The SPE techniques used throughout the Software life cycle follow. Finally, the conclusion reviews the status and future of SPE. Keywords: evaluation; modeling; methods; development; principles; early life cycle; quantitative method; Software Performance engineering life cycle

  • Encyclopedia of Software Engineering - Software Performance engineering
    UML for Real, 2002
    Co-Authors: Connie U. Smith, Lloyd G. Williams
    Abstract:

    Performance is critical to the success of today's Software systems. However, many Software products fail to meet their Performance objectives when they are initially constructed. Fixing these problems is costly and causes schedule delays, cost overruns, lost productivity, damaged customer relations, missed market windows, lost revenues, and a host of other difficulties. This chapter presents Software Performance engineering (SPE), a systematic, quantitative approach to constructing Software systems that meet Performance objectives. SPE begins early in the Software development process to model the Performance of the proposed architecture and high-level design. The models help to identify potential Performance problems when they can be fixed quickly and economically.

  • Performance Engineering - Origins of Software Performance Engineering: Highlights and Outstanding Problems
    Lecture Notes in Computer Science, 2001
    Co-Authors: Connie U. Smith
    Abstract:

    This chapter first reviews the origins of Software Performance Engineering (SPE). It provides an overview and an extensive bibliography of the early research. It then covers the fundamental elements of SPE: the data required, the Software Performance models and the SPE process. It concludes with a review of the current status and outstanding problems in the areas of: tools, Performance models, use of SPE, principles, patterns and antipatterns for building high Performance Software, and SPE methods.

Kei Suzuki - One of the best experts on this subject based on the ideXlab platform.

  • efficient Software Performance estimation methods for hardware Software codesign
    Design Automation Conference, 1996
    Co-Authors: Kei Suzuki, Alberto Sangiovannivincentelli
    Abstract:

    The Performance estimation of a target system at a higher level of abstraction is very important in hardware/Software codesign. We focus on Software Performance estimation, including both the execution time and the code size. We present two estimation methods at different levels of abstraction for use in the POLIS hardware/Software codesign system. The experimental results show that the accuracy of our methods is usually within /spl plusmn/20%.

  • DAC - Efficient Software Performance estimation methods for hardware/Software codesign
    Proceedings of the 33rd annual conference on Design automation conference - DAC '96, 1996
    Co-Authors: Kei Suzuki, Alberto Sangiovanni-vincentelli
    Abstract:

    The Performance estimation of a target system at a higher level of abstraction is very important in hardware/Software codesign. We focus on Software Performance estimation, including both the execution time and the code size. We present two estimation methods at different levels of abstraction for use in the POLIS hardware/Software codesign system. The experimental results show that the accuracy of our methods is usually within /spl plusmn/20%.