About
176
Publications
82,148
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
1,181
Citations
Citations since 2017
Introduction
Additional affiliations
September 2007 - September 2010
Publications
Publications (176)
Static analysis tools come in many forms andconfigurations, allowing them to handle various tasks in a (secure) development process: code style linting, bug/vulnerability detection, verification, etc., and adapt to the specific requirements of a software project, thus reducing the number of false positives.The wide range of configuration options po...
C# is the most widely used programming language among XR developers. However, only a limited number of graph-based data acquisition tools exist for C# software. XR development commonly relies on reusing existing software components to accelerate development. Graph-based visualization tools can facilitate this comprehension process, e.g., by providi...
Software systems and components increasingly rely on machine learning methods such as Artificial Neural Networks (ANNs) to provide intelligent functionality. Therefore, software developers and machine learning users should have a basic understanding of such methods. However, since ANNs are complex and thus challenging to grasp, novel visualization...
Software systems and components increasingly rely on machine learning methods such as Artificial Neural Networks (ANNs) to provide intelligent functionality. Therefore, software developers and machine learning users should have a basic understanding of such methods. However, since ANNs are complex and thus challenging to grasp, novel visualization...
Assessments about the quality, reliability, and trustworthiness of data used and generated by mission critical software systems are important. The Backbone Catalogue for Relational Debris information (BACARDI) provides a database related to orbit information about active and inactive objects in Earth orbit. BACARDI exports data products which are u...
Bots have emerged from research prototypes to deployable systems due to the recent developments in machine learning, natural language processing and understanding techniques. In software engineering, bots range from simple automated scripts to decision-making autonomous systems. The spectrum of applications of bots in software engineering is so wid...
In aerospace, software is often safety-critical and small errors can lead to serious failures. Therefore, it is important for space missions to understand the quality and reliability of the software used and to assess risks through its integration into the overall system. To make the understanding of a complex software system more accessible a set...
Software repositories contain much information besides the source code itself. For Open Source projects and Inner Source projects, the team composition and development process is transparent and traceable and can be evaluated at any point of time by, for example, continuous evaluation with regards to security by automated analysis. Software develop...
The use of static code analysis tools for security audits can be time consuming, as the many existing tools focus on different aspects and therefore development teams often use several of these tools to keep code quality high and prevent security issues. Displaying the results of multiple tools, such as code smells and security warnings, in a unifi...
Software development is a complex process involving many people and development tools and their interactions; during development, a lot of data such as source code, documents, or software artifacts and information such as issues, discussions, or code analyses are generated or modified. In addition to the analysis and visualization of software syste...
Stereotypes support a high-level software compre-hension by implying roles and responsibilities of classes insoftware systems. We propose the idea of using stereotypes asdesign patterns for serious games to enhance object orientedsoftware comprehension. These design patterns can reduce thecomplexity of software systems and encode software knowledge...
Software repositories contain information about source code, software development processes, and team interactions. We combine the provenance of development processes with code security analysis results to provide fast feedback on the software’s design and security issues. Results from queries of the provenance graph drives the security analysis, w...
Software repositories contain information about source code, software development processes, and team interactions. We combine the provenance of development processes with code security analysis results to provide fast feedback on the software’s design and security issues. Results from queries of the provenance graph drives the security analysis, w...
Gender diversity in the tech sector is - not yet? - sufficient to create a balanced ratio of men and women. For many women, access to computer science is hampered by socialization-related, social, cultural and structural obstacles. The so-called implicit gender bias has a great influence in this respect. The lack of contact in areas of computer sci...
Assertions about quality, reliability, or trustworthiness of software systems are important for many software applications. In addition to typical quality assurance measures, we extract the provenance of software artifacts from source code repository's-especially git-based repository's. Software repository's contain information about source code ch...
Insights and assessments about the quality, reliability, or trustworthiness of software systems is important for many software applications. Especially for large or mission-critical software systems, reliable measures and assertions are crucial. Since software repositories contain information about source code, software development processes, and t...
Graph visualization benefit from virtual reality (VR) technology and a collaborative environment. However, implementing col-laborative graph visualizations can be very resource consuming and existing prototypes cannot be reused easily. We presenta work-in-progress collaborative experimental environment for graph visualization research in VR, which...
We analyze visually, to what extend team members and external developers contribute to open-source projects to have a high-level impression about collaboration in that projects. For that, we record the provenance of the development process and draw the resulting property graph. Our graph drawings show, which developers are jointly changed the same...
Software repositories contain information about source code, software development processes, and team interactions. We combine provenance of the development process with code security analysis to automatically discover insights. This provides fast feedback on the software's design and security issues, which we evaluate on projects that are develope...
We want to analyze visually, to what extend team members and external developers contribute to open-source projects. This gives a high-level impression about collaboration in that projects. We achieve this by recording provenance of the development process and use graph drawing on the resulting provenance graph. Our graph drawings show, which devel...
Using the W3C PROV data model, we present a general provenance model for software development processes and, as an example, specialized models for git services, for which we generate provenance graphs. Provenance graphs are knowledge graphs, since they have defined semantics, and can be analyzed with graph algorithms or semantic reasoning to get in...
Nowadays, complex technical systems are frequently developed by composing discipline-specific tools into an automated high-level workflow. Constructing, executing, and maintaining this workflow together with the infrastructure supporting it involves several distinct roles. We argue that awareness of these roles and providing explicit software suppo...
To understand the development history of complex software architectures, software visualizations are very useful. They show dependencies and contexts in which design decisions were made, supporting programmers in understanding systems and helping them to recognize disadvantageous design decisions. IslandViz visualizes OSGi-based software architectu...
Engineering complex systems such as air- and spacecraft is a multidisciplinary effort that requires the collaboration of engineers from a multitude of specializations working in concert. Typically, each engineer uses one or more specialized software tools to analyze some data set and passes, in an ad-hoc manner, the results on to their colleagues w...
Software systems and components are increasingly based on machine learning methods, such as Convolutional Neural Networks (CNNs). Thus, there is a growing need for common programmers and machine learning newcomers to understand the general functioning of these algorithms. However, as neural networks are complex in nature, novel presentation means a...
Exploring of software architectures with software visualization in Augmented Reality (AR) is possible with different interaction methods, such gesture, gaze, and speech. For interaction with speech (i.e., natural language), we present an architecture and an implementation of conversational interfaces for the Microsoft HoloLens device. We aim to rem...
IslandViz ist eine Software-Visualisierung, welche die Architektur OSGi-basierter Softwaresysteme in virtueller Realität darstellt. Mit Hilfe einer Insel-Metapher wird jedes Modul als eigenständige Insel darstellt. Das resultierende Inselsystem wird auf einem virtuellen Tisch angezeigt auf dem die Nutzer mit der Visualisierung interagieren und das...
We present RCE (Remote Component Environment), an open-source framework developed primarily at DLR (German Aerospace Center) that enables its users to construct and execute multidisciplinary engineering workflows comprising multiple disciplinary tools. To this end, RCE supplies users with an easy-to-use graphical interface that allows for the intui...
Understanding of artificial intelligence (AI) systems becomes more important as their use cases in real-world applications growth. Today’s AI systems are increasingly complex and ubiquitous. They will be responsible for making decisions that directly affect individuals. Explainable AI can potentially help by explaining actions, decisions and behavi...
Understanding of artificial intelligence (AI) systems becomes more important as their use cases in real-world applications growth. Today’s AI systems are increasingly complex and ubiquitous. They will be responsible for making decisions that directly affect individuals. Explainable AI can potentially help by explaining actions, decisions and behavi...
Software visualization provides a good opportunity to explore complex software architectures. But to reach a high level of usability it is important to evaluate such visualizations properly. We present the results of an usability study that we conducted to compare the visualization of component-based software architectures in both 2D and Virtual Re...
Software visualization provides a good opportunity to explore complex software architectures. But to reach a high level of usability it is important to evaluate such visualizations properly. We present the results of an usability study that we conducted to compare the visualization of component-based software architectures in both 2D and Virtual Re...
Usability and the use of automated static analysis tools in the software development process have been an evolving subject of research in the last decades. Several studies shed light on issues like high false positive rates and low comprehensibility, which hinder tool adoption for even software engineers. Yet, the tools' perceived usefulness and ea...
We propose conversational interfaces as a convenient and complementary way for users to explore OSGi-based software architectures in immersive Augmented Reality (AR). By providing a conversational interface we aim to remedy some peculiarities of AR devices, but also enhancing the exploration task at hand. We exemplify a use case and sketch how diff...
We propose conversational interfaces as a convenient and complementary way for users to explore OSGi-based software architectures in immersive Augmented Reality (AR). By providing a conversational interface we aim to remedy some peculiarities of AR devices, but also enhancing the exploration task at hand. We exemplify a use case and sketch how diff...
Software architecture is abstract and intangible. Tools for visualizing software architecture can help to comprehend the implemented architecture but they need an effective and feasible visual metaphor, which maps all relevant aspects of a software architecture and fits all types of software. We present the visualization of component-based software...
Software development increasingly became part of the daily work of many researchers in science and engineering. They are faced with software engineering challenges for which they are not trained. In 2005, the German Aerospace Center (DLR) started the "DLR Software Engineering Initiative" to support their researchers addressing these challenges. One...
This demo presents an immersive augmented reality solution for visualizing OSGi-based software architectures. By employing an island metaphor, we map abstract software entities to tangible real-world objects. Using advanced input modalities, such as voice and gesture control, our approach allows for interactive exploration and examination of comple...
Many applications today use deep learning to provide intelligent behavior. To understand and explain how deep learning models come to certain decisions can be hard or completely in-transparent. We propose a visualization of convolutional neural networks in Virtual Reality (VR). The interactive application shows the internal processes and allows to...
We present the visualization of component-based software architectures in Virtual Reality (VR) to understand complex software systems. We describe how to get all relevant data for the visualization by data mining on the whole source tree and on source code level. The data is stored in a graph database for further analysis and visualization. The sof...
Classic software architecture visualizations such as UML diagrams widely used in practice but are not always the best solution, for example to get an high level overview of large component-based software systems. In this talk, we show other suitable technologies for software visualization to understand complex software architectures. Especially, we...
Concurrent Engineering (CE) and Model Based Systems Engineering (MBSE) have increased the efficiency of spacecraft, and satellite design in particular. Early design of satellites in Concurrent Engineering Centers (CEC) has almost become business as usual. However, such progress has still to be achieved for the design of launchers. Applying the same...
We propose the tool IslandViz for exploring modular software systems in virtual reality. We use an island metaphor, which represents every module as a distinct island. The resulting island system is displayed in the confines of a virtual table, where users can explore the software visualization on multiple levels of granularity by performing naviga...
Software architecture is abstract and intangible. Tools for visualizing software architecture can help to comprehend the implemented architecture but they need an effective and feasible visual metaphor, which maps all relevant aspects of a software architecture and fits all types of software. We focus on the visualization of module-based software -...
Software architecture is abstract and intangible. Tools for visualizing software architecture can help to comprehend the implemented architecture but they need an effective and feasible visual metaphor, which maps all relevant aspects of a software architecture and fits all types of software. We focus on the visualization of module-based software—s...
DLR as research organization increasingly faces the task to share its self-developed software with partners or publish openly. Hence, it is very important to harden the softwares to avoid opening attack vectors. Especially since DLR software is typically not developed by software engineering or security experts. In this paper we describe the data-o...
Using open source software in projects and publishing software under an open source license became common in science and engineering. Scientists and engineers therefore have to know about open source licenses, their requirements and restrictions as well as the resultant license compatibility issues. In most cases, this is not the case. Especially i...
We present an approach for exploring OSGi-based software systems in virtual reality. We employ an island metaphor, which represents every module as a distinct island. The resulting island system is displayed in the confines of a virtual table, where users can explore the software visualization on multiple levels of granularity by performing intuiti...
In science and engineering, more and more software is published as Open Source software or uses other Open Source projects. Due to the different licenses with their requirements and restrictions as well as the resultant license compatibility issues, scientists and engineers must be aware of these issues. Ideally, they have some basic understanding...
In science and engineering, more and more software is published as Open Source software or uses other Open Source projects. Due to the different licenses with their requirements and restrictions as well as the resultant license compatibility issues, scientists and engineers must be aware of these issues. Ideally, they have some basic understanding...
Personal health data is acquired, processed, stored, and accessed using a variety of different devices, applications, and services. These are often complex and highly connected. Therefore, use or misuse of the data is hard to detect for people, if they are not capable to understand the trace (i.e., the provenance) of that data. We present a visuali...
Personal health data is acquired, processed, stored, and accessed using a variety of different devices, applications, and services. These are often complex and highly connected. Therefore, use or misuse of the data is hard to detect for people, if they are not capable to understand the trace (i.e., the provenance) of that data. We present a visuali...
In science and engineering, more and more software is published as Open Source software or uses other Open Source projects. Due to the different licenses with their requirements and restrictions as well as the resultant license compatibility issues, scientists and engineers must be aware of these issues. Ideally, they have some basic understanding...
Analyzing and processing of data often happens using process chains or workflows, which use heterogeneous data sources such as sensors or cloud services, different analysis tools or apps, and sometimes many people. Data, tools, and involved people could belong to different organizational domains such private belongings, companies, or governmental o...
In science and engineering, more and more software is published as Open Source software or uses other Open Source projects. Due to the different licenses with their requirements and restrictions as well as the resultant license compatibility issues, scientists and engineers must be aware of these issues. Ideally, they have some basic understanding...
Software visualizations provide many different complex views with different filters and metrics. But often users have a specific question to which they want to have an answer or they need to find the best visualization by themselves and are not aware of other metrics and possibilities of the visualization tool. We propose an interaction with softwa...
In large software projects, it can be hard to understand the actual architecture of the implemented software systems if current design documents are outdated or do not exist at all. For systems based on the OSGi component specification, which are used to build quite large applications with back-end and front-end services, tools for visualizing the...
Beschreibung der Veröffentlichung In science, more and more software is published as Open Source software or uses Open Source projects. Therefore, scientists must be aware of requirements, restrictions and compatibility issues of Open Source licenses. We describe our strategy at the German Aerospace Center (DLR) to awake the awareness among our dom...
In science, more and more software is published as Open Source software or uses Open Source projects. Therefore, scientists must be aware of requirements, restrictions and compatibility issues of Open Source licenses. We describe our strategy at the German Aerospace Center (DLR) to awake the awareness among our domain scientists and to enable and s...
Open-Source-Software spielt in Forschung und Wissenschaft eine wesentliche Rolle. Viele Projekte nutzen Open-Source-Software direkt oder innerhalb eines Softwareprojektes. Weiter wird mehr und mehr Software als Open-Source-Software veröffentlicht. Im Umgang mit Open-Source-Software spielen Lizenzen und ihre Anforderungen sowie Restriktionen eine we...
Personal health data is acquired, processed, stored, and accessed using a variety of different devices, apps, and services. These are often complex and highly connected. Therefore, privacy violations and other use or misuse of the data are hard to detect for many people, because they are not able to understand the trace (i.e., the provenance) of th...
Understanding how a piece of data was produced, where it was stored, and by whom it was accessed, is crucial information in many processes. To understand the trace of data, the provenance of that data can be recorded and analyzed. But it is sometimes hard to understand this provenance information, especially for people who are not familiar with sof...
The provenance of data provides detailed information about the origin of that data. That includes information about ownership and both actions and modifications performed on the data. With provenance information, data will be traceable and reproducible. In data science, results that are not reproducible by peer scientists are valueless and of no si...
I've been making automatically generated comic strips of personal self-tracking, using apps, measured data, and data visualizations.
The talks describes the scientific concept of the DLR Institute of Data Science in Jena.
In Geosciences – like in most other communities – scientific work strongly depends on software. For big data analysis, existing (closed or open source) program packages are often mixed with newly developed codes. Different versions of software components and varying configurations can influence the result of data analysis. This often makes reproduc...
Der Report des Helmholtz Open Science Workshops „Zugang zu und Nachnutzung von wissenschaftlicher Software“ #hgfos16 behandelt die Themen Standards und Qualitätssicherung; Reproduzierbarkeit; Lizenzierung und weitere rechtliche Aspekte; Zitation und Anerkennung; Sichtbarkeit und Modularität; Geschäftsmodelle; Personal, Ausbildung, Karrierewege. Die...
Die Analyse von Daten geschieht oftmals durch Abarbeiten von Prozessen, welche heterogene Datenquellen nutzen, in denen unterschiedliche Analyse-Tools angewendet werden und bei denen mehrere Personen beteiligt sind. Daten, Tools als auch die Personen können zu unterschiedlichen Organisationen gehören. Um nachzuvollziehen, wie die Analyse der Daten...
Python ist eine etablierte Programmiersprache in Forschung, Bildung und Industrie. Insbesondere ist Python die am meisten verwendete Sprache für Data Science. Allerdings hat Python mit dem Vorurteil zu kämpfen, relativ langsam zu sein. In dem Vortrag werden daher verschiedene Strategien, Technologien und zukünftige Entwicklungen gezeigt, mit denen...
In science, results that are not reproducible by peer scientists are valueless and of no significance. Good practices for reproducible science are to publish used codes under Open Source licenses, perform code reviews, save the computational environments with containers (e.g., Docker), use open data formats, use a data management system, and record...
The architecture of software it not tangible; but in different situations it is preferable to have it tangible. For example, while reviewing it against the intended design, introducing the software to others, or starting to develop on a new part. Basic aspects of a software architecture are the modules the software is constructed of and the depende...
Quantified Self became popular in recent years. People are tracking themselves with Wearables, smartphone apps, or desktop applications. They collect, process and store huge amounts of personal data for medical and other reasons. Due to the complexity of different data sources, apps, and cloud services, it is hard to follow the data flow and to hav...
Quantified Self or self-tracking is a growing movement where people are tracking data about themselves. Tracking the provenance of Quantified Self data is hard because usually many different devices, apps, and services are involved. Nevertheless receiving insights how the data has been acquired, how it has been processed, and who has stored and acc...
Die Aufzeichnung detaillierter Informationen über die Entstehung und den Ursprung von Daten wird als Provenance bezeichnet. Basierend auf einem Modell des aufzuzeichnenden Prozesses werden alle relevanten Informationen des Prozesses in einer Datenbank gespeichert. Diese können analysiert und entsprechend der interessierenden Fragestellen ausgewerte...
Die Aufzeichnung detaillierter Informationen über die Entstehung und den Ursprung von Daten wird als Provenance bezeichnet. Basierend auf einem Modell des aufzuzeichnenden Prozesses werden alle relevanten Informationen des Prozesses in einer Datenbank gespeichert. Diese können analysiert und entsprechend der interessierenden Fragestellen ausgewerte...
Space Debris are defunct objects in space, including old space vehicles (such as satellites or rocket stages) or fragments from collisions. Space debris can cause great damage to functional space ships and satellites. Thus detection of space debris and prediction of their orbital paths are essential for today's operation of space missions. The talk...
The development of software is a core activity at most DLR institutes. In most developments the consistent use
of freely available open source software (OSS) leads to a noticeable reduction of development time. In some
cases only 10% of the software needed by a project has to be written from scratch. Other benefits include the
stability of well-tes...
Gesundheitsmanagement aus der Ferne ist längst nicht mehr Astronauten oder Schiffsbesatzungen vorbehalten. Inzwischen kommunizieren Ärzte mit Patienten, Ärzte mit Ärzten, Ärzte mit Betreuungseinrichtungen, ohne dass sie sich von Angesicht zu Angesicht gegenüberstehen. Befunde und Bilddaten werden drahtlos übermittelt. Wir sprechen von Telemedizin....
In aerospace engineering, as well as in many other disciplines, many software tools are developed. Often, it is hard to get an overview of already existing software. Sometimes this leads to multiple development of software, if nobody is able to determine whether a software for a specifi�c tasks exist already or not. Therefore, in companies and orga...
Das Vermessen des eigenen Körpers bzw. des eigenen Ichs liegt im Trend. Immer mehr Menschen werden derzeit zu Selbstvermessern. Die Motivationen sind sehr unterschiedlich. Manche wollen einfach Gesund bleiben oder werden. Andere wollen sich selbst optimieren, was sehr beliebt bei Sportlern ist. Und natürlich sind viele Menschen einfach an ständig n...
Applications for self tracking that collect, analyze, or publish personal and medical data are getting more popular. This includes either a broad variety of medical and healthcare apps in the fields of telemedicine, remote care, treatment, or interaction with patients, and a huge increasing number of self tracking apps that aims to acquire data for...
Quantified Self is about measuring, tracking, and analyzing data of our body and our daily life. The data can cover very different aspects, for example, food consumption, vital signs, mood, expenses, daily routines, environmental information, etc. Today, gathering data with wearable devices are very common, such as wristbands. The data is used to m...
Self tracking is a trend where individual persons use sensors and mobile apps to collect and visualize personal data. The data is used to monitor or manage personal health. This talk explains motivations for self tracking, available (wearable) sensors and apps, and possible insights by analyzing the personal data.
The German Aerospace Center (DLR) is one of the biggest software development facilities in Germany. Its employees create complex software using various development processes. To assure high software quality, innovative software engineering methods and tools need to be incorporated.
A current problem in the field of computer science is to identify...
Plattformübergreifende App-Entwicklung für Android, iOS, Mac OSX, Linux, Windows, ... das geht auch Nicht-Webbasiert! Im Vortrag wird das Python-Framework Kivy vorgestellt und gezeigt wie einfach sich Apps für die genannten Plattformen entwickeln, paketieren und verteilen lassen.
Kivy ist plattformübergreifendes Python-Framework für Natural User I...