Tim Teitelbaum
   HOME

TheInfoList



OR:

(Ray) Tim Teitelbaum (born April 12, 1943, United States) is an American
computer scientist A computer scientist is a person who is trained in the academic study of computer science. Computer scientists typically work on the theoretical side of computation, as opposed to the hardware side on which computer engineers mainly focus (al ...
known for his early work on integrated development environments (IDEs), syntax-directed editing, and
incremental computation Incremental computing, also known as incremental computation, is a software feature which, whenever a piece of data changes, attempts to save time by only recomputing those outputs which depend on the changed data. When incremental computing is su ...
. He is Professor Emeritus at Cornell University. As an educator and faculty member of the Cornell University Computer Science Department since 1973, he was recognized for his large-scale teaching of introductory programming, and for his mentoring of highly successful graduate students. As a businessman, he is known for having co-founded
GrammaTech GrammaTech is a software-development tools vendor based in Bethesda, Maryland with a research center based in Ithaca, New York. The company was founded in 1988 as a technology spin-off of Cornell University. GrammaTech is a provider of application ...
, Inc. and for having been its sole CEO from 1988 to 2019.


Education

Teitelbaum was educated at Massachusetts Institute of Technology and
Carnegie Mellon University Carnegie Mellon University (CMU) is a private research university in Pittsburgh, Pennsylvania. One of its predecessors was established in 1900 by Andrew Carnegie as the Carnegie Technical Schools; it became the Carnegie Institute of Technology ...
.


Career and research

In 1978, Teitelbaum created the Cornell Program Synthesizer, one of the seminal systems that demonstrated the power of tightly integrating a collection of program development tools, all deeply knowledgeable about a programming language and its semantics, into one unified framework. The Cornell Program Synthesizer used PL/CS, a variant of the
PL/C PL/C is an instructional dialect of the programming language PL/I, developed at the Department of Computer Science of Cornell University in the early 1970s in an effort headed by Professor Richard W. Conway and graduate student Thomas R. Wilcox ...
language dialect developed at Cornell. Teitelbaum's more than 45 lectures and demonstrations of this early IDE during 1979-82, as well as the credo of his 1981 paper co-authored with graduate student Thomas Reps, asserted:
Programs are not text; they are hierarchical compositions of computational structures and should be edited, executed, and debugged in an environment that consistently acknowledges and reinforces this viewpoint.
This was followed in 1984 by the Synthesizer Generator, also done in collaboration with Reps, which allowed a Program Synthesizer to be generated for different programming languages based on supplying attribute grammars. Motivated by the importance of immediate feedback in interactive systems such as IDEs, Teitelbaum’s research in the 1980s and 1990s focused on the problem of incremental computation:
Given a program P written in language L, and the result of executing P on input x, how can one efficiently determine the result of running P on input x’, where the difference between x and x’ is some small increment x’-x.
In a body of work with his graduate students, Teitelbaum investigated this problem for a range of languages L that included attribute grammars, SQL, first-order functional languages, and the
lambda calculus Lambda calculus (also written as ''λ''-calculus) is a formal system in mathematical logic for expressing computation based on function abstraction and application using variable binding and substitution. It is a universal model of computation ...
. In addition to incremental evaluation methods, the work also included program
transformation Transformation may refer to: Science and mathematics In biology and medicine * Metamorphosis, the biological process of changing physical form after birth or hatching * Malignant transformation, the process of cells becoming cancerous * Trans ...
methods, i.e., the automatic derivation from P of an incremental program P’, where executing P’ on previous result P(x), increment x’-x, and auxiliary information retained from previous executions, efficiently performs the same computation as executing P on input x’. Teitelbaum's work at
GrammaTech GrammaTech is a software-development tools vendor based in Bethesda, Maryland with a research center based in Ithaca, New York. The company was founded in 1988 as a technology spin-off of Cornell University. GrammaTech is a provider of application ...
aimed at the design and implementation of tools that assist in making software safer and more secure. Techniques include static program analysis and dynamic program analysis of both source code and machine code.


Awards and honors

Teitelbaum was co-recipient of the
Association for Computing Machinery The Association for Computing Machinery (ACM) is a US-based international learned society for computing. It was founded in 1947 and is the world's largest scientific and educational computing society. The ACM is a non-profit professional member ...
SIGSOFT Retrospective Impact Paper Award (2010) for his 1984 paper co-authored with Thomas Reps on the Synthesizer Generator.


References

{{DEFAULTSORT:Teitelbaum, Tim 1943 births Living people Carnegie Mellon University alumni Massachusetts Institute of Technology alumni American computer scientists Programming language researchers Computer science writers American textbook writers American male non-fiction writers Cornell University faculty