A Systematic Analysis and Hardening of the Java Security Architecture - Holzinger, Philipp

User-Centered Tool Design for Data-Flow Analysis - Nguyen Quang Do, Lisa

Architectural Runtime Verification - Stockmann, Lars; Laux, Sven; Bodden, Eric (2019 IEEE International Conference on Software Architecture Companion (ICSA-C))

The Impact of Developer Experience in Using Java Cryptography - Hazhirpasand, Mohammadreza; Ghafari, Mohammad; Krüger, Stefan; Bodden, Eric; Nierstrasz, Oskar (2019 ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM))

AuthCheck: Program-state Analysis for Access-control Vulnerabilities - Piskachev, Goran; Petrasch, Tobias; Späth, Johannes; Bodden, Eric (10th Workshop on Tools for Automatic Program Analysis (TAPAS))

Explaining Static Analysis -- A Perspective - Nachtigall, Marcus; Nguyen Quang Do, Lisa; Bodden, Eric (1st International Workshop on Explainable Software (EXPLAIN) at ASE)

A Qualitative Analysis of Android Taint-Analysis Results - Luo, Linghui; Bodden, Eric; Späth, Johannes (IEEE/ACM International Conference on Automated Software Engineering (ASE 2019))

SWAN_ASSIST: Semi-Automated Detection of Code-Specific, Security-Relevant Methods - Piskachev, Goran; Nguyen Quang Do, Lisa; Johnson, Oshando; Bodden, Eric (IEEE/ACM International Conference on Automated Software Engineering (ASE 2019), Tool Demo Track)

CrySL: An Extensible Approach to Validating the Correct Usage of Cryptographic APIs - Krüger, Stefan; Späth, Johannes; Ali, Karim; Bodden, Eric; Mezini, Mira (IEEE Transactions on Software Engineering)
Keywords: Java; Encryption; Static analysis; Tools; Ciphers; Semantics; cryptography; domain-specific language; static analysis

Codebase-Adaptive Detection of Security-Relevant Methods - Piskachev, Goran; Nguyen Quang Do, Lisa; Bodden, Eric (ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA))

MagpieBridge: A General Approach to Integrating Static Analyses into IDEs and Editors - Luo, Linghui; Dolby, Julian; Bodden, Eric (European Conference on Object-Oriented Programming (ECOOP))

Synchronized Pushdown Systems for Pointer and Data-Flow Analysis - Späth, Johannes

Codebase-Adaptive Detection of Security-Relevant Methods - Piskachev, Goran; Nguyen, Lisa; Bodden, Eric

ACMiner: Extraction and Analysis of Authorization Checks in Android's Middleware - Albert Gorski Iii, Sigmund; Andow, Benjamin; Nadkarni, Adwait; Manandhar, Sunil; Enck, William; Bodden, Eric; Bartel, Alexandre (ACM Conference on Data and Application Security and Privacy (CODASPY 2019))
Keywords: ITSECWEBSITE; CROSSING

Context-, Flow-, and Field-sensitive Data-flow Analysis Using Synchronized Pushdown Systems - Späth, Johannes; Ali, Karim; Bodden, Eric (Proceedings of the ACM SIGPLAN Symposium on Principles of Programming Languages)
Keywords: ATTRACT; ITSECWEBSITE; CROSSING

Component-Based Refinement and Verification of Information-Flow Security Policies for Cyber-Physical Microservice Architectures - Gerking, Christopher; Schubert, David (International Conference on Software Architecture (ICSA 2019))

Codebase-adaptive detection of security-relevant methods - Piskachev, Goran; Do, Lisa Nguyen Quang; Bodden, Eric (Proceedings of the 28th ACM SIGSOFT International Symposium on Software Testing and Analysis)

Modeling Crypto API usages in OpenSSL's EVP library - Selbach, Nils

ModGuard: Identifying Integrity &Confidentiality Violations in Java Modules - Dann, Andreas; Hermann, Ben; Bodden, Eric (IEEE Transactions on Software Engineering)

SootDiff: bytecode comparison across different Java compilers - Dann, Andreas; Hermann, Ben; Bodden, Eric (Proceedings of the 8th ACM SIGPLAN International Workshop on State Of the Art in Program Analysis - SOAP 2019)

Can an Online Service Predict Gender? On the State-of-the-Art in Gender Identification from Texts - Kruger, Stefan; Hermann, Ben (2019 IEEE/ACM 2nd International Workshop on Gender Equality in Software Engineering (GE))

PhASAR: An Inter-Procedural Static Analysis Framework for C/C++ - Schubert, Philipp; Hermann, Ben; Bodden, Eric (Proceedings of the 25th International Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS 2019), Held as Part of the European Joint Conferences on Theory and Practice of Software (ETAPS 2019))

Know your analysis: how instrumentation aids understanding static analysis - Schubert, Philipp; Leer, Richard; Hermann, Ben; Bodden, Eric (Proceedings of the 8th ACM SIGPLAN International Workshop on State Of the Art in Program Analysis - SOAP 2019)

