A Statically Typed Query Language for Property Graphs - Tausch, Norbert; Philippsen, Michael; Adersberger, Josef (Proceedings of 15th International Database Engineering and Applications Symposium (IDEAS'11), 2011)
Applications that work on network-oriented data often use property graph models. Although their graph data is represented by an object-oriented model, current approaches cannot define statically typed vertex and edge sets. Thus, custom graph operations use untyped input and output sets and cannot exploit crucial concepts like polymorphism. Not only do illegal calling contexts or arguments result in runtime errors or unexpected query results, but also the resulting code tends to be error prone, unclear, and thus hard to maintain. To solve these problems, we extend the property graph model with typed graph classes and open it up to polymorphism. Our approach is an internal domain specific language for graph traversals based on the object-oriented and functional programming language Scala. A case study emphasizes the usability of our framework. © 2011 ACM.
UnivIS-Import:2015-04-16:Pub.2011.tech.IMMD.IMMD2.astati
Keywords: graph traversal; polymorphism; property graph; typed graph

Chronix: Long Term Storage and Retrieval Technology for Anomaly Detection in Operational Data - Lautenschlager, Florian; Philippsen, Michael; Kumlehn, Andreas; Adersberger, Josef (Proceedings of the 15th USENIX Conference on File and Storage Technologies (FAST 17), 2017)
Anomalies in the runtime behavior of software systems, especially in distributed systems, are inevitable, expensive, and hard to locate. To detect and correct such anomalies (like instability due to a growing memory consumption, failure due to load spikes, etc.) one has to automatically collect, store, and analyze the operational data of the runtime behavior, often represented as time series. There are efficient means both to collect and analyze the runtime behavior. But traditional time series databases do not yet focus on the specific needs of anomaly detection (generic data model, specific built-in functions, storage efficiency, and fast query execution). The paper presents Chronix, a domain specific time series database targeted at anomaly detection in operational data. Chronix uses an ideal compression and chunking of the time series data, a methodology for commissioning Chronix’ parameters to a sweet spot, a way of enhancing the data with attributes, an expandable set of analysis functions, and other techniques to achieve both faster query times and a significantly smaller memory footprint. On benchmarks Chronix saves 20%–68% of the space that other time series databases need to store the data and saves 80%–92% of the data retrieval time and 73%–97% of the runtime of analyzing functions.

Das Softwareleitstand-Prinzip: Softwarequalität kontinuierlich messen, analysieren und steuern - Adersberger, Josef (German Testing Day 2011, 2011)

Design for Diagnosability - Lautenschlager, Florian; Adersberger, Josef; Kumlehn, Andreas; Philippsen, Michael (Java Magazin, 2014)
UnivIS-Import:2015-03-09:Pub.2014.tech.IMMD.IMMD2.design

Dynamische Analyse mit dem Software-EKG - Weigend, Johannes; Siedersleben, Johannes; Adersberger, Josef (Informatik-Spektrum, 2011)
Dieses Papier zeigt, wie man komplexe, heterogene Systeme analysiert, wenn die einfachen Methoden (Debugger, Profiler) nicht ausreichen. Wir erläutern die Grundlagen, beschreiben ein Vorgehen mit den nötigen Tools und bringen einige Beispiele aus unserer Praxis. Wir behandeln ferner den präventiven Einsatz des Vorgehens im Entwicklungsprozess und definieren die Diagnostizierbarkeit (Diagnosibility) eines Softwaresystems als wichtige nichtfunktionale Eigenschaft.

Dynamische Analyse mit dem Software-EKG - Weigend, Johannes; Siedersleben, Johannes; Adersberger, Josef (Lecture Notes in Informatics (LNI), P-183, 2011)
UnivIS-Import:2015-04-16:Pub.2011.tech.IMMD.IMMD2.dynami

Fast and efficient operational time series storage: The missing link in dynamic software analysis - Lautenschlager, Florian; Kumlehn, Andreas; Adersberger, Josef; Philippsen, Michael (Softwaretechnik-Trends (Band 35, Nr. 3): Proceedings of the Symposium on Software Performance (SSP 2015), 2015)
Distributed applications, cloud systems, the Internet of Things, etc. are generating increasing amounts of operational data, such as CPU loads, thread states, memory consumptions, method runtimes, or logs. Many tools continuously collect and analyze such data that is best represented as time series. Typical analyses try to nd and localize run-time incidents like outliers, leaks, or trend anomalies. However, these analyses need an ecient use of storage and a fast interactive query execution, that general purpose storage systems do not provide: neither storing operational time series data in general-purpose databases nor in conventional time series databases ful lls these requirements. We present Chronix, a novel time series storage that is optimized for operational time series and that improves the link between storage and analysis in a dynamic software analysis toolchain. With Chronix a toolchain not only stores data 433 times faster and it takes 5-171 times less storage space than with other time series databases, it also executes queries in 15-74% and analyses in 25-74% of the time.

Leveraging the GPU on Spark - Polzer, Tobias; Adersberger, Josef (Apache: Big Data North America 2017, 2017)
GPUs are a great resource of computing power but yet not accessible from Apache Spark. We present a RDD implementation we've open sourced to leverage GPU computing power with Spark. We'll share the experiences we gained along the way implementing the RDD, and a real-world application using the RDD: What's the best way to bridge from Java to GPU code (OpenCL or CUDA)? From an architectural perspective - what's the best way to integrate a GPU processing facility into Spark? How much faster are typical Spark actions when using the GPU? What Spark actions are best processed on a GPU? Java-to-GPU bridges, best way to integrate GPU processing into Spark and performance evaluation.

Modellbasierte Extraktion, Repräsentation und Analyse von Traceability-Informationen - Adersberger, Josef (Friedrich-Alexander-Universität Erlangen-Nürnberg, 2012)

Rahmenwerk zur Ausreißererkennung in Zeitreihen von Software-Laufzeitdaten - Lautenschlager, Florian; Kumlehn, Andreas; Adersberger, Josef; Philippsen, Michael (Software Engineering & Management (SE 2015), 2015)
UnivIS-Import:2015-04-17:Pub.2015.tech.IMMD.IMMD2.rahmen
Keywords: Time series; Database; Anomaly Detection

ReflexML: UML-based architecture-to-code traceability and consistency checking - Adersberger, Josef; Philippsen, Michael (Software Architecture Software Architecture, 5th European Conference, ECSA 2011, 2011)
The decay of software architecture - the divergent evolution of architecture models and the derived code - is one of the reasons for a decreasing maintainability of software systems. Several approaches for architecture-to-code consistency checking exist that stop the decay by detecting a divergence after evolution steps of either the architecture or the corresponding code. Known approaches have two main insufficiencies. First, the effort to derive and maintain the consistency checks is higher than necessary or they cannot be applied a posteriori. Second, they are not well integrated into UML-based model driven engineering. In the paper we present ReflexML: A UML-embedded mapping of architecture models to code plus a rich set of predefined consistency checks based on that mapping. The mapping is described with a UML profile that allows to attach AOP type patterns to an UML component model to define its reflexion on code elements. This abolishes the two insufficiencies of current approaches. We apply ReflexML to an industry project to demonstrate its effectiveness and its capability of a seamless integration into a pre-existing UML architecture model. © 2011 Springer-Verlag.
Keywords: AOP; architecture consistency; reflexion model; traceability; UML

TracQL: A Domain-Specific Language for Traceability Analysis - Tausch, Norbert; Philippsen, Michael; Adersberger, Josef (Proceedings of the 2012 Joint Working Conference on Software Architecture & 6th European Conference on Software Architecture, 2012)
Traceability analysis is used to improve quality in the software development process. As such an analysis is complex to implement and often requires a lot of dense code that is specific to the system being traced, there is a need for a framework to express traceability analysis tasks. This paper presents the Traceability Query Language TracQL, an expressive, extensible, representation-independent, and fast domain-specific language. Known approaches do not fulfill all these requirements. We examine TracQL and compare it to other approaches on a software ageing problem, namely to detect divergence between architecture and code. The necessary TracQL code is much shorter (by a factor of 1.7) and about twice as fast as what known approaches can achieve.
UnivIS-Import:2015-04-16:Pub.2012.tech.IMMD.IMMD2.tracql
Keywords: domain-specific language; reflexion model; traceability analysis