We detect design patterns in legacy code combining static and dynamic analyses. The analyses do not depend on coding or naming conventions. We classify potential pattern instances...
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...
Verifying that a piece of software has no bugs means proving that it has certain desired properties, such as an array index not taking values outside certain Abstract interpretati...
Multithreaded concurrent programs often exhibit bugs due to unintended interferences among the concurrent threads. Such bugs are often hard to reproduce because they typically hap...
Message passing is a very popular style of parallel programming, used in a wide variety of applications and supported by many APIs, such as BSD sockets, MPI and PVM. Its importance...