Do Android Taint Analysis Tools Keep their Promises? - Pauck, Felix; Bodden, Eric; Wehrheim, Heike (arXiv:1804.02903)
In recent years, researchers have developed a number of tools to conduct taint analysis of Android applications. While all the respective papers aim at providing a thorough empirical evaluation, comparability is hindered by varying or unclear evaluation targets. Sometimes, the apps used for evaluation are not precisely described. In other cases, authors use an established benchmark but cover it only partially. In yet other cases, the evaluations differ in terms of the data leaks searched for, or lack a ground truth to compare against. All those limitations make it impossible to truly compare the tools based on those published evaluations. We thus present ReproDroid, a framework allowing the accurate comparison of Android taint analysis tools. ReproDroid supports researchers in inferring the ground truth for data leaks in apps, in automatically applying tools to benchmarks, and in evaluating the obtained results. We use ReproDroid to comparatively evaluate on equal grounds the six prominent taint analysis tools Amandroid, DIALDroid, DidFail, DroidSafe, FlowDroid and IccTA. The results are largely positive although four tools violate some promises concerning features and accuracy. Finally, we contribute to the area of unbiased benchmarking with a new and improved version of the open test suite DroidBench.

Explainable Static Analysis - Bodden, Eric; Nguyen Quang Do, Lisa (Software Engineering und Software Management 2018, Fachtagung des GI-Fachbereichs Softwaretechnik, SE 2018, 5.-9. März 2018, Ulm, Germany.)

Debugging Static Analysis - Nguyen Quang Do, Lisa; Krüger, Stefan; Hill, Patrick; Ali, Karim; Bodden, Eric (IEEE Transactions on Software Engineering)
Keywords: Debugging; Static analysis; Tools; Computer bugs; Standards; Writing; Encoding; Testing and Debugging; Program analysis; Development tools; Integrated environments; Graphical environments; Usability testing

Software Engineering und Software Management 2018, Fachtagung des GI-Fachbereichs Softwaretechnik, SE 2018, 5.-9. März 2018, Ulm, Germany

Proceedings of the 27th ACM SIGSOFT International Symposium on Software Testing and Analysis, ISSTA 2018, Amsterdam, The Netherlands, July 16-21, 2018

Model Checking the Information Flow Security of Real-Time Systems - Gerking, Christopher; Schubert, David; Bodden, Eric (Engineering Secure Software and Systems)

Gamifying Static Analysis - Nguyen Quang Do, Lisa; Bodden, Eric (Proceedings of the 2018 26th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering)
Keywords: Gamification; Integrated Environments; Program analysis

The Secret Sauce in Efficient and Precise Static Analysis: The Beauty of Distributive, Summary-based Static Analyses (and How to Master Them) - Bodden, Eric (ACM SIGPLAN International Workshop on the State Of the Art in Java Program Analysis (SOAP 2018))
Keywords: ATTRACT; ITSECWEBSITE

Towards Ensuring Security by Design in Cyber-Physical Systems Engineering Processes - Geismann, Johannes; Gerking, Christopher; Bodden, Eric (International Conference on Software and System Processes (ICSSP))
Keywords: ITSECWEBSITE

Self-adaptive Static Analysis - Bodden, Eric (Proceedings of the 40th International Conference on Software Engineering: New Ideas and Emerging Results)
Keywords: ATTRACT; ITSECWEBSITE

VISUFLOW, a Debugging Environment for Static Analyses - Nguyen Quang Do, Lisa; Krüger, Stefan; Hill, Patrick; Ali, Karim; Bodden, Eric (International Conference for Software Engineering (ICSE), Tool Demonstrations Track)
Keywords: ATTRACT; ITSECWEBSITE

Safety Requirements Engineering for Early SIL Tailoring - Fockel, Markus
Der hohe Grad an Innovation in mechatronischen Systemen führt zu sogenannten Cyber-Physical Systems (CPS). Diese haben eine komplexe Funktionalität und Kommunikation. Wie sicherheitskritisch solche Systeme sind, wird durch sogenannte Sicherheits-Integritätslevel (SIL) kategorisiert, die durch Normen wie der ISO 26262 definiert werden. Ein bestimmter SIL beschreibt nicht nur die Höhe des Gefährdungsrisikos, sondern diktiert auch den erforderlichen Grad an Sorgfalt bei der Entwicklung des Systems. Ein hoher SIL erfordert die Anwendung von Safety-Maßnahmen mit einem hohen Sorgfaltsgrad in allen Phasen der Entwicklung und impliziert daher einen hohen Safety-Aufwand. SIL-Tailoring ist ein Mittel um den Safety-Aufwand zu reduzieren, indem man Subsystemen geringere SILs zuordnet, falls sie von kritischeren Subsystemen getrennt sind oder redundante Safety-Anforderungen erfüllen. Um den nötigen Safety-Aufwand zu planen, sollten Möglichkeiten für SIL-Tailoring so früh wie möglich identifiziert werden - d.h. bereits in der Anforderungsanalyse. Durch die Komplexität von CPS, ist es schwierig valide SIL-Tailorings zu finden. Die Validität von SIL-Tailorings muss durch Analyse von Fehlerpropagierungspfaden geprüft und durch Argumente im Safety Case begründet werden. Der Beitrag dieser Dissertation ist ein systematischer, tool-unterstützter SIL-Tailoring-Prozess, der im Safety Requirements Engineering angewendet wird. Der Prozess nutzt eine modell-basierte, formale Anforderungsspezifikation und stellt einen Katalog von Anforderungsmustern bereit. Basierend auf diesen Anforderungen werden Fehlerpropagierungsmodelle generiert und Subsystemen automatisch SILs zugeordnet. Das minimiert den Sicherheitsanalyseaufwand. Aus den generierten Ergebnissen wird automatisch ein Safety Case mit Argumenten für die SIL-Tailoring-Validität abgeleitet.

