Thomas W. Reps | |
---|---|
Born | May 28, 1956 |
Alma mater |
Harvard University, B.A., cum laude, 1977 Cornell University, M.S., 1982, Ph.D., 1985 |
Scientific career | |
Institutions |
University of Wisconsin–Madison (1985-present) GrammaTech (1988-present) Institut National de Recherche en Informatique et en Automatique (INRIA) in Rocquencourt, France (1982-83) University of Copenhagen (1993-94) Consiglio Nazionale delle Ricerche in Pisa, Italy (2000-2001) University Paris Diderot (2007-2008) |
Thesis | Generating Language-Based Environments (1982) |
Doctoral advisor | Tim Teitelbaum |
Doctoral students | Wuu Yang Phillip Pfeiffer David Binkley G. Ramalingan Manuvir Das Michael Sif Zichen Xu David Melski Alexey Loginov Denis Gopan Gogul Balakrishnan Akash Lal Nicholas Kidd Junghee Lim Evan Driscoll Aditya Thakur |
Thomas W. Reps (born 28 May 1956, United States) is an American computer scientist known for his contributions to automatic program analysis. Dr. Reps is Professor of Computer Science in the Computer Sciences Department of the University of Wisconsin–Madison, which he joined in 1985. Reps is the author or co-author of four books and more than one hundred seventy-five papers describing his research. His work has covered a wide variety of topics, including program slicing, data-flow analysis, pointer analysis, model checking, computer security, instrumentation (computer programming), language-based program-development environments, the use of program profiling in software testing, software renovation, incremental algorithms, and attribute grammars.
Reps’s current work focuses on static analysis of stripped (binary) executables, and methods that—without relying on symbol-table or debugging information—recover intermediate representations that are similar to those the intermediate phases of a compiler creates for a program written in a high-level language. The goal is to provide a disassembler or decompiler platform that an analyst can use to understand the workings of COTS components, plugins, mobile code, and DLLs, as well as memory snapshots of worms and virus-infected code.