English
Related papers

Related papers: Practical Type-Based Taint Checking and Inference …

200 papers

**Context:** The design of static type systems that can validate dynamically-typed programs (**gradually**) is an ongoing challenge. A key difficulty is that dynamic code rarely follows datatype-driven design. Programs instead use runtime…

Programming Languages · Computer Science 2025-08-07 Hanwen Guo , Ben Greenman

With the growing and widespread use of Internet of Things (IoT) in our daily life, its security is becoming more crucial. To ensure information security, we require better security analysis tools for IoT applications. Hence, this paper…

Cryptography and Security · Computer Science 2021-10-13 Manar H. Alalfi , Sajeda Parveen , Bara Nazzal

Dynamic taint analysis (DTA) is widely used by various applications to track information flow during runtime execution. Existing DTA techniques use rule-based taint-propagation, which is neither accurate (i.e., high false positive) nor…

Cryptography and Security · Computer Science 2019-09-04 Dongdong She , Yizheng Chen , Abhishek Shah , Baishakhi Ray , Suman Jana

Transient gradual typing imposes run-time type tests that typically cause a linear slowdown in programs' performance. This performance impact discourages the use of type annotations because adding types to a program makes the program…

Programming Languages · Computer Science 2019-02-19 Richard Roberts , Stefan Marr , Michael Homer , James Noble

Recent years have seen growing interest in the retrofitting of type systems onto dynamically-typed programming languages, in order to improve type safety, programmer productivity, or performance. In such cases, type system developers must…

Programming Languages · Computer Science 2016-05-05 Esben Andreasen , Colin S. Gordon , Satish Chandra , Manu Sridharan , Frank Tip , Koushik Sen

Taint analysis using explicit whole-program data-dependence graphs is powerful for vulnerability discovery but faces two major challenges. First, accurately modeling taint propagation through calls to external library procedures requires…

Software Engineering · Computer Science 2025-06-09 Sedick David Baker Effendi , Xavier Pinho , Andrei Michael Dreyer , Fabian Yamaguchi

Taint-style vulnerabilities comprise a majority of fuzzer discovered program faults. These vulnerabilities usually manifest as memory access violations caused by tainted program input. Although fuzzers have helped uncover a majority of…

Cryptography and Security · Computer Science 2017-06-02 Bhargava Shastry , Federico Maggi , Fabian Yamaguchi , Konrad Rieck , Jean-Pierre Seifert

Pluggable type systems allow programmers to extend the type system of a programming language to enforce semantic properties defined by the programmer. Pluggable type systems are difficult to deploy in legacy codebases because they require…

Software Engineering · Computer Science 2025-10-06 Kazi Amanul Islam Siddiqui , Martin Kellogg

Taint analysis is a security analysis technique used to track the flow of potentially dangerous data through an application and its dependent libraries. Investigating why certain unexpected flows appear and why expected flows are missing is…

Software Engineering · Computer Science 2025-12-05 Burak Yetiştiren , Hong Jin Kang , Miryung Kim

In the last decade, an impressive increase in software adaptions has led to a surge in log data production, making manual log analysis impractical and establishing the necessity for automated methods. Conversely, most automated analysis…

Software Engineering · Computer Science 2025-11-19 Shayan Hashemi , Mika Mäntylä

We present an automated framework for solidifying the cohesion between software specifications, their dependently typed models, and implementation at compile time. Model Checking and type checking are currently separate techniques for…

Programming Languages · Computer Science 2024-07-18 Thomas Ekström Hansen , Edwin Brady

We present a new type system combining occurrence typing, previously used to type check programs in dynamically-typed languages such as Racket, JavaScript, and Ruby, with dependent refinement types. We demonstrate that the addition of…

Programming Languages · Computer Science 2016-10-05 Andrew M. Kent , David Kempe , Sam Tobin-Hochstadt

Python's dynamic type system, while offering significant flexibility and expressiveness, poses substantial challenges for static analysis and automated tooling, particularly in unannotated or partially annotated codebases. Existing type…

Software Engineering · Computer Science 2026-04-08 Ali Aman , Muhammad Asaduzzaman , Shaowei Wang

We present a type system and inference algorithm for a rich subset of JavaScript equipped with objects, structural subtyping, prototype inheritance, and first-class methods. The type system supports abstract and recursive objects, and is…

Programming Languages · Computer Science 2016-10-19 Satish Chandra , Colin S. Gordon , Jean-Baptiste Jeannin , Cole Schlesinger , Manu Sridharan , Frank Tip , Youngil Choi

In this paper we describe how to leverage higher-order unification to type check a dependently typed language with meta-variables. The literature usually presents the unification algorithm as a standalone component, however the need to…

Programming Languages · Computer Science 2016-10-03 Francesco Mazzoli , Andreas Abel

Privacy analysis is critical but also a time-consuming and tedious task. We present a formalization which eases designing and auditing high-level privacy properties of software architectures. It is incorporated into a larger policy analysis…

Cryptography and Security · Computer Science 2018-06-11 Marcel von Maltitz , Cornelius Diekmann , Georg Carle

JDBC remains a key technology for database access in Java applications. Since the database dictionary and the Java type system have distinct scopes, developers inevitably need to deal with bugs in SQL-to-Java type mappings. We propose an…

Databases · Computer Science 2026-05-05 Thomas James Kirz , Werner Dietl , Mattias Ulbrich , Stefanie Scherzinger

Static Application Security Testing (SAST) tools using taint analysis are widely viewed as providing higher-quality vulnerability detection results compared to traditional pattern-based approaches. However, performing static taint analysis…

Dependently typed programming languages allow sophisticated properties of data to be expressed within the type system. Of particular use in dependently typed programming are indexed types that refine data by computationally useful…

Logic in Computer Science · Computer Science 2015-07-01 Robert Atkey , Patricia Johann , Neil Ghani

Statically typed languages offer numerous benefits to developers, such as improved code quality and reduced runtime errors, but they also require the overhead of manual type annotations. To mitigate this burden, language designers have…

Software Engineering · Computer Science 2024-11-01 Samuel W. Flint , Ali M. Keshk , Robert Dyer , Hamid Bagheri