Towards Preserving Information Flow Security on Architectural Composition of Cyber-Physical Systems - Gerking, Christopher; Schubert, David (European Conference on Software Architecture (ECSA 2018))

Traceable Threat Modeling for Safety-critical Systems - Geismann, Johannes (IEEE International Conference on Software Architecture Companion (ICSA-C 2018))

Automated Synthesis of a Real-Time Scheduling for Cyber-Physical Multi-core Systems - Geismann, Johannes; Höttger, Robert; Krawczyk, Lukas; Pohlmann, Uwe; Schmelter, David (Model-Driven Engineering and Software Development)
Cyber-physical Systems are distributed, embedded systems that interact with their physical environment. Typically, these systems consist of several Electronic Control Units using multiple processing cores for the execution. Many systems are applied in safety-critical contexts and have to fulfill hard real-time requirements. The model-driven engineering paradigm enables system developers to consider all requirements in a systematical manner. In the software design phase, they prove the fulfillment of the requirements using model checking. When deploying the software to the executing platform, one important task is to ensure that the runtime scheduling does not violate the verified requirements by neglecting the model checking assumptions. Current model-driven approaches do not consider the problem of deriving feasible execution schedules for embedded multi-core platforms respecting hard real-time requirements. This paper extends the previous work on providing an approach for a semi-automatic synthesis of behavioral models into a deterministic real-time scheduling. We add an approach for the partitioning and mapping development tasks. This extended approach enables the utilization of parallel resources within a single ECU considering the verification assumptions by extending the open tool platform App4mc. We evaluate our approach using an example of a distributed automotive system with hard real-time requirements specified with the MechatronicUML method.

A Model-driven Software Construction Approach for Cyber-physical Systems - Pohlmann, Uwe

Do Android taint analysis tools keep their promises? - Pauck, Felix; Bodden, Eric; Wehrheim, Heike (Proceedings of the 2018 26th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering - ESEC/FSE 2018)

CrySL: An Extensible Approach to Validating the Correct Usage of Cryptographic APIs - Krüger, Stefan; Späth, Johannes; Ali, Karim; Bodden, Eric; Mezini, Mira (European Conference on Object-Oriented Programming (ECOOP))
Keywords: ITSECWEBSITE; CROSSING

Measuring Performance of a Static Analysis Framework with an application to Immutability Analysis - Leer, Richard

Interactive Data Visualization for Exploded Supergraphs - Strüwer, Jan Niclas

Industrial Security by Design - Gerking, Christopher; Bodden, Eric; Schäfer, Wilhelm (Handbuch Gestaltung digitaler und vernetzter Arbeitswelten)
Das Zukunftsszenario der Industrie 4.0 ist geprägt durch einen massiven Anstieg der unternehmensübergreifenden Vernetzung. Um einer Bedrohung durch unautorisierte Weitergabe oder Sabotage vertraulicher Daten entgegenzuwirken, muss der Informationssicherheit bereits im Entwurf der cyber-physischen Produktionssysteme ein hoher Stellenwert eingeräumt werden. Dieses Paradigma wird als Security by Design bezeichnet. Über den gesamten Entstehungsprozess hinweg muss nachverfolgt werden können, ob die Systeme spezifische Anforderungen an die Informationssicherheit erfüllen und damit die Eigenschaft der Industrial Security gewährleisten. Dieser Beitrag stellt einen Entwurfsansatz zur Nachverfolgung der Informationssicherheit vor, der durch Integration softwaretechnischer Methoden in das Systems Engineering eine Entwicklung nach dem Paradigma Security by Design ermöglicht.
Keywords: ITSECWEBSITE

Time for Addressing Software Security Issues: Prediction Models and Impacting Factors - Ben Othmane, Lotfi; Chehrazi, Golriz; Bodden, Eric; Tsalovski, Petar; Brucker, Achim D. (Data Science and Engineering)
Finding and fixing software vulnerabilities have become a major struggle for most software development companies. While generally without alternative, such fixing efforts are a major cost factor, which is why companies have a vital interest in focusing their secure software development activities such that they obtain an optimal return on this investment. We investigate, in this paper, quantitatively the major factors that impact the time it takes to fix a given security issue based on data collected automatically within SAP's secure development process, and we show how the issue fix time could be used to monitor the fixing process. We use three machine learning methods and evaluate their predictive power in predicting the time to fix issues. Interestingly, the models indicate that vulnerability type has less dominant impact on issue fix time than previously believed. The time it takes to fix an issue instead seems much more related to the component in which the potential vulnerability resides, the project related to the issue, the development groups that address the issue, and the closeness of the software release date. This indicates that the software structure, the fixing processes, and the development groups are the dominant factors that impact the time spent to address security issues. SAP can use the models to implement a continuous improvement of its secure software development process and to measure the impact of individual improvements. The development teams at SAP develop different types of software, adopt different internal development processes, use different programming languages and platforms, and are located in different cities and countries. Other organizations, may use the results---with precaution---and be learning organizations.

Self-adaptive static analysis - Bodden, Eric

CrySL: Validating Correct Usage of Cryptographic APIs - Krüger, Stefan; Späth, Johannes; Ali, Karim; Bodden, Eric; Mezini, Mira
Keywords: ITSECWEBSITE

