Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Dušan Okanović is active.

Publication


Featured researches published by Dušan Okanović.


Okanović, Dušan, van Hoorn, Andre, Heger, Christoph, Wert, Alexander and Siegl, Stefan (2016) Towards Performance Tooling Interoperability: An Open Format for Representing Execution Traces [Paper] In: 13th European Workshop on Performance Engineering (EPEW '16), October 5-7 2016, Chios, Greece. | 2016

Towards Performance Tooling Interoperability: An Open Format for Representing Execution Traces

Dušan Okanović; André van Hoorn; Christoph Heger; Alexander Wert; Stefan Siegl

Execution traces capture information on a software system’s runtime behavior, including data on system-internal software control flows, performance, as well as request parameters and values. In research and industrial practice, execution traces serve as an important basis for model-based and measurement-based performance evaluation, e.g., for application performance monitoring (APM), extraction of descriptive and prescriptive models, as well as problem detection and diagnosis. A number of commercial and open-source APM tools that allow the capturing of execution traces within distributed software systems is available. However, each of the tools uses its own (proprietary) format, which means that each approach building on execution trace data is tool-specific.


european dependable computing conference | 2016

Expert-Guided Automatic Diagnosis of Performance Problems in Enterprise Applications

Christoph Heger; André van Hoorn; Dušan Okanović; Stefan Siegl; Alexander Wert

Application performance management (APM) is a necessity to detect and solve performance problems during operation of enterprise applications. While existing tools provide alerting and visualization capabilities when performance requirements are violated during operation, the isolation and diagnosis of the problems real root cause is the responsibility of the rare performance expert, often resulting in a boring and recurring task. Main challenges for APM adoption in practice include that initial setup and maintenance of APM, and particularly the diagnosis of performance problems are error-prone, costly, and require a high manual effort and expertise. In this paper, we present preliminary work on diagnoseIT, an approach that utilizes formalized APM expert knowledge to automate the aforementioned recurring APM activities.


Computer Science and Information Systems | 2013

SLA-Driven Adaptive Monitoring of Distributed Applications for Performance Problem Localization

Dušan Okanović; André van Hoorn; Zora Konjović; Milan Vidaković

Continuous monitoring of software systems under production workload provides valuable data about application runtime behavior and usage. An adaptive monitoring infrastructure allows controlling, for instance, the overhead as well as the granularity and quality of collected data at runtime. Focusing on application-level monitoring, this paper presents the DProf approach which allows changing the instrumentation of software operations in monitored distributed applications at runtime. It simulates the process human testers employ-monitoring only such parts of an application that cause problems. DProf uses performance objectives specified in service level agreements (SLAs), along with call tree information, to detect and localize problems in application performance. As a proof-of-concept, DProf was used for adaptive monitoring of a sample distributed application.


quality of software architectures | 2016

An Architecture-Aware Approach to Hierarchical Online Failure Prediction

Teerat Pitakrat; Dušan Okanović; André van Hoorn; Lars Grunske

Failures in software systems during operation are inevitable. They cause system downtime, which needs to be minimized to reduce or avoid unnecessary costs and customer dissatisfaction. Online failure prediction aims at identifying upcoming failures at runtime to enable proactive maintenance actions. Existing online failure prediction approaches focus on predicting failures of either individual components or the system as a whole. They do not take into account software architectural dependencies, which determine the propagation of failures. In this paper, we propose a hierarchical online failure prediction approach, HORA, which employs a combination of both failure predictors and architectural models. We evaluate our approach using a distributed RSS reader application by Netflix and investigate the prediction quality for two representative types of failures, namely memory leak and system overload. The results show that, overall, our approach improves the area under the ROC curve by 10.7% compared to a monolithic approach.


international conference on performance engineering | 2017

Application Performance Management: State of the Art and Challenges for the Future

Christoph Heger; André van Hoorn; Mario Mann; Dušan Okanović

The performance of application systems has a direct impact on business metrics. For example, companies lose customers and revenue in case of poor performance such as high response times. Application performance management (APM) aims to provide the required processes and tools to have a continuous and up-to-date picture of relevant performance measures during operations, as well as to support the detection and resolution of performance-related incidents. In this tutorial paper, we provide an overview of the state of the art in APM in industrial practice and academic research, highlight current challenges, and outline future research directions.


Journal of Systems and Software | 2017

Hora: Architecture-aware online failure prediction

Teerat Pitakrat; Dušan Okanović; André van Hoorn; Lars Grunske

Abstract Complex software systems experience failures at runtime even though a lot of effort is put into the development and operation. Reactive approaches detect these failures after they have occurred and already caused serious consequences. In order to execute proactive actions, the goal of online failure prediction is to detect these failures in advance by monitoring the quality of service or the system events. Current failure prediction approaches look at the system or individual components as a monolith without considering the architecture of the system. They disregard the fact that the failure in one component can propagate through the system and cause problems in other components. In this paper, we propose a hierarchical online failure prediction approach, called Hora , which combines component failure predictors with architectural knowledge. The failure propagation is modeled using Bayesian networks which incorporate both prediction results and component dependencies extracted from the architectural models. Our approach is evaluated using Netflix’s server-side distributed RSS reader application to predict failures caused by three representative types of faults: memory leak, system overload, and sudden node crash. We compare Hora to a monolithic approach and the results show that our approach can improve the area under the ROC curve by 9.9%.


international symposium on software reliability engineering | 2016

Antipattern-Based Problem Injection for Assessing Performance and Reliability Evaluation Techniques

Philipp Keck; André van Hoorn; Dušan Okanović; Teerat Pitakrat; Thomas F. Düllmann

A challenging problem with todays increasingly large and distributed software systems is their performance behavior. To help developers avoid or detect mistakes that lead to performance problems, many researchers in software performance engineering have come up with classifications of such problems, called antipatterns. To test the approaches for antipattern detection, data from running systems is required. However, the usefulness of this data is doubtful as it may or may not include manifestations of performance problems. In this paper, we classify existing performance antipatterns w.r.t. their suitability for being injected and, based on this, introduce an extensible tool that allows to inject instances of these antipatterns into existing applications. The approach can be useful for researchers to test and validate their automated runtime problem evaluation and prevention techniques. Using two exemplary performance antipatterns, it is demonstrated that the injection is easily possible and produces feasible, though currently rather clinical results.


JITA - Journal of Information Technology and Applications (Banja Luka) - APEIRON | 2011

Monitoring of Jee Applications and Performance Prediction

Dušan Okanović; Milan Vidaković; Zora Konjović

This paper presents one solution for continuous monitoring of JEE application. In order to reduce overhead, Kieker monitoring framework was used. This paper presents the architecture and basic functionality of the Kieker framework and how it can be extended for adaptive monitoring of JEE applications. Collected data was used for analysis of application performance. In order to predict application performance, regression analysis was employed.


international conference on performance engineering | 2018

Tools for Declarative Performance Engineering

Jürgen Walter; Simon Eismann; Johannes Grohmann; Dušan Okanović; Samuel Kounev

Performance is of particular relevance to software system design, operation, and evolution. However, the application of performance engineering approaches to solve a given user concern is challenging and requires expert knowledge. In this tutorial paper, we guide the reader step-by-step through the answering of performance concerns following the idea of declarative performance engineering. We explain tools available online, which can be used for automating huge parts of the software performance engineering process. In particular, we present a performance concern language, for which we provide automated answering and visualization referring to measurement-based and model-based analysis. We also detail how to derive performance models using automated extraction of architectural performance models and modeling of parametric dependencies.


international conference on performance engineering | 2017

Mapping of Service Level Objectives to Performance Queries

Jürgen Walter; Dušan Okanović; Samuel Kounev

The concept of service level agreements (SLAs) defines the idea of a reliable contract between service providers and their users. SLAs provide information on the scope, the quality and the responsibilities of a service and its provider. Service level objectives (SLOs) define the detailed, measurable conditions of the SLAs. After service deployment, SLAs are monitored for situations, that lead to SLA violations. However, the SLA monitoring infrastructure is usually specific to the underlying system infrastructure, lacks generalization, and is often limited to measurement-based approaches. This makes it hard to apply the results from SLA monitoring in other stages of the software life-cycle. In this paper we propose the mapping of concerns defined in SLAs to the performance metrics queries using the Descartes Query Language (DQL). The benefit of our approach is that the same performance query can then be reused for evaluation of performance concerns throughout the entire life-cycle, and regardless of which approach is used for evaluation.

Collaboration


Dive into the Dušan Okanović's collaboration.

Top Co-Authors

Avatar
Top Co-Authors

Avatar

Christoph Heger

Karlsruhe Institute of Technology

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Alexander Wert

Karlsruhe Institute of Technology

View shared research outputs
Top Co-Authors

Avatar

Lars Grunske

University of Stuttgart

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Researchain Logo
Decentralizing Knowledge