Thomas W. Reps
   HOME

TheInfoList



OR:

Thomas W. Reps (born 28 May 1956, United States) is an American
computer scientist A computer scientist is a scientist who specializes in the academic study of computer science. Computer scientists typically work on the theoretical side of computation. Although computer scientists can also focus their work and research on ...
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 The University of Wisconsin–Madison (University of Wisconsin, Wisconsin, UW, UW–Madison, or simply Madison) is a public land-grant research university in Madison, Wisconsin, United States. It was founded in 1848 when Wisconsin achieved st ...
, 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 In computer programming, program slicing is the computation of the set of program statements, the program slice, that may affect the values at some point of interest, referred to as a slicing criterion. Program slicing can be used in debugging t ...
,
data-flow analysis Data-flow analysis is a technique for gathering information about the possible set of values calculated at various points in a computer program. It forms the foundation for a wide variety of compiler optimizations and program verification techn ...
,
pointer analysis In computer science, pointer analysis, or points-to analysis, is a static code analysis technique that establishes which pointer (computer programming), pointers, or Heap (data structure), heap references, can point to which Variable (computer sci ...
,
model checking In computer science, model checking or property checking is a method for checking whether a finite-state model of a system meets a given specification (also known as correctness). This is typically associated with hardware or software syst ...
,
computer security Computer security (also cybersecurity, digital security, or information technology (IT) security) is a subdiscipline within the field of information security. It consists of the protection of computer software, systems and computer network, n ...
,
instrumentation (computer programming) In computer programming, instrumentation is the act of modifying software so that analysis can be performed on it. Generally, instrumentation either modifies source code or binary code. Execution environments like the JVM provide separate interfa ...
, language-based program-development environments, the use of program profiling in software testing, software renovation, incremental algorithms, and
attribute grammar An attribute grammar is a formal way to supplement a formal grammar with semantic information processing. Semantic information is stored in attributes associated with terminal and nonterminal symbols of the grammar. The values of attributes are t ...
s. Reps’s current work focuses on
static analysis Static analysis, static projection, or static scoring is a simplified analysis wherein the effect of an immediate change to a system is calculated without regard to the longer-term response of the system to that change. If the short-term effect i ...
of stripped (binary)
executable In computer science, executable code, an executable file, or an executable program, sometimes simply referred to as an executable or binary, causes a computer "to perform indicated tasks according to encoded instruction (computer science), in ...
s, and methods that—without relying on symbol-table or debugging information—recover
intermediate representation An intermediate representation (IR) is the data structure or code used internally by a compiler or virtual machine to represent source code. An IR is designed to be conducive to further processing, such as optimization and translation. A "good" ...
s that are similar to those the intermediate phases of a
compiler In computing, a compiler is a computer program that Translator (computing), translates computer code written in one programming language (the ''source'' language) into another language (the ''target'' language). The name "compiler" is primaril ...
creates for a program written in a
high-level language A high-level programming language is a programming language with strong abstraction from the details of the computer. In contrast to low-level programming languages, it may use natural language ''elements'', be easier to use, or may automate (or ...
. The goal is to provide a
disassembler A disassembler is a computer program that translates machine language into assembly language—the inverse operation to that of an assembler. The output of disassembly is typically formatted for human-readability rather than for input to an asse ...
or
decompiler A decompiler is a computer program that translates an executable file back into high-level source code. Unlike a compiler, which converts high-level code into machine code, a decompiler performs the reverse process. While disassemblers translate e ...
platform that an analyst can use to understand the workings of
COTS COTS may refer to: * Commercial off-the-shelf, products that are commercially available and can be bought "as is" * Commercial Orbital Transportation Services, a NASA program for delivery to the International Space Station by private companies * ...
components, plugins,
mobile code In distributed computing, code mobility is the ability for running Computer program, programs, code or objects to be data migration, migrated (or moved) from one machine or application to another. This is the process of moving mobile code across t ...
, and DLLs, as well as memory snapshots of
worms The World Register of Marine Species (WoRMS) is a taxonomic database that aims to provide an authoritative and comprehensive catalogue and list of names of marine organisms. Content The content of the registry is edited and maintained by scien ...
and virus-infected code. Reps was President and Co-founder of
GrammaTech GrammaTech is a cybersecurity research services company based in Ithaca, New York. The company was founded in 1988 as a technology spin-off of Cornell University. GrammaTech software research services include the following; software analysis, vuln ...
, Inc.


Awards and honors

Reps has been the recipient of the following awards: *
ACM Doctoral Dissertation Award The ACM Doctoral Dissertation Award is awarded annually by the Association for Computing Machinery to the authors of the best doctoral dissertations in computer science and computer engineering. The award is accompanied by a prize of US$20,000 a ...
(1983) *
National Science Foundation The U.S. National Science Foundation (NSF) is an Independent agencies of the United States government#Examples of independent agencies, independent agency of the Federal government of the United States, United States federal government that su ...
Presidential Young Investigator Award The Presidential Young Investigator Award (PYI) was awarded by the National Science Foundation of the United States Federal Government. The program operated from 1984 to 1991, and was replaced by the NSF Young Investigator (NYI) Awards and Preside ...
(1986) * Packard Fellowship (1988) *
Humboldt Research Award The Humboldt Research Award (), also known informally as the Humboldt Prize, is an award given by the Alexander von Humboldt Foundation of Germany to internationally renowned scientists and scholars who work outside of Germany in recognition of t ...
(2000) *
Guggenheim Fellowship Guggenheim Fellowships are Grant (money), grants that have been awarded annually since by the John Simon Guggenheim Memorial Foundation, endowed by the late Simon Guggenheim, Simon and Olga Hirsh Guggenheim. These awards are bestowed upon indiv ...
(2000) *Horwitz, S., Reps T., and Binkley, D., "Interprocedural slicing using dependence graphs" selected as one of the 50 most influential papers from ACM
PLDI The Programming Language Design and Implementation (PLDI) conference is an annual computer science conference organized by the Association for Computing Machinery (ACM) which focuses on the study of algorithms, programming languages and compiler ...
, 1979-99 (2002) *
Institute for Scientific Information The Institute for Scientific Information (ISI) was an academic publishing service, founded by Eugene Garfield in Philadelphia in 1956. ISI offered scientometric and bibliographic database services. Its specialty was citation indexing and analysis, ...
"Highly Cited Researcher"(2003) * European Association for Programming Languages and Systems Best-Paper Award at ETAPS (with G. Balakrishnan) (2004) * ACM Fellow (2005) * European Association for Programming Languages and Systems Best-Paper Award at ETAPS (with J. Lim) (2008) * ACM
SIGSOFT The Association for Computing Machinery's Special Interest Group on Software Engineering provides a forum for computing professionals from industry, government and academia to examine principles, practices, and new research results in software ...
Retrospective Impact Paper Award (with T. Teitelbaum) (2010) * ACM
SIGSOFT The Association for Computing Machinery's Special Interest Group on Software Engineering provides a forum for computing professionals from industry, government and academia to examine principles, practices, and new research results in software ...
Retrospective Impact Paper Award (with S. Horwitz, M. Sagiv, and G. Rosay) (2011) *Foreign member of
Academia Europaea The Academia Europaea is a pan-European Academy of humanities, letters, law, and sciences. The Academia was founded in 1988 as a functioning Europe-wide Academy that encompasses all fields of scholarly inquiry. It acts as co-ordinator of Europe ...
(2013) *Ranked 8th (citations) and 4th (field rating) on
Microsoft Academic Search Microsoft Academic Search (MAS) was a research project and academic search engine retired in 2012. It relaunched in 2016 as Microsoft Academic, which in turn was shut down in 2022. The content of the latter was allegedly incorporated into The L ...
's list of most-highly cited authors in the field of Programming Languages (2013), and 23rd (citations) and 13th (field rating) on its list of most-highly cited authors in the field of Software Engineering (2013) * ACM
SIGPLAN SIGPLAN is the Association for Computing Machinery's Special Interest Group (SIG) on programming languages. This SIG explores programming language concepts and tools, focusing on design, implementation, practice, and theory. Its members are progra ...
Programming Languages Achievement Award (2017)


References


External links


Website
{{DEFAULTSORT:Reps, Thomas W. 1956 births Living people Harvard University alumni Cornell University alumni American computer scientists Programming language researchers American academic journal editors Computer science writers American textbook writers American male non-fiction writers 2005 fellows of the Association for Computing Machinery University of Wisconsin–Madison faculty