Tracking Load-time Configuration Options - Lillack, Max; Kästner, Christian; Bodden, Eric (IEEE Transactions on Software Engineering)
Keywords: Androids; Bluetooth; Humanoid robots; Java; Software; Tools; Configuration options; Static analysis; Variability mining

CogniCrypt: Supporting Developers in using Cryptography - Krüger, Stefan; Nadi, Sarah; Reif, Michael; Ali, Karim; Mezini, Mira; Bodden, Eric; Göpfert, Florian; Günther, Felix; Weinert, Christian; Demmler, Daniel; Kamath, Ram (International Conference on Automated Software Engineering (ASE 2017), Tool Demo Track)
Keywords: ITSECWEBSITE; CROSSING

Just-in-time Static Analysis - Do, Lisa Nguyen Quang; Ali, Karim; Livshits, Benjamin; Bodden, Eric; Smith, Justin; Murphy-Hill, Emerson (Proceedings of the 26th ACM SIGSOFT International Symposium on Software Testing and Analysis)
Keywords: Just-in-Time; Layered analysis; Static analysis

Cheetah: Just-in-Time Taint Analysis for Android Apps - Nguyen Quang Do, Lisa; Ali, Karim; Livshits, Benjamin; Bodden, Eric; Smith, Justin; Murphy-Hill, Emerson (International Conference for Software Engineering (ICSE), Tool Demonstrations Track)
Keywords: ATTRACT; ITSECWEBSITE

How to Efficiently Build a Front-End Tool for UPPAAL: A Model-Driven Approach - Schivo, Stefano; Yildiz., Bugra M.; Ruijters, Enno; Gerking, Christopher; Kumar, Rajesh; Dziwok, Stefan; Rensink, Arend; Stoelinga, Mariëlle (Dependable Software Engineering, 3rd International Symposium (SETTA 2017))

Specification and Verification for Real-Time Coordination Protocols of Cyber-physical Systems - Dziwok, Stefan
Cyber-physische Systeme (CPSs) sind die nächste Generation von eingebetteten Systemen, die fortwährend ihre Zusammenarbeit koordinieren, um anspruchsvolle Funktionen zu erfüllen. Die Koordination zwischen ihnen kann in Software mittels asynchroner Nachrichtenkommunikation realisiert werden. Um die funktionale Korrektheit der Software zu gewährleisten, ist aufgrund der Kritikalität dieser Systeme eine formale Verifikation wie z.B. Model Checking notwendig. Die Eingabesprache eines Model Checkers unterstützt jedoch domänenspezifische Aspekte wie asynchrone Kommunikation nicht direkt, wodurch diese vom Softwareingenieur mittels zahlreicher Modellelemente spezifiziert werden müssen. Dies ist hochgradig komplex und somit fehleranfällig. Im Rahmen dieser Arbeit wird eine modellgetriebene Methode zur domänenspezifischen Spezifikation und vollautomatischen Verifikation der nachrichtenbasierten Koordination von CPSs präsentiert. Mit Hilfe dieser Methode kann der Softwareingenieur die Koordination kompakt modellieren und muss nicht länger verstehen, wie seine Spezifikation auf der Ebene des Model Checkers ausgedrückt wird. Insgesamt wird die Komplexität für den Softwareingenieur somit deutlich handhabbarer. Bezüglich der Spezifikation einer solchen Koordination definiert die Arbeit eine domänenspezifische Sprache namens Real-Time Coordination Protocols (RTCPs). Darüber hinaus wird eine domänenspezifische Sprache zur Spezifikation von Verifikationseigenschaften eingeführt und Entwurfsmuster für RTCPs präsentiert, um die Anzahl der Modellierungsfehler zu senken.

Reducing the Verbosity of Imperative Model Refinements by using General-Purpose Language Facilities - Gerking, Christopher; Schubert, David; Budde, Ingo (Theory and Practice of Model Transformation, 10th International Conference (ICMT 2017))

Towards an Automated Synthesis of a Real-time Scheduling for Cyber-physical Multi-core Systems - Geismann, Johannes; Pohlmann, Uwe; Schmelter, David (Proceedings of the 5th International Conference on Model-Driven Engineering and Software Development)
Modern Cyber-physical Systems are executed in physical environments and distributed over several Electronic Control Units using multiple cores for execution. These systems perform safety-critical tasks and, therefore, have to fulfill hard real-time requirements. To face these requirements systematically, system engineers de- velop these systems model-driven and prove the fulfillment of these requirements via model checking. It is important to ensure that the runtime scheduling does not violate the verified requirements by neglecting the model checking assumptions. Currently, there is a gap in the process for model-driven approaches to derive a feasible runtime scheduling that respects these assumptions. In this paper, we present an approach for a semi- automatic synthesis of behavioral models into a deterministic scheduling that respects real-time requirements at runtime. We evaluate our approach using an example of a distributed automotive system with hard real-time requirements specified with the MechatronicUML method.

Engineering Self-Adaptive Systems with Simulation-Based Performance Prediction - Becker, Matthias

IDEal: Efficient and Precise Alias-aware Dataflow Analysis - Späth, Johannes; Ali, Karim; Bodden, Eric (2017 International Conference on Object-Oriented Programming, Languages and Applications (OOPSLA/SPLASH))
Keywords: ATTRACT; ITSECWEBSITE; CROSSING

