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