Use-after-free vulnerabilities are rapidly growing in popularity, especially for exploiting web browsers. Use-afterfree (and double-free) vulnerabilities are caused by a program o...
Juan Caballero, Gustavo Grieco, Mark Marron, Anton...
To avoid receiving incorrect arguments, a method specifies the expected type of each formal parameter. However, some parameter types are too general and have subtypes that the me...
Multithreaded programs are notoriously prone to unintended interference between concurrent threads. To address this problem, we argue that yield annotations in the source code sho...
Jaeheon Yi, Tim Disney, Stephen N. Freund, Cormac ...
Identifying and fixing defects is a crucial and expensive part of the software lifecycle. Measuring the quality of bug-fixing patches is a difficult task that affects both func...
Over the last decade, there has been a significant increase in the number and sophistication of malware-related attacks and infections. Many detection techniques have been propos...
Davide Canali, Andrea Lanzi, Davide Balzarotti, Ch...
Swarm testing is a novel and inexpensive way to improve the diversity of test cases generated during random testing. Increased diversity leads to improved coverage and fault detec...
Alex Groce, Chaoqiang Zhang, Eric Eide, Yang Chen,...
Since web applications are easily accessible, and often store a large amount of sensitive user information, they are a common target for attackers. In particular, attacks that foc...
Muath Alkhalaf, Shauvik Roy Choudhary, Mattia Fazz...
To keep a Graphical User Interface (GUI) responsive and active, a GUI application often has a main UI thread (or event dispatching thread) and spawns separate threads to handle le...
We introduce the concept of “residual investigation” for program analysis. A residual investigation is a dynamic check installed as a result of running a static analysis that ...
Kaituo Li, Christoph Reichenbach, Christoph Csalln...