Computation on Encrypted Data using Data Flow Authentication - Fischer, Andreas; Fuhry, Benny; Kerschbaum, Florian; Bodden, Eric (CoRR)

Engineering Self-Adaptive Systems with Simulation-Based Performence Prediction - Becker, Matthias

Fuzzy Matching of Comprehensive Service Specifications - Platenius, Marie Christin

Features of IT Service Markets: A Systematic Literature Review (Supplementary Material) - Jazayeri, Bahar; Platenius, Marie Christin; Engels, Gregor; Kundisch, Dennis

Features of IT Service Markets: A Systematic Literature Review - Jazayeri, Bahar; Platenius, Marie; Engels, Gregor; Kundisch, Dennis (Proceedings of the 14th International Conference on Service Oriented Computing (ICSOC))
The provision of IT solutions over electronic marketplaces became prominent in recent years. We call such marketplaces IT service markets. IT service markets have some core architectural building blocks that impact the quality attributes of these markets. However, these building blocks and their impacts are not well-known. Thus, design choices for IT service markets have been made ad-hoc until now. Furthermore, only single aspects of such markets have been investigated until now, but a comprehensive view is missing.In this paper, we identify common features and their interrelations on the basis of a systematic literature review of 60 publications using grounded theory.This knowledge provides an empirical evidence on the interdisciplinary design choices of IT service markets and it serves as a basis to support market providers and developers to integrate market features. Thereby, we make a first step towards the creation of a reference model for IT service markets that provides a holistic integrated view that can be used to create and maintain successful markets in the future.

Information Flow Analysis for Go - Bodden, Eric; I Pun, Ka; Steffen, Martin; Stolz, Volker; Wickert, Anna-Katharina (Leveraging Applications of Formal Methods, Verification and Validation: Foundational Techniques - 7th International Symposium, ISoLA 2016, Imperial, Corfu, Greece, October 10-14, 2016, Proceedings, Part I)

Don't let data Go astray---A Context-Sensitive Taint Analysis for Concurrent Programs in Go - Bodden, Eric; Eichberg, Michael; I Pun, Ka; Steffen, Martin; Stolz, Volker; Wickert, Anna-Katharina (Nordic Workshop on Programming Theory (NWPT'16))

Just-in-Time Static Analysis - Nguyen Quang Do, Lisa; Ali, Karim; Livshits, Benjamin; Bodden, Eric; Smith, Justin; Murphy-Hill, Emerson
Keywords: ATTRACT; ITSECWEBSITE

Harvester - Vollautomatische Extraktion von Laufzeitwerten aus obfuskierten Android-Applikationen - Rasthofer, Siegfried; Arzt, Steven; Bodden, Eric; Miltenberger, Marc (Datenschutz und Datensicherheit)
Keywords: ATTRACT; ITSECWEBSITE

An In-Depth Study of More Than Ten Years of Java Exploitation - Holzinger, Philipp; Triller, Stefan; Bartel, Alexandre; Bodden, Eric (Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security)
Keywords: ATTRACT; access control; exploits; java security; security analysis; ITSECWEBSITE

PSHAPE: Automatically Combining Gadgets for Arbitrary Method Execution - Follner, Andreas; Bartel, Alexandre; Peng, Hui; Chang, Yu-Chen; Ispoglou, Kyriakos; Payer, Mathias; Bodden, Eric (International Workshop on Security and Trust Management (STM))

Toward an Automated Benchmark Management System - Nguyen Quang Do, Lisa; Eichberg, Michael; Bodden, Eric (Proceedings of the 5th ACM SIGPLAN International Workshop on State Of the Art in Program Analysis)
Keywords: ATTRACT

Towards Cross-Platform Cross-Language Analysis with Soot - Arzt, Steven; Kussmaul, Tobias; Bodden, Eric (Proceedings of the 5th ACM SIGPLAN International Workshop on State Of the Art in Program Analysis)

ROPocop — Dynamic mitigation of code-reuse attacks - Follner, Andreas; Bodden, Eric (Journal of Information Security and Applications)

Analyzing the Gadgets - Towards a Metric to Measure Gadget Quality - Follner, Andreas; Bartel, Alexandre; Bodden, Eric (International Symposium on Engineering Secure Software and Systems (ESSoS))

Towards a Comprehensive Model of Isolation for Mitigating Illicit Channels - Falzon, Kevin; Bodden, Eric (Principles of Security and Trust: 5th International Conference, POST 2016, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2016, Eindhoven, The Netherlands, April 2--8, 2016, Proceedings)

Harvesting Runtime Values in Android Applications That Feature Anti-Analysis Techniques - Rasthofer, Siegfried; Arzt, Steven; Miltenberger, Marc; Bodden, Eric (Network and Distributed System Security Symposium (NDSS))
Keywords: ATTRACT; ITSECWEBSITE

Jumping Through Hoops: Why do Java Developers Struggle With Cryptography APIs? - Nadi, Sarah; Krüger, Stefan; Mezini, Mira; Bodden, Eric (International Conference for Software Engineering (ICSE))
Keywords: CROSSING; ITSECWEBSITE

StubDroid: Automatic Inference of Precise Data-flow Summaries for the Android Framework - Arzt, Steven; Bodden, Eric (International Conference for Software Engineering (ICSE))
Keywords: ITSECWEBSITE

