Skip to main content

Showing 1–24 of 24 results for author: Bodden, E

.
  1. arXiv:2403.07808  [pdf

    cs.SE

    Supporting Error Chains in Static Analysis for Precise Evaluation Results and Enhanced Usability

    Authors: Anna-Katharina Wickert, Michael Schlichtig, Marvin Vogel, Lukas Winter, Mira Mezini, Eric Bodden

    Abstract: Context: Static analyses are well-established to aid in understanding bugs or vulnerabilities during the development process or in large-scale studies. A low false-positive rate is essential for the adaption in practice and for precise results of empirical studies. Unfortunately, static analyses tend to report where a vulnerability manifests rather than the fix location. This can cause presumed fa… ▽ More

    Submitted 12 March, 2024; originally announced March 2024.

    Comments: 12 pages, 4 figures, accepted by the IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER), March 12-15, 2024, Rovaniemi, Finland at the research papers track

  2. Detecting Security-Relevant Methods using Multi-label Machine Learning

    Authors: Oshando Johnson, Goran Piskachev, Ranjith Krishnamurthy, Eric Bodden

    Abstract: To detect security vulnerabilities, static analysis tools need to be configured with security-relevant methods. Current approaches can automatically identify such methods using binary relevance machine learning approaches. However, they ignore dependencies among security-relevant methods, over-generalize and perform poorly in practice. Additionally, users have to nevertheless manually configure st… ▽ More

    Submitted 12 March, 2024; originally announced March 2024.

    Comments: 6 pages, 3 figures, The IDE Workshop

  3. arXiv:2402.17679  [pdf, ps, other

    cs.SE

    The Emergence of Large Language Models in Static Analysis: A First Look through Micro-Benchmarks

    Authors: Ashwin Prasad Shivarpatna Venkatesh, Samkutty Sabu, Amir M. Mir, Sofia Reis, Eric Bodden

    Abstract: The application of Large Language Models (LLMs) in software engineering, particularly in static analysis tasks, represents a paradigm shift in the field. In this paper, we investigate the role that current LLMs can play in improving callgraph analysis and type inference for Python programs. Using the PyCG, HeaderGen, and TypeEvalPy micro-benchmarks, we evaluate 26 LLMs, including OpenAI's GPT seri… ▽ More

    Submitted 27 February, 2024; originally announced February 2024.

    Comments: To be published in: ICSE FORGE 2024 (AI Foundation Models and Software Engineering)

  4. arXiv:2402.07889  [pdf, other

    cs.SE cs.CR

    Toward an Android Static Analysis Approach for Data Protection

    Authors: Mugdha Khedkar, Eric Bodden

    Abstract: Android applications collecting data from users must protect it according to the current legal frameworks. Such data protection has become even more important since the European Union rolled out the General Data Protection Regulation (GDPR). Since app developers are not legal experts, they find it difficult to write privacy-aware source code. Moreover, they have limited tool support to reason abou… ▽ More

    Submitted 12 February, 2024; originally announced February 2024.

    Comments: Accepted at MOBILESoft 2024 Research Forum Track

  5. arXiv:2401.14813  [pdf, other

    cs.SE

    Symbol-Specific Sparsification of Interprocedural Distributive Environment Problems

    Authors: Kadiray Karakaya, Eric Bodden

    Abstract: Previous work has shown that one can often greatly speed up static analysis by computing data flows not for every edge in the program's control-flow graph but instead only along definition-use chains. This yields a so-called sparse static analysis. Recent work on SparseDroid has shown that specifically taint analysis can be "sparsified" with extraordinary effectiveness because the taint state of o… ▽ More

    Submitted 26 January, 2024; originally announced January 2024.

    Comments: To be published in ICSE 2024

  6. arXiv:2312.16882  [pdf, ps, other

    cs.SE

    TypeEvalPy: A Micro-benchmarking Framework for Python Type Inference Tools

    Authors: Ashwin Prasad Shivarpatna Venkatesh, Samkutty Sabu, Jiawei Wang, Amir M. Mir, Li Li, Eric Bodden

    Abstract: In light of the growing interest in type inference research for Python, both researchers and practitioners require a standardized process to assess the performance of various type inference techniques. This paper introduces TypeEvalPy, a comprehensive micro-benchmarking framework for evaluating type inference tools. TypeEvalPy contains 154 code snippets with 845 type annotations across 18 categori… ▽ More

    Submitted 2 January, 2024; v1 submitted 28 December, 2023; originally announced December 2023.

    Comments: To be published in ICSE 2024

  7. arXiv:2310.06758  [pdf, other

    cs.SE cs.PL

    slash: A Technique for Static Configuration-Logic Identification

    Authors: Mohannad Alhanahnah, Philipp Schubert, Thomas Reps, Somesh Jha, Eric Bodden

    Abstract: Researchers have recently devised tools for debloating software and detecting configuration errors. Several of these tools rely on the observation that programs are composed of an initialization phase followed by a main-computation phase. Users of these tools are required to manually annotate the boundary that separates these phases, a task that can be time-consuming and error-prone (typically, th… ▽ More

    Submitted 20 November, 2023; v1 submitted 10 October, 2023; originally announced October 2023.

  8. arXiv:2301.04419  [pdf, other

    cs.SE

    Static Analysis Driven Enhancements for Comprehension in Machine Learning Notebooks

    Authors: Ashwin Prasad Shivarpatna Venkatesh, Samkutty Sabu, Mouli Chekkapalli, Jiawei Wang, Li Li, Eric Bodden

    Abstract: Jupyter notebooks enable developers to interleave code snippets with rich-text and in-line visualizations. Data scientists use Jupyter notebook as the de-facto standard for creating and sharing machine-learning based solutions, primarily written in Python. Recent studies have demonstrated, however, that a large portion of Jupyter notebooks available on public platforms are undocumented and lacks a… ▽ More

    Submitted 11 June, 2024; v1 submitted 11 January, 2023; originally announced January 2023.

    Comments: To be published in: EMSE Journal

  9. arXiv:2208.08173  [pdf, other

    cs.CR cs.SE

    An In-depth Study of Java Deserialization Remote-Code Execution Exploits and Vulnerabilities

    Authors: Imen Sayar, Alexandre Bartel, Eric Bodden, Yves Le Traon

    Abstract: Nowadays, an increasing number of applications uses deserialization. This technique, based on rebuilding the instance of objects from serialized byte streams, can be dangerous since it can open the application to attacks such as remote code execution (RCE) if the data to deserialize is originating from an untrusted source. Deserialization vulnerabilities are so critical that they are in OWASP's li… ▽ More

    Submitted 17 August, 2022; originally announced August 2022.

    Comments: ACM Transactions on Software Engineering and Methodology, Association for Computing Machinery, 2022

  10. arXiv:2208.06136  [pdf, ps, other

    cs.CR cs.SE

    How far are German companies in improving security through static program analysis tools?

    Authors: Goran Piskachev, Stefan Dziwok, Thorsten Koch, Sven Merschjohan, Eric Bodden

    Abstract: As security becomes more relevant for many companies, the popularity of static program analysis (SPA) tools is increasing. In this paper, we target the use of SPA tools among companies in Germany with a focus on security. We give insights on the current issues and the developers' willingness to configure the tools to overcome these issues. Compared to previous studies, our study considers the comp… ▽ More

    Submitted 12 August, 2022; originally announced August 2022.

    Comments: IEEE Secure Development Conference 2022

  11. arXiv:2207.09379  [pdf, ps, other

    cs.PL cs.CR cs.SE

    To what extent can we analyze Kotlin programs using existing Java taint analysis tools? (Extended Version)

    Authors: Ranjith Krishnamurthy, Goran Piskachev, Eric Bodden

    Abstract: As an alternative to Java, Kotlin has gained rapid popularity since its introduction and has become the default choice for develo** Android apps. However, due to its interoperability with Java, Kotlin programs may contain almost the same security vulnerabilities as their Java counterparts. Hence, we question: to what extent can one use an existing Java static taint analysis on Kotlin code? In th… ▽ More

    Submitted 29 July, 2022; v1 submitted 19 July, 2022; originally announced July 2022.

    Comments: 12 pages, Technical Report

  12. arXiv:2204.06447  [pdf, ps, other

    cs.SE

    CamBench -- Cryptographic API Misuse Detection Tool Benchmark Suite

    Authors: Michael Schlichtig, Anna-Katharina Wickert, Stefan Krüger, Eric Bodden, Mira Mezini

    Abstract: Context: Cryptographic APIs are often misused in real-world applications. Therefore, many cryptographic API misuse detection tools have been introduced. However, there exists no established reference benchmark for a fair and comprehensive comparison and evaluation of these tools. While there are benchmarks, they often only address a subset of the domain or were only used to evaluate a subset of ex… ▽ More

    Submitted 13 April, 2022; originally announced April 2022.

    Comments: 8 pages, accepted at the MSR 2022 Registered Reports Track as a In-Principal Acceptance (IPA)

  13. arXiv:2204.03089  [pdf, other

    cs.PL

    Fluently specifying taint-flow queries with fluentTQL

    Authors: Goran Piskachev, Johannes Späth, Ingo Budde, Eric Bodden

    Abstract: Previous work has shown that taint analyses are only useful if correctly customized to the context in which they are used. Existing domain-specific languages (DSLs) allow such customization through the definition of deny-listing data-flow rules that describe potentially vulnerable taint-flows. These languages, however, are designed primarily for security experts who are knowledgeable in taint anal… ▽ More

    Submitted 6 April, 2022; originally announced April 2022.

    Comments: 39 pages, Springer Journal on Empirical Software Engineering

  14. arXiv:2105.04950  [pdf, other

    cs.CR cs.SE

    Dealing with Variability in API Misuse Specification

    Authors: Rodrigo Bonifacio, Stefan Krüger, Krishna Narasimhan, Eric Bodden, Mira Mezini

    Abstract: APIs are the primary mechanism for developers to gain access to externally defined services and tools. However, previous research has revealed API misuses that violate the contract of APIs to be prevalent. Such misuses can have harmful consequences, especially in the context of cryptographic libraries. Various API misuse detectors have been proposed to address this issue including CogniCrypt, one… ▽ More

    Submitted 17 May, 2021; v1 submitted 11 May, 2021; originally announced May 2021.

    Comments: 28 pages, 16 figures

    MSC Class: 68N19 ACM Class: D.2.1; D.3.3

  15. arXiv:1908.01489  [pdf, other

    cs.CR cs.SE

    The Impact of Developer Experience in Using Java Cryptography

    Authors: Mohammadreza Hazhirpasand, Mohammad Ghafari, Stefan Krüger, Eric Bodden, Oscar Nierstrasz

    Abstract: Previous research has shown that crypto APIs are hard for developers to understand and difficult for them to use. They consequently rely on unvalidated boilerplate code from online resources where security vulnerabilities are common. We analyzed 2,324 open-source Java projects that rely on Java Cryptography Architecture (JCA) to understand how crypto APIs are used in practice, and what factors a… ▽ More

    Submitted 5 August, 2019; originally announced August 2019.

    Comments: The ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM)

  16. arXiv:1901.03603  [pdf, other

    cs.CR

    ACMiner: Extraction and Analysis of Authorization Checks in Android's Middleware

    Authors: Sigmund Albert Gorski III, Benjamin Andow, Adwait Nadkarni, Sunil Manandhar, William Enck, Eric Bodden, Alexandre Bartel

    Abstract: Billions of users rely on the security of the Android platform to protect phones, tablets, and many different types of consumer electronics. While Android's permission model is well studied, the enforcement of the protection policy has received relatively little attention. Much of this enforcement is spread across system services, taking the form of hard-coded checks within their implementations.… ▽ More

    Submitted 11 January, 2019; originally announced January 2019.

  17. Do Android Taint Analysis Tools Keep Their Promises?

    Authors: Felix Pauck, Eric Bodden, Heike Wehrheim

    Abstract: 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 on… ▽ More

    Submitted 30 July, 2019; v1 submitted 9 April, 2018; originally announced April 2018.

  18. arXiv:1801.04894  [pdf, other

    cs.SE

    Debugging Static Analysis

    Authors: Lisa Nguyen Quang Do, Stefan Krüger, Patrick Hill, Karim Ali, Eric Bodden

    Abstract: To detect and fix bugs and security vulnerabilities, software companies use static analysis as part of the development process. However, static analysis code itself is also prone to bugs. To ensure a consistent level of precision, as analyzed programs grow more complex, a static analysis has to handle more code constructs, frameworks, and libraries that the programs use. While more complex analyse… ▽ More

    Submitted 15 January, 2018; originally announced January 2018.

  19. arXiv:1710.07430  [pdf, other

    cs.SE

    Self-adaptive static analysis

    Authors: Eric Bodden

    Abstract: Static code analysis is a powerful approach to detect quality deficiencies such as performance bottlenecks, safety violations or security vulnerabilities already during a software system's implementation. Yet, as current software systems continue to grow, current static-analysis systems more frequently face the problem of insufficient scalability. We argue that this is mainly due to the fact that… ▽ More

    Submitted 20 October, 2017; originally announced October 2017.

  20. arXiv:1710.00564  [pdf, ps, other

    cs.SE

    CrySL: Validating Correct Usage of Cryptographic APIs

    Authors: Stefan Krüger, Johannes Späth, Karim Ali, Eric Bodden, Mira Mezini

    Abstract: Various studies have empirically shown that the majority of Java and Android apps misuse cryptographic libraries, causing devastating breaches of data security. Therefore, it is crucial to detect such misuses early in the development process. The fact that insecure usages are not the exception but the norm precludes approaches based on property inference and anomaly detection. In this paper, we… ▽ More

    Submitted 2 October, 2017; originally announced October 2017.

    Comments: 11 pages

  21. arXiv:1710.00390  [pdf, other

    cs.CR

    Computation on Encrypted Data using Data Flow Authentication

    Authors: Andreas Fischer, Benny Fuhry, Florian Kerschbaum, Eric Bodden

    Abstract: Encrypting data before sending it to the cloud protects it against hackers and malicious insiders, but requires the cloud to compute on encrypted data. Trusted (hardware) modules, e.g., secure enclaves like Intel's SGX, can very efficiently run entire programs in encrypted memory. However, it already has been demonstrated that software vulnerabilities give an attacker ample opportunity to insert a… ▽ More

    Submitted 1 October, 2017; originally announced October 2017.

  22. arXiv:1605.08159  [pdf, ps, other

    cs.SE cs.CR

    Analyzing the Gadgets Towards a Metric to Measure Gadget Quality

    Authors: Andreas Follner, Alexandre Bartel, Eric Bodden

    Abstract: Current low-level exploits often rely on code-reuse, whereby short sections of code (gadgets) are chained together into a coherent exploit that can be executed without the need to inject any code. Several protection mechanisms attempt to eliminate this attack vector by applying code transformations to reduce the number of available gadgets. Nevertheless, it has emerged that the residual gadgets ca… ▽ More

    Submitted 26 May, 2016; originally announced May 2016.

    Comments: International Symposium on Engineering Secure Software and Systems, Apr 2016, London, United Kingdom

  23. arXiv:1504.02288  [pdf, ps, other

    cs.CR

    ROPocop - Dynamic Mitigation of Code-Reuse Attacks

    Authors: Andreas Follner, Eric Bodden

    Abstract: Control-flow attacks, usually achieved by exploiting a buffer-overflow vulnerability, have been a serious threat to system security for over fifteen years. Researchers have answered the threat with various mitigation techniques, but nevertheless, new exploits that successfully bypass these technologies still appear on a regular basis. In this paper, we propose ROPocop, a novel approach for detec… ▽ More

    Submitted 9 April, 2015; originally announced April 2015.

  24. arXiv:1404.7431  [pdf, ps, other

    cs.SE cs.CR

    I know what leaked in your pocket: uncovering privacy leaks on Android Apps with Static Taint Analysis

    Authors: Li Li, Alexandre Bartel, Jacques Klein, Yves Le Traon, Steven Arzt, Siegfried Rasthofer, Eric Bodden, Damien Octeau, Patrick McDaniel

    Abstract: Android applications may leak privacy data carelessly or maliciously. In this work we perform inter-component data-flow analysis to detect privacy leaks between components of Android applications. Unlike all current approaches, our tool, called IccTA, propagates the context between the components, which improves the precision of the analysis. IccTA outperforms all other available tools by reaching… ▽ More

    Submitted 29 April, 2014; originally announced April 2014.

    Report number: 978-2-87971-129-4_TR-SNT-2014-9 ACM Class: D.2.4; D.4.6