In this book, we introduce an automatic, experiment-based approach for performance problem diagnostics in enterprise software systems. The proposed approach systematically searches for root causes of detected performance problems by executing series of systematic performance tests. The presented approach is evaluated by various case studies showing that the presented approach is applicable to a wide range of contexts.
Performance modelling can require substantial effort when creating and maintaining performance models for software systems that are based on existing software. Therefore, this thesis addresses the challenge of performance prediction in such scenarios. It proposes a novel goal-oriented method for experimental, measurement-based performance modelling. We validated the approach in a number of case studies including standard industry benchmarks as well as a real development scenario at SAP.
Getting the right diagnosis is a key aspect of health care - it provides an explanation of a patient's health problem and informs subsequent health care decisions. The diagnostic process is a complex, collaborative activity that involves clinical reasoning and information gathering to determine a patient's health problem. According to Improving Diagnosis in Health Care, diagnostic errors-inaccurate or delayed diagnoses-persist throughout all settings of care and continue to harm an unacceptable number of patients. It is likely that most people will experience at least one diagnostic error in their lifetime, sometimes with devastating consequences. Diagnostic errors may cause harm to patients by preventing or delaying appropriate treatment, providing unnecessary or harmful treatment, or resulting in psychological or financial repercussions. The committee concluded that improving the diagnostic process is not only possible, but also represents a moral, professional, and public health imperative. Improving Diagnosis in Health Care, a continuation of the landmark Institute of Medicine reports To Err Is Human (2000) and Crossing the Quality Chasm (2001), finds that diagnosis-and, in particular, the occurrence of diagnostic errorsâ€"has been largely unappreciated in efforts to improve the quality and safety of health care. Without a dedicated focus on improving diagnosis, diagnostic errors will likely worsen as the delivery of health care and the diagnostic process continue to increase in complexity. Just as the diagnostic process is a collaborative activity, improving diagnosis will require collaboration and a widespread commitment to change among health care professionals, health care organizations, patients and their families, researchers, and policy makers. The recommendations of Improving Diagnosis in Health Care contribute to the growing momentum for change in this crucial area of health care quality and safety.
The quality of enterprise software applications plays a crucial role for the satisfaction of the users and the economic success of the enterprises. Software applications with unsatisfying performance and scalability are perceived by its users as low in quality, as less interesting and less attractive, and cause frustration when preventing the users from attaining their goals. This book proposes an approach for a recommendation system that enables developers who are novices in software perform.
This work developed an automatic approach for the assessment of software reliability which is both theoretical sound and practical. The developed approach extends and combines theoretical sound approaches in a novel manner to systematically reduce the overhead of reliability assessment.
This book constitutes the refereed proceedings of the 15th European Workshop on Computer Performance Engineering, EPEW 2018, held in Paris, France, in October 2018. The 17 papers presented together with the abstracts of two invited talks in this volume were carefully reviewed and selected from 27 submissions. The papers presented at the workshop reflect the diversity of modern performance engineering, with topics ranging from advances in performanceengineering realm, including, dependability and security modeling, performance oriented model verification and testing, hardware and software systems case-studies, applications/extensions of queuing theory and network design
This book provides an overview of the problems involved in engineering scalable, elastic, and cost-efficient cloud computing services and describes the CloudScale method — a description of rescuing tools and the required steps to exploit these tools. It allows readers to analyze the scalability problem in detail and identify scalability anti-patterns and bottlenecks within an application. With the CloudScale method, software architects can analyze both existing and planned IT services. The method allows readers to answer questions like: • With an increasing number of users, can my service still deliver acceptable quality of service? • What if each user uses the service more intensively? Can my service still handle it with acceptable quality of service? • What if the number of users suddenly increases? Will my service still be able to handle it? • Will my service be cost-efficient? First the book addresses the importance of scalability, elasticity, and cost-efficiency as vital quality-related attributes of modern cloud computing applications. Following a brief overview of CloudScale, cloud computing applications are then introduced in detail and the aspects that need to be captured in models of such applications are discussed. In CloudScale, these aspects are captured in instances of the ScaleDL modeling language. Subsequently, the book describes the forward engineering part of CloudScale, which is applicable when developing a new service. It also outlines the reverse and reengineering parts of CloudScale, which come into play when an existing (legacy) service is modified. Lastly, the book directly focuses on the needs of both business-oriented and technical managers by providing guidance on all steps of implementing CloudScale as well as making decisions during that implementation. The demonstrators and reference projects described serve as a valuable starting point for learning from experience. This book is meant for all stakeholders interested in delivering scalable, elastic, and cost-efficient cloud computing applications: managers, product owners, software architects and developers alike. With this book, they can both see the overall picture as well as dive into issues of particular interest.
Die modellbasierte Performancevorhersage ist ein bekanntes Konzept zur Gewährleistung der Softwarequalität. Derzeitige Ansätze basieren auf einem Modell mit einer Metrik, was zu ungenauen Vorhersagen für moderne Architekturen führt. In dieser Arbeit wird ein Multi-Strategie-Ansatz zur Erweiterung von Performancevorhersagemodellen zur Unterstützung von Multicore-Architekturen vorgestellt, in Palladio implementiert und dadurch die Genauigkeit der Vorhersage deutlich verbessert. - Model-based performance prediction is a well-known concept to ensure the quality of software. Current approaches are based on a single-metric model, which leads to inaccurate predictions for modern architectures. This thesis presents a multi-strategies approach to extend performance prediction models to support multicore architectures. We implemented the strategies into Palladio and significantly increased the performance prediction power.
Software vendors must consider confidentiality especially while creating software architectures because decisions made here are hard to change later. Our approach represents and analyzes data flows in software architectures. Systems specify data flows and confidentiality requirements specify limitations of data flows. Software architects use detected violations of these limitations to improve the system. We demonstrate how to integrate our approach into existing development processes.