Investigating Users' Reaction to Fine-Grained Data Requests: A Market Experiment - Eling, N.; Rasthofer, S.; Kolhagen, M.; Bodden, Eric; Buxmann, P. (2016 49th Hawaii International Conference on System Sciences (HICSS))

The MechatronicUML Design Method: Process and Language for Platform-Independent Modeling - Dziwok, Stefan; Pohlmann, Uwe; Piskachev, Goran; Schubert, David; Thiele, Sebastian; Gerking, Christopher
Several examples of mechatronic systems can be found nowadays in modern cars, production systems, and medical technology. Day by day, the number of innovative functionalities in such mechatronic systems is increasing. These functionalities are realized with complex software. Such software exhibits hard real-time, safety requirements. The adherence to these requirements must be thoroughly analyzed and verified. Moreover, to obtain a significant increment in the reliability, performance, and efficiency of such software, it needs to maintain the self-adaptation of its properties. In order to develop such systems with a high quality and within a short time, we need a systematic and consistent design method. For this purpose, the software engineering group at the University of Paderborn and the Fraunhofer IEM in Paderborn propose the MechatronicUML method. This method provides a comprehensive model-driven process support, that starts from requirements and reaches the executable software after passing through several design and analysis steps. This process improves the comprehension during development and makes complex systems manageable. MechatronicUML emphasizes mainly on: (1) modeling and (formal) verification of reconfigurable software architectures, (2) the coordination among system components in such architectures, and (3) the integration of discrete software events with the continuous behavior of control devices.

The MechatronicUML Requirements Engineering Method: Process and Language - Holtmann, Jörg; Fockel, Markus; Koch, Thorsten; Schmelter, David; Brenner, Christian; Bernijazov, Ruslan; Sander, Marcel
In this technical report, we present the MechatronicUML requirements engineering method. The method encompasses a process and a scenario-based modeling language for the documentation and analysis of requirements on the message-based interaction behavior of software-intensive systems. The modeling language uses a scenario notation based on Modal Sequence Diagrams (MSDs), which borrows concepts of UML Interactions as well as of Live Sequence Charts. Furthermore, we introduce the so-called Emergency Braking & Evasion System (EBEAS) as a running example, which is based on current and upcoming real-world driver assistance systems.

Anwendung von Methoden der Produktentstehung auf Basis des Systemmodells mechatronischer Systeme - Greinert, Matthias; Tschirner, Christian; Holtmann, Jörg (Tag des Systems Engineering 2016)
Das Systemmodell ist der Kern des Model-Based Systems Engineering (MBSE). Während jedoch im Systems Engineering dem Zusammenspiel von Produkt und Projekt ein hoher Stellenwert beigemessen wird, liegt der Fokus im MBSE noch sehr stark auf technischen Prozessen. Im Hinblick auf die Idee des Systemmodells als zentrale Datenquelle sollten auch Stakeholder jenseits der direkten Entwicklungsaktivitäten das Systemmodell entsprechend nutzen können und davon profitieren. Dazu wird ein Demonstrator vorgestellt, welcher die Anwendung einer Komplexitätsanalyse auf Basis des Systemmodells mechatronischer Systeme stellvertretend für Methoden in Sinne der technischen Managementprozesse der ISO/IEC 15288 aufzeigt. Grundlage des Demonstrators bildet das Systemmodell eines Pedelecs. Die darin modellierten Strukturen dienen als Input für die Komplexitätsanalyse. Über die automatisierte Anwendung der Komplexitätsanalyse ergibt sich als Output ein Portfolio, das die Komplexität der funktionserfüllenden Komponenten mit der Bewertung der Funktionalität in Beziehung setzt und somit eine Beurteilung und entsprechende Handlungsempfehlungen der Komponenten ermöglicht.

Towards Safe Execution of Reconfigurations in Cyber-Physical Systems - Schubert, David; Heinzemann, Christian; Gerking, Christopher (Proceedings of the 19th international ACM Sigsoft symposium on component-based software engineering)

An Overview of Service Specification Language and Matching in On-The-Fly Computing (v0.3) - Platenius, Marie Christin; Josifovska, Klementina; van Rooijen, Lorijn; Arifulina, Svetlana; Becker, Matthias; Engels, Gregor; Schäfer, Wilhelm

Boomerang: Demand-Driven Flow- and Context-Sensitive Pointer Analysis for Java - Späth, Johannes; Nguyen Quang Do, Lisa; Ali, Karim; Bodden, Eric (European Conference on Object-Oriented Programming (ECOOP))
Keywords: ATTRACT; ITSECWEBSITE

Market-Specific Service Compositions: Specification and Matching - Arifulina, Svetlana; Platenius, Marie Christin; Mohr, Felix; Engels, Gregor; Schäfer, Wilhelm (Proceedings of the IEEE 11th World Congress on Services (SERVICES), Visionary Track: Service Composition for the Future Internet)
The Collaborative Research Centre "On-The-Fly Computing" works on foundations and principles for the vision of the Future Internet. It proposes the paradigm of On-The-Fly Computing, which tackles emerging worldwide service markets. In these markets, service providers trade software, platform, and infrastructure as a service. Service requesters state requirements on services. To satisfy these requirements, the new role of brokers, who are (human) actors building service compositions on the fly, is introduced. Brokers have to specify service compositions formally and comprehensively using a domain-specific language (DSL), and to use service matching for the discovery of the constituent services available in the market. The broker's choice of the DSL and matching approaches influences her success of building compositions as distinctive properties of different service markets play a significant role. In this paper, we propose a new approach of engineering a situation-specific DSL by customizing a comprehensive, modular DSL and its matching for given service market properties. This enables the broker to create market-specific composition specifications and to perform market-specific service matching. As a result, the broker builds service compositions satisfying the requester's requirements more accurately. We evaluated the presented concepts using case studies in service markets for tourism and university management.

