TY - CONF AU - Richter, Cedric AU - Haltermann, Jan Frederik AU - Jakobs, Marie-Christine AU - Pauck, Felix AU - Schott, Stefan AU - Wehrheim, Heike ID - 35426 T2 - 37th IEEE/ACM International Conference on Automated Software Engineering TI - Are Neural Bug Detectors Comparable to Software Developers on Variable Misuse Bugs? ER - TY - CONF AU - Schott, Stefan AU - Pauck, Felix ID - 36848 T2 - 2022 IEEE 22nd International Working Conference on Source Code Analysis and Manipulation (SCAM) TI - Benchmark Fuzzing for Android Taint Analyses ER - TY - CONF AU - Pauck, Felix ID - 35427 T2 - 37th IEEE/ACM International Conference on Automated Software Engineering TI - Scaling Arbitrary Android App Analyses ER - TY - THES AU - Pauck, Felix ID - 43108 TI - Cooperative Android App Analysis ER - TY - CHAP AU - Wehrheim, Heike AU - Platzner, Marco AU - Bodden, Eric AU - Schubert, Philipp AU - Pauck, Felix AU - Jakobs, Marie-Christine ED - Haake, Claus-Jochen ED - Meyer auf der Heide, Friedhelm ED - Platzner, Marco ED - Wachsmuth, Henning ED - Wehrheim, Heike ID - 45888 T2 - On-The-Fly Computing -- Individualized IT-services in dynamic markets TI - Verifying Software and Reconfigurable Hardware Services VL - 412 ER - TY - JOUR AB - Due to the lack of established real-world benchmark suites for static taint analyses of Android applications, evaluations of these analyses are often restricted and hard to compare. Even in evaluations that do use real-world apps, details about the ground truth in those apps are rarely documented, which makes it difficult to compare and reproduce the results. To push Android taint analysis research forward, this paper thus recommends criteria for constructing real-world benchmark suites for this specific domain, and presents TaintBench, the first real-world malware benchmark suite with documented taint flows. TaintBench benchmark apps include taint flows with complex structures, and addresses static challenges that are commonly agreed on by the community. Together with the TaintBench suite, we introduce the TaintBench framework, whose goal is to simplify real-world benchmarking of Android taint analyses. First, a usability test shows that the framework improves experts’ performance and perceived usability when documenting and inspecting taint flows. Second, experiments using TaintBench reveal new insights for the taint analysis tools Amandroid and FlowDroid: (i) They are less effective on real-world malware apps than on synthetic benchmark apps. (ii) Predefined lists of sources and sinks heavily impact the tools’ accuracy. (iii) Surprisingly, up-to-date versions of both tools are less accurate than their predecessors. AU - Luo, Linghui AU - Pauck, Felix AU - Piskachev, Goran AU - Benz, Manuel AU - Pashchenko, Ivan AU - Mory, Martin AU - Bodden, Eric AU - Hermann, Ben AU - Massacci, Fabio ID - 27045 JF - Empirical Software Engineering SN - 1382-3256 TI - TaintBench: Automatic real-world malware benchmarking of Android taint analyses ER - TY - CONF AU - Pauck, Felix AU - Wehrheim, Heike ID - 28199 T2 - 2021 IEEE 21st International Working Conference on Source Code Analysis and Manipulation (SCAM) TI - Jicer: Simplifying Cooperative Android App Analysis Tasks ER - TY - JOUR AB - Verification of software and processor hardware usually proceeds separately, software analysis relying on the correctness of processors executing machine instructions. This assumption is valid as long as the software runs on standard CPUs that have been extensively validated and are in wide use. However, for processors exploiting custom instruction set extensions to meet performance and energy constraints the validation might be less extensive, challenging the correctness assumption. In this paper we present a novel formal approach for hardware/software co-verification targeting processors with custom instruction set extensions. We detail two different approaches for checking whether the hardware fulfills the requirements expected by the software analysis. The approaches are designed to explore a trade-off between generality of the verification and computational effort. Then, we describe the integration of software and hardware analyses for both techniques and describe a fully automated tool chain implementing the approaches. Finally, we demonstrate and compare the two approaches on example source code with custom instructions, using state-of-the-art software analysis and hardware verification techniques. AU - Jakobs, Marie-Christine AU - Pauck, Felix AU - Platzner, Marco AU - Wehrheim, Heike AU - Wiersema, Tobias ID - 27841 JF - IEEE Access KW - Software Analysis KW - Abstract Interpretation KW - Custom Instruction KW - Hardware Verification TI - Software/Hardware Co-Verification for Custom Instruction Set Processors ER - TY - CONF AU - Pauck, Felix AU - Wehrheim, Heike ED - Koziolek, Anne ED - Schaefer, Ina ED - Seidl, Christoph ID - 21238 T2 - Software Engineering 2021 TI - Cooperative Android App Analysis with CoDiDroid ER - TY - CONF AU - Pauck, Felix AU - Bodden, Eric AU - Wehrheim, Heike ED - Felderer, Michael ED - Hasselbring, Wilhelm ED - Rabiser, Rick ED - Jung, Reiner ID - 16214 T2 - Software Engineering 2020, Fachtagung des GI-Fachbereichs Softwaretechnik, 24.-28. Februar 2020, Innsbruck, Austria TI - Reproducing Taint-Analysis Results with ReproDroid ER - TY - CONF AB - In the field of software analysis a trade-off between scalability and accuracy always exists. In this respect, Android app analysis is no exception, in particular, analyzing large or many apps can be challenging. Dealing with many small apps is a typical challenge when facing micro-benchmarks such as DROIDBENCH or ICC-BENCH. These particular benchmarks are not only used for the evaluation of novel tools but also in continuous integration pipelines of existing mature tools to maintain and guarantee a certain quality-level. Considering this latter usage it becomes very important to be able to achieve benchmark results as fast as possible. Hence, benchmarks have to be optimized for this purpose. One approach to do so is app merging. We implemented the Android Merge Tool (AMT) following this approach and show that its novel aspects can be used to produce scaled up and accurate benchmarks. For such benchmarks Android app analysis tools do not suffer from the scalability-accuracy trade-off anymore. We show this throughout detailed experiments on DROIDBENCH employing three different analysis tools (AMANDROID, ICCTA, FLOWDROID). Benchmark execution times are largely reduced without losing benchmark accuracy. Moreover, we argue why AMT is an advantageous successor of the state-of-the-art app merging tool (APKCOMBINER) in analysis lift-up scenarios. AU - Pauck, Felix AU - Zhang, Shikun ID - 15838 KW - Program Analysis KW - Android App Analysis KW - Taint Analysis KW - App Merging KW - Benchmark SN - 9781728141367 T2 - 2019 34th IEEE/ACM International Conference on Automated Software Engineering Workshop (ASEW) TI - Android App Merging for Benchmark Speed-Up and Analysis Lift-Up ER - TY - CONF AB - Recent years have seen the development of numerous tools for the analysis of taint flows in Android apps. Taint analyses aim at detecting data leaks, accidentally or by purpose programmed into apps. Often, such tools specialize in the treatment of specific features impeding precise taint analysis (like reflection or inter-app communication). This multitude of tools, their specific applicability and their various combination options complicate the selection of a tool (or multiple tools) when faced with an analysis instance, even for knowledgeable users, and hence hinders the successful adoption of taint analyses. In this work, we thus present CoDiDroid, a framework for cooperative Android app analysis. CoDiDroid (1) allows users to ask questions about flows in apps in varying degrees of detail, (2) automatically generates subtasks for answering such questions, (3) distributes tasks onto analysis tools (currently DroidRA, FlowDroid, HornDroid, IC3 and two novel tools) and (4) at the end merges tool answers on subtasks into an overall answer. Thereby, users are freed from having to learn about the use and functionality of all these tools while still being able to leverage their capabilities. Moreover, we experimentally show that cooperation among tools pays off with respect to effectiveness, precision and scalability. AU - Pauck, Felix AU - Wehrheim, Heike ID - 10108 KW - Android Taint Analysis KW - Cooperation KW - Precision KW - Tools SN - 978-1-4503-5572-8 T2 - Proceedings of the 2019 27th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering TI - Together Strong: Cooperative Android App Analysis ER - TY - CONF AU - Isenberg, Tobias AU - Jakobs, Marie-Christine AU - Pauck, Felix AU - Wehrheim, Heike ID - 13874 T2 - Tests and Proofs - 13th International Conference, {TAP} 2019, Held as Part of the Third World Congress on Formal Methods 2019, Porto, Portugal, October 9-11, 2019, Proceedings TI - When Are Software Verification Results Valid for Approximate Hardware? ER - TY - GEN AB - 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. AU - Pauck, Felix AU - Bodden, Eric AU - Wehrheim, Heike ID - 2711 T2 - arXiv:1804.02903 TI - Do Android Taint Analysis Tools Keep their Promises? ER - TY - CONF AU - Pauck, Felix AU - Bodden, Eric AU - Wehrheim, Heike ID - 4999 SN - 9781450355735 T2 - Proceedings of the 2018 26th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering - ESEC/FSE 2018 TI - Do Android taint analysis tools keep their promises? ER - TY - JOUR AB - Approximate computing (AC) is an emerging paradigm for energy-efficient computation. The basic idea of AC is to sacrifice high precision for low energy by allowing hardware to carry out “approximately correct” calculations. This provides a major challenge for software quality assurance: programs successfully verified to be correct might be erroneous on approximate hardware. In this letter, we present a novel approach for determining under what conditions a software verification result is valid for approximate hardware. To this end, we compute the allowed tolerances for AC hardware from successful verification runs. More precisely, we derive a set of constraints which—when met by the AC hardware—guarantees the verification result to carry over to AC. On the practical side, we furthermore: 1) show how to extract tolerances from verification runs employing predicate abstraction as verification technology and 2) show how to check such constraints on hardware designs. We have implemented all techniques, and exemplify them on example C programs and a number of recently proposed approximate adders. AU - Isenberg, Tobias AU - Jakobs, Marie-Christine AU - Pauck, Felix AU - Wehrheim, Heike ID - 1043 JF - IEEE Embedded Systems Letters SN - 1943-0663 TI - Validity of Software Verification Results on Approximate Hardware ER - TY - GEN AU - Pauck, Felix ID - 109 TI - Cooperative static analysis of Android applications ER - TY - CONF AB - We present PAndA2, an extendable, static analysis tool for Android apps which examines permission related security threats like overprivilege, existence of permission redelegation and permission flows. PAndA2 comes along with a textual and graphical visualization of the analysis result and even supports the comparison of analysis results for different android app versions. AU - Jakobs, Marie-Christine AU - Töws, Manuel AU - Pauck, Felix ED - Ishikawa F, Romanovsky A, Troubitsyna E ID - 170 T2 - Workshop on Formal and Model-Driven Techniques for Developing Trustworthy Systems TI - PAndA 2 : Analyzing Permission Use and Interplay in Android Apps (Tool Paper) ER - TY - GEN AU - Pauck, Felix ID - 418 TI - Generierung von Eigenschaftsprüfern in einem Hardware/Software-Co-Verifikationsverfahren ER -