VLDB 2026 Research / reviewers in the wild / expert
Christian S. Collberg
dblp:c/ChristianSCollberg
· DBLP profile ↗
33ranked-venue papers
18as first author
3since 2021 · last 2026
0000-0003-1301-7939ORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 14 · 9 first-author · 3 since 2021Security and privacy · 10 · 3 first-authorHuman-computer interaction and ubiquitous computing · 3 · 2 first-authorTheory of computation · 2 · 2 first-authorArtificial intelligence and machine learning · 1 · 1 first-authorSystems, architecture and hardware · 1 · 1 first-authorDatabases, data management, data science and information retrieval · 1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2026 | Empirical studies on adversarial reverse engineering with students
Tab (Tianyi) Zhang, Bjorn De Sutter, Christian S. Collberg, Bart Coppens 0001, Waleed Mebane |
Empir. Softw. Eng. | 3 |
| 2025 | reAnalyst: Scalable annotation of reverse engineering activities
Tab (Tianyi) Zhang, Claire Taylor, Bart Coppens 0001, Waleed Mebane, Christian S. Collberg, Bjorn De Sutter |
J. Syst. Softw. | 5 |
| 2024 | Control-Flow Deobfuscation using Trace-Informed Compositional Program SynthesisabstractCode deobfuscation, which attempts to simplify code that has been intentionally obfuscated to prevent understanding, is a critical technique for downstream security analysis tasks like malware detection. While there has been significant prior work on code deobfuscation, most techniques either do not handle control flow obfuscations that modify control flow or they target specific classes of control flow obfuscations, making them unsuitable for handling new types of obfuscations or combinations of existing ones. In this paper, we study a new deobfuscation technique that is based on program synthesis and that can handle a broad class of control flow obfuscations. Given an obfuscated program P , our approach aims to synthesize a smallest program that is a control-flow reduction of P and that is semantically equivalent. Since our method does not assume knowledge about the types of obfuscations that have been applied to the original program, the underlying synthesis problem ends up being very challenging. To address this challenge, we propose a novel trace-informed compositional synthesis algorithm that leverages hints present in dynamic traces of the obfuscated program to decompose the synthesis problem into a set of simpler subproblems. In particular, we show how dynamic traces can be useful for inferring a suitable control-flow skeleton of the deobfuscated program and performing independent synthesis of each basic block. We have implemented this approach in a tool called Chisel and evaluate it on 546 benchmarks that have been obfuscated using combinations of six different obfuscation techniques. Our evaluation shows that our approach is effective and that it produces code that is almost identical (modulo variable renaming) to the original (non-obfuscated) program in 86% of cases. Our evaluation also shows that Chisel significantly outperforms existing techniques. Benjamin Mariano, Ziteng Wang 0001, Shankara Pailoor, Christian S. Collberg, Isil Dillig |
Proc. ACM Program. Lang. | 4 |
| 2018 | Code Obfuscation: Why is This Still a Thing?abstractEarly developments in code obfuscation were chiefly motivated by the needs of Digital Rights Management (DRM). Other suggested applications included intellectual property protection of software and code diversification to combat the monoculture problem of operating systems. Christian S. Collberg |
CODASPY | 1 |
| 2018 | Probabilistic Obfuscation Through Covert ChannelsabstractThis paper presents a program obfuscation framework that uses covert channels through the program's execution environment to obfuscate information flow through the program. Unlike prior works on obfuscation, the use of covert channels removes visible information flows from the computation of the program and reroutes them through the program's runtime system and/or the operating system. This renders these information flows, and the corresponding control and data dependencies, invisible to program analysis tools such as symbolic execution engines. Additionally, we present the idea of probabilistic obfuscation which uses imperfect covert channels to leak information with some probabilistic guarantees. Experimental evaluation of our approach against state of the art detection and analysis techniques show the engines are not well-equipped to handle these obfuscations, particularly those of the probabilistic variety. Jon Stephens, Babak Yadegari, Christian S. Collberg, Saumya K. Debray, Carlos Scheidegger |
EuroS&P | 3 |
| 2017 | Predicting the Resilience of Obfuscated Code Against Symbolic Execution Attacks via Machine Learning
Sebastian Banescu, Christian S. Collberg, Alexander Pretschner |
USENIX Security Symposium | 2 |
| 2016 | Code obfuscation against symbolic execution attacks
Sebastian Banescu, Christian S. Collberg, Vijay Ganesh 0001, Zack Newsham, Alexander Pretschner |
ACSAC | 2 |
| 2015 | A Possible Solution for Privacy Preserving Cloud Data StorageabstractDespite the economic advantages of cloud data storage, many corporations have not yet migrated to this technology. While corporations in the financial sector cite data security as a reason, corporations in other sectors cite privacy concerns for this reluctance. In this paper, we propose a possible solution for this problem inspired by the HIPAA safe harbor methodology for data anonymization. The proposed technique involves using a hash function that uniquely identifies the data and then splitting data across multiple cloud providers. We propose that such a "Good Enough" approach to privacy-preserving cloud data storage is both technologically feasible and financially advantageous. Following this approach addresses concerns about privacy harms resulting from accidental or deliberate data spills from cloud providers. The "Good Enough" method will enable firms to move their data into the cloud without incurring privacy risks, enabling them to realize the economic advantages provided by the pay-per-use model of cloud data storage. Mithun Paul, Christian S. Collberg, Derek E. Bambauer |
IC2E | 2 |
| 2012 | Distributed application tamper detection via continuous software updatesabstractWe present a new general technique for protecting clients in distributed systems against Remote Man-at-the-end (R-MATE) attacks. Such attacks occur in settings where an adversary has physical access to an untrusted client device and can obtain an advantage from tampering with the hardware itself or the software it contains. Christian S. Collberg, Sam Martin, Jonathan Myers, Jasvir Nagra |
ACSAC | 1 |
| 2009 | A semi-dynamic multiple watermarking schemefor java applicationsabstractSoftware protection and security has been a more and more important issue. In order to prevent software from unauthorized use and modification, a great many techniques have been proposed and developed. In this paper, we address this issue through a prevention technique called software watermarking, and we propose a novel software watermarking scheme, which can embed multiple non-interfering watermarks into the same program. Unlike published schemes, this scheme encodes the watermark into mapping functions and then embeds the mapping codes, which are generated from these functions, into the program at the articulation points of its control flow graph. The extraction in this scheme, which is based on dynamically loading a reconstructed program to recover the watermark, is also a novel approach to the software watermarking field. Experimental results indicate that the size and performance overheads caused by this scheme can keep steady. Changjiang Zhang, Jianmin Wang 0001, Clark D. Thomborson, Chaokun Wang, Christian S. Collberg |
Digital Rights Management Workshop | 5 |
| 2009 | Trading-off security and performance in barrier slicing for remote software entrusting
Mariano Ceccato, Mila Dalla Preda, Jasvir Nagra, Christian S. Collberg, Paolo Tonella |
Autom. Softw. Eng. | 4 |
| 2009 | More on graph theoretic software watermarks: Implementation, analysis, and attacks
Christian S. Collberg, Andrew Huntwork, Edward Carter, Gregg M. Townsend, Michael Stepp |
Inf. Softw. Technol. | 1 |
| 2007 | An empirical study of Java bytecode programsabstractAbstract We present a study of the static structure of real Java bytecode programs. A total of 1132 Java jar‐files were collected from the Internet and analyzed. In addition to simple counts (number of methods per class, number of bytecode instructions per method, etc.), structural metrics such as the complexity of control‐flow and inheritance graphs were computed. We believe this study will be valuable in the design of future programming languages and virtual machine instruction sets, as well as in the efficient implementation of compilers and other language processors. Copyright © 2006 John Wiley & Sons, Ltd. Christian S. Collberg, Ginger Myles, Michael Stepp |
Softw. Pract. Exp. | 1 |
| 2007 | Dynamic graph-based software fingerprintingabstractFingerprinting embeds a secret message into a cover message. In media fingerprinting, the secret is usually a copyright notice and the cover a digital image. Fingerprinting an object discourages intellectual property theft, or when such theft has occurred, allows us to prove ownership. The Software Fingerprinting problem can be described as follows. Embed a structure W into a program P such that: W can be reliably located and extracted from P even after P has been subjected to code transformations such as translation, optimization and obfuscation; W is stealthy; W has a high data rate; embedding W into P does not adversely affect the performance of P ; and W has a mathematical property that allows us to argue that its presence in P is the result of deliberate actions. In this article, we describe a software fingerprinting technique in which a dynamic graph fingerprint is stored in the execution state of a program. Because of the hardness of pointer alias analysis such fingerprints are difficult to attack automatically. Christian S. Collberg, Clark D. Thomborson, Gregg M. Townsend |
ACM Trans. Program. Lang. Syst. | 1 |
| 2005 | SLINKY: Static Linking Reloaded
Christian S. Collberg, John H. Hartman, Sridivya Babu, Sharath K. Udupa |
USENIX ATC, General Track | 1 |
| 2005 | Protecting Against Unexpected System Calls
Cullen Linn, Mohan Rajagopalan, Scott Baker, Christian S. Collberg, Saumya K. Debray, John H. Hartman |
USENIX Security Symposium | 4 |
| 2005 | Software watermarking in the frequency domain: Implementation, analysis, and attacksabstractIn this paper we analyze the SHKQ software watermarking algorithm, originally due to Stern, Hachez, Koeune and Quisquater. The algorithm has been implemented within the SANDMARK framework, a system designed to allow effective study of software protec Christian S. Collberg, Tapas Ranjan Sahoo |
J. Comput. Secur. | 1 |
| 2005 | The evaluation of two software watermarking algorithmsabstractAbstract In this paper we analyze the effectiveness of two different software watermarking algorithms. The first is an algorithm proposed by Akito Monden et al. and the second an algorithm proposed by Robert L. Davidson and Nathan Myhrvold of the Microsoft Corporation. We have implemented these techniques within the SANDMARK framework, a system designed to study the effectiveness of software protection algorithms on Java bytecode. To the best of our knowledge this is the first implementation and empirical evaluation of these algorithms with respect to a set of properties such as bit‐rate, stealth, and resilience to attack. We demonstrate through the use of the SANDMARK framework that both of these algorithms have a high bit‐rate but are unstealthy and easy to attack. Copyright © 2005 John Wiley & Sons, Ltd. Ginger Myles, Christian S. Collberg, Zachary V. Heidepriem, Armand Navabi |
Softw. Pract. Exp. | 2 |
| 2004 | The Obfuscation Executive
Kelly Heffner, Christian S. Collberg |
ISC | 2 |
| 2004 | Detecting Software Theft via Whole Program Path Birthmarks
Ginger Myles, Christian S. Collberg |
ISC | 2 |
| 2004 | Dynamic path-based software watermarkingabstractSoftware watermarking is a tool used to combat software piracy by embedding identifying information into a program. Most existing proposals for software watermarking have the shortcoming that the mark can be destroyed via fairly straightforward semantics-preserving code transformations. This paper introduces path-based watermarking, a new approach to software watermarking based on the dynamic branching behavior of programs. The advantage of this technique is that error-correcting and tamper-proofing techniques can be used to make path-based watermarks resilient against a wide variety of attacks. Experimental results, using both Java bytecode and IA-32 native code, indicate that even relatively large watermarks can be embedded into programs at modest cost. Christian S. Collberg, Edward Carter, Saumya K. Debray, Andrew Huntwork, John D. Kececioglu, Cullen Linn, Michael Stepp |
PLDI | 1 |
| 2004 | AlgoVista: an algorithmic search tool in an educational settingabstractA?goVista is a web-based search engine that assists programmers to find algorithms and implementations that solve specific problems. The search engine is not keyword based but rather requires users to provide (input ? output) samples that describe the behavior of their needed algorithm. The system is easy to use. To search for a particular algorithm or classify a combinatorial structure a user simply draws the query in a drawing pane on a web browser. The result of the search is a list of links to web resources describing or providing implementations of the algorithm.A?goVista has many interesting applications in an educational setting. The search engine can help research students classify obscure problems and locate algorithms that would otherwise be hard to find in textbooks. Students can also add calls in their own programs to A?goVista's database of executable problem specifications in order to dynamically check the correctness of their programs. Finally, instructors can use A?goVista to set novel assignments in algorithms and data structures classes.This paper briefly describes A?goVista and reports on its use in two algorithms and theory classes, one at the undergraduate and one at the graduate level. Christian S. Collberg, Stephen G. Kobourov, Suzanne Westbrook |
SIGCSE | 1 |
| 2004 | Tamper Detection in Audit Logs
Richard T. Snodgrass, Shilong (Stanley) Yao, Christian S. Collberg |
VLDB | 3 |
| 2004 | Problem identification using program checking
Christian S. Collberg, Todd A. Proebsting |
Discret. Appl. Math. | 1 |
| 2003 | TetraTetris: A Study of Multi-User Touch-Based Interaction Using DiamondTouch
Stephen G. Kobourov, Christian S. Collberg, Steven Kobes, Ben Smith, S. Trush, Gary V. Yee |
INTERACT | 2 |
| 2003 | Graph-Based Approaches to Software Watermarking
Christian S. Collberg, Stephen G. Kobourov, Edward Carter, Clark D. Thomborson |
WG | 1 |
| 2002 | A Fuzzy Visual Query Language for a Domain-Specific Web Search Engine
Christian S. Collberg |
Diagrams | 1 |
| 2002 | AlambdagoVista: a tool to enhance algorithm design and understandingabstractAλgoVista is a web-based search engine that assists programmers to and algorithms and implementations that solve specific problems.The search engine is not keyword based but rather requires users to provide (input = ?output)samples that describe the behavior of their needed algorithm. AλgoVista is based on a technique known as program check-ing pioneered in the last decade by Manuel Blum [1 ]as an alternative to program verification and testing.Program checking extends programs with checkers to allow them to verify the correctness of the results they compute. Christian S. Collberg, Stephen G. Kobourov, Jessica Miller, Suzanne Westbrook |
ITiCSE | 1 |
| 2002 | Automatic derivation of compiler machine descriptionsabstractWe describe a method designed to significantly reduce the effort required to retarget a compiler to a new architecture, while at the same time producing fast and effective compilers. The basic idea is to use the native C compiler at compiler construction time to discover architectural features of the new architecture. From this information a formal machine description is produced. Given this machine description, a native code-generator can be generated by a back-end generator such as BEG or burg. A prototype automatic Architecture Discovery Tool (called ADT) has been implemented. This tool is completely automatic and requires minimal input from the user. Given the Internet address of the target machine and the command-lines by which the native C compiler, assembler, and linker are invoked, ADT will generate a BEG machine specification containing the register set, addressing modes, instruction set, and instruction timings for the architecture. The current version of ADT is general enough to produce machine descriptions for the integer instruction sets of common RISC and CISC architectures such as the Sun SPARC, Digital Alpha, MIPS, DEC VAX, and Intel x86. Christian S. Collberg |
ACM Trans. Program. Lang. Syst. | 1 |
| 2002 | Watermarking, Tamper-Proofing, and Obfuscation-Tools for Software ProtectionabstractWe identify three types of attack on the intellectual property contained in software and three corresponding technical defenses. A defense against reverse engineering is obfuscation, a process that renders software unintelligible but still functional. A defense against software piracy is watermarking, a process that makes it possible to determine the origin of software. A defense against tampering is tamper-proofing, so that unauthorized modifications to software (for example, to remove a watermark) will result in nonfunctional code. We briefly survey the available technology for each type of defense. Christian S. Collberg, Clark D. Thomborson |
IEEE Trans. Software Eng. | 1 |
| 1999 | Software Watermarking: Models and Dynamic EmbeddingsabstractWatermarking embeds a secret message into a cover message. In media watermarking the secret is usually a copyright notice and the cover a digital image. Watermarking an object discourages intellectual property theft, or when such theft has occurred, allows us to prove ownership.The Software Watermarking problem can be described as follows. Embed a structure W into a program P such that: W can be reliably located and extracted from P even after P has been subjected to code transformations such as translation, optimization and obfuscation; W is stealthy; W has a high data rate; embedding W into P does not adversely affect the performance of P; and W has a mathematical property that allows us to argue that its presence in P is the result of deliberate actions.In the first part of the paper we construct an informal taxonomy of software watermarking techniques. In the second part we formalize these results. Finally, we propose a new software watermarking technique in which a dynamic graphic watermark is stored in the execution state of a program. Christian S. Collberg, Clark D. Thomborson |
POPL | 1 |
| 1998 | Manufacturing Cheap, Resilient, and Stealthy Opaque ConstructsabstractIt has become common to distribute software in forms that are isomorphic to the original source code. An important example is Java bytecode. Since such codes are easy to decompile, they increase the risk of malicious reverse engineering attacks.In this paper we describe the design of a Java code obfuscator, a tool which - through the application of code transformations - converts a Java program into an equivalent one that is more difficult to reverse engineer.We describe a number of transformations which obfuscate control-flow. Transformations are evaluated with respect to potency (To what degree is a human reader confused?), resilience (How well are automatic deobfuscation attacks resisted?), cost (How much time/space overhead is added?), and stealth (How well does obfuscated code blend in with the original code?).The resilience of many control-altering transformations rely on the resilience of opaque predicates. These are boolean valued expressions whose values are known to the obfuscator but difficult to determine for an automatic deobfuscator. We show how to construct resilient, cheap, and stealthy opaque predicates based on the intractability of certain static analysis problems such as alias analysis. Christian S. Collberg, Clark D. Thomborson, Douglas Low |
POPL | 1 |
| 1997 | Reverse Interpretation + Mutation Analysis = Automatic RetargetingabstractThere are three popular methods for constructing highly retargetable compilers: (1) the compiler emits abstract machine code which is interpreted at run-time, (2) the compiler emits C code which is subsequently compiled to machine code by the native C compiler, or (3) the compiler's code-generator is generated by a back-end generator from a formal machine description produced by the compiler writer.These methods incur high costs at run-time, compile-time, or compiler-construction time, respectively.In this paper we will describe a novel method which promises to significantly reduce the effort required to retarget a compiler to a new architecture, while at the same time producing fast and effective compilers. The basic idea is to use the native C compiler at compiler construction time to discover architectural features of the new architecture. From this information a formal machine description is produced. Given this machine description, a native code-generator can be generated by a back-end generator such as BEG or burg.A prototype Automatic Architecture Discovery Unit has been implemented. The current version is general enough to produce machine descriptions for the integer instruction sets of common RISC and CISC architectures such as the Sun SPARC, Digital Alpha, MIPS, DEC VAX, and Intel x86. The tool is completely automatic and requires minimal input from the user: principally, the user needs to provide the internet address of the target machine and the command-lines by which the C compiler, assembler, and linker are invoked. Christian S. Collberg |
PLDI | 1 |