Comprehensive Service Matching with MatchBox - Börding, Paul; Bruns, Melanie; Platenius, Marie Christin (10th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering (ESEC/FSE'15))
Nowadays, many service providers offer software components in the form of Software as a Service. Requesters that want to discover those services in order to use or to integrate them, need to find out which service satisfies their requirements best. For this purpose, service matching approaches determine how well the specifications of provided services satisfy their requirements (including structural, behavioral, and non-functional requirements). In this paper, we describe the tool-suite MatchBox that allows the integration of existing service matchers and their combination as part of flexibly configurable matching processes. Taking requirements and service specifications as an input, MatchBox is able to execute such matching processes and deliver rich matching results. In contrast to related tools, MatchBox allows users to take into account many different kinds of requirements, while it also provides the flexibility to control the matching process in many different ways.

MatchBox: A Framework for Dynamic Configuration of Service Matching Processes - Platenius, Marie Christin; Arifulina, Svetlana; Schäfer, Wilhelm (Proceedings of the 18th International ACM Sigsoft Symposium on Component-Based Software Engineering (CBSE'15))
Service discovery in global software markets is performed by brokers who act as intermediaries between service consumers and service providers.In order to discover services, brokers apply service matching for determining whether the specification of a provided service satisfies the consumer's requirements.Brokers can already choose between a lot of different service matching approaches considering different service properties (structural, behavioral, and non-functional properties).Different matching approaches can be combined into configurable matching processes leading to a high matching quality (e.g., accurate matching results). However, this combination and configuration is a manual procedure and has to be repeated for different consumers' or market requirements regarding matching quality. In this paper, we propose our framework MatchBox, which supports a broker in reusing existing matching approaches and combining them in a model-driven way based on a reconfigurable model of the matching process.Using this reconfigurable model, MatchBox takes care of control and data flow between matching approaches and executes the modeled processes automatically.As a case study, we integrated eleven matchers into MatchBox to demonstrate that it remains flexibility and reduces effort for a broker at the same time.

Seminar Theses of the Project Group Cybertron - Schäfer, Wilhelm; Dziwok, Stefan; Pohlmann, Uwe; Bobolz, Jan; Czech, Mike; Dann, Andreas Peter; Geismann, Johannes; Hüwe, Marcus; Krieger, Arthur; Piskachev, Goran; Schubert, David; Wohlrab, Rebekka

Debugging Models in the Context of Automotive Software Development - Stockmann, Lars (Proceedings of the Doctoral Symposium of the ACM/IEEE 18th International Conference on Model Driven Engineering Languages and Systems)

Seminar Theses of the Project Group Cybertron - Schäfer, Wilhelm; Dziwok, Stefan; Pohlmann, Uwe; Bobolz, Jan; Czech, Mike; Dann, Andreas Peter; Geismann, Johannes; Hüwe, Marcus; Krieger, Arthur; Piskachev, Goran; Schubert, David; Wohlrab, Rebekka

Multi-Core Execution of Safety-Critical Component-Based Software - Geismann, Johannes

Generierung von AUTOSAR-Modellen aus UML-Spezifikationen - Meyer, Jan; Holtmann, Jörg; Koch, Thorsten; Meyer, Matthias (10. Paderborner Workshop Entwurf mechatronischer Systeme)
Die Komplexität moderner Fahrzeuge steigt aufgrund der zunehmenden Anzahl von Funktionen, die durch elektronische Systeme umgesetzt werden. Insbesondere nehmen die Abhängigkeiten zwischen den an der Entwicklung beteiligten Fachdisziplinen und der Softwareanteil massiv zu. Wir haben einen für die Automobilindustrie angepassten, zum Reifegradmodell Automotive SPICE konformen Prozess für die Entwicklung von Steuergeräten konzipiert, der ein fachdisziplinübergreifendes Systems Engineering und einen systematischen Übergang in die Softwareentwicklung unterstützt. Im Kontext dieses Entwicklungsprozess beschreiben wir in diesem Beitrag den Übergang vom UML-basierten Softwareentwurf zum in der Automobilindustrie etablierten AUTOSAR-Standard mit Hilfe einer automatischen Modelltransformation. So werden fehleranfällige und zeitaufwändige manuelle Tätigkeiten reduziert. Wir haben die Generierung von AUTOSAR-Modellen gemeinsam mit dem international tätigen Automobilzulieferer Hella KGaA Hueck & Co. in seriennahen Entwicklungsprojekten praktisch erprobt und Zeit- und Kostenersparnisse festgestellt.

IccTA: Detecting Inter-Component Privacy Leaks in Android Apps - Li, Li; Bartel, Alexandre; Bissyande, Tegawende F.; Klein, Jacques; Le Traon, Yves; Arzt, Steven; Rasthofer, Siegfried; Bodden, Eric; Octeau, Damien; McDaniel, Patrick (2015 International Conference on Software Engineering (ICSE))
Keywords: CROSSING; ATTRACT; ITSECWEBSITE

Towards a Flexible and Privacy-Preserving Reputation System for Markets of Composed Services - Brangewitz, Sonja; Jungmann, Alexander; Petrlic, Ronald; Platenius, Marie Christin (Proceedings of the 6th International Conferences on Advanced Service Computing (SERVICE COMPUTATION))
One future goal of service-oriented computing is to realize global markets of composed services. On such markets, service providers offer services that can be flexibly combined with each other. However, most often, market participants are not able to individually estimate the quality of traded services in advance. As a consequence, even potentially profitable transactions between customers and providers might not take place. In the worst case, this can induce a market failure. To overcome this problem, we propose the incorporation of reputation information as an indicator for expected service quality. We address On-The-Fly Computing as a representative environment of markets of composed services. In this environment, customers provide feedback on transactions. We present a conceptual design of a reputation system which collects and processes user feedback, and provides it to participants in the market. Our contribution includes the identification of requirements for such a reputation system from a technical and an economic perspective. Based on these requirements, we propose a flexible solution that facilitates the incorporation of reputation information into markets of composed services while simultaneously preserving privacy of customers who provide feedback. The requirements we formulate in this paper have just been partially met in literature. An integrated approach, however, has not been addressed yet.

SeSAME: Modeling and Analyzing High-Quality Service Compositions - Arifulina, Svetlana; Becker, Matthias; Platenius, Marie Christin; Walther, Sven (Proceedings of the 29th IEEE/ACM International Conference on Automated Software Engineering (ASE 2014))
Today, software components are traded on markets in form of services. These services can also be service compositions consisting of several services. If a software architect wants to provide such a service composition in the market for trade, she needs to perform several tasks: she needs to model the composition, to discover existing services to be part of that composition, and to analyze the composition's functional correctness as well as its quality, e.g., performance. Up to now, the architect needed to find and use different tools for these tasks. Typically, these tools are not interoperable with each other. We provide the tool SeSAME that supports a software architect in all of these tasks. SeSAME is an integrated Eclipse-based tool-suite providing a comprehensive service specification language to model service compositions and existing services. Furthermore, it includes modules for service matching, functional analysis, and non-functional analysis. SeSAME is the first tool that integrates all these tasks into one tool-suite and, thereby, provides holistic support for trading software services. Thus, it contributes to a software provider's market success.

Security and Privacy Challenges in On-The-Fly Computing - Petrlic, Ronald; Jungmann, Alexander; Platenius, Marie Christin; Schäfer, Wilhelm; Sorge, Christoph (Tagungsband der 4. Konferenz Software-Technologien und -Prozesse (STeP 2014))
On-The-Fly (OTF) Computing constitutes an approach towards highly dynamic and individualized software markets. Based on service-oriented computing, OTF Computing is about realizing global markets of services that can be flexibly combined. We report on our current research activities, the security and privacy implications thereof, and our approaches to tackle the challenges. Furthermore, we discuss how the security and privacy challenges are addressed in research projects similar to OTF Computing.

ScenarioTools Real-Time Play-Out for Test Sequence Validation in an Automotive Case Study - Brenner, Christian; Greenyer, Joel; Holtmann, Jörg; Liebel, Grischa; Stieglbauer, Gerald; Tichy, Matthias (Proceedings of the 13th International Workshop on Graph Transformation and Visual Modeling Techniques (GT-VMT 2014))
In many areas, such as automotive, healthcare, or production, we find software-intensive systems with complex real-time requirements. To efficiently ensure the quality of these systems, engineers require automated tools for the validation of the requirements throughout the development. This, however, requires that the requirements are specified in an analyzable way. We propose modeling the specification using Modal Sequence Diagrams (MSDs), which express what a system may, must, or must not do in certain situations. MSDs can be executed via the play-out algorithm to investigate the behavior emerging from the interplay of multiple scenarios; we can also test if traces of the final product satisfy all scenarios. In this paper, we present the first tool supporting the play-out of MSDs with real-time constraints. As a case study, we modeled the requirements on gear shifts in an upcoming standard on vehicle testing and use our tool to validate externally generated gear shift sequences.

Generating Modelica Models from Software Specifications for the Simulation of Cyber-physical Systems - Pohlmann, Uwe; Holtmann, Jörg; Meyer, Matthias; Gerking, Christopher (Proceedings of the 40th Euromicro Conference on Software Engineering and Advanced Applications (SEAA))

The MechatronicUML Method: Model-Driven Software Engineering of Self-Adaptive Mechatronic Systems - Becker, Steffen; Dziwok, Stefan; Gerking, Christopher; Heinzemann, Christian; Schäfer, Wilhelm; Meyer, Matthias; Pohlmann, Uwe (Proceedings of the 36th International Conference on Software Engineering (Posters))

A Modelica Coordination Pattern Library for Cyber-Physical Systems - Pohlmann, Uwe; Dziwok, Stefan; Meyer, Matthias; Tichy, Matthias; Thiele, Sebastian (Proceedings of the 7th International ICST Conference on Simulation Tools and Techniques)

The MechatronicUML Design Method - Process and Language for Platform-Independent Modeling - Becker, Steffen; Dziwok, Stefan; Gerking, Christopher; Schäfer, Wilhelm; Heinzemann, Christian; Thiele, Sebastian; Meyer, Matthias; Priesterjahn, Claudia; Pohlmann, Uwe; Tichy, Matthias