scispace - formally typeset
Journal ArticleDOI

The Cornell program synthesizer: a syntax-directed programming environment

Tim Teitelbaum, +1 more
- 01 Sep 1981 - 
- Vol. 24, Iss: 9, pp 563-573
TLDR
The Cornell Program Synthesizer demands a structural perspective at all stages of program development and its separate features are unified by a common foundation: a grammar for the programming language.
Abstract
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. The Cornell Program Synthesizer demands a structural perspective at all stages of program development. Its separate features are unified by a common foundation: a grammar for the programming language. Its full-screen derivation-tree editor and syntax-directed diagnostic interpreter combine to make the Synthesizer a powerful and responsive interactive programming tool.

read more

Citations
More filters

Towards automatic debugging of computer programs

TL;DR: A new debugging paradigm is proposed that easily lends itself to automation and two tasks in this paradigm translate into techniques called dynamic program slicing and execution backtracking, which are discussed and how they can be automated.
Proceedings ArticleDOI

End-user software visualizations for fault localization

TL;DR: This paper describes several fault localization visualization techniques for spreadsheets and reports the results of a formative study---using tests created by end users---to investigate how these fault localization techniques compare.
Book ChapterDOI

Syntactic Software Merging

TL;DR: The fundamentals of merging are described, the known methods of software merging are surveyed, including a method based on programming-language syntax, and a set of tools that perform syntactic merging are discussed.
Patent

Machine vision methods for determining characteristics of an object using boundary points and bounding regions

TL;DR: In this paper, boundary points are used to identify regions in the image that correspond to edges of the object and labeling boundary points to denote which respective edges, if any, to which they belong based on the locations and orientations of those points and locations of the plural bounding boxes.
Proceedings ArticleDOI

Incremental Graph Computations: Doable and Undoable

TL;DR: It is shown that one can either reduce the incremental computations on big graphs to small data, or incrementalize batch algorithms by minimizing unnecessary recomputation by providing corresponding incremental algorithms.
References
More filters
Proceedings ArticleDOI

Closest-point problems

TL;DR: The purpose of this paper is to introduce a single geometric structure, called the Voronoi diagram, which can be constructed rapidly and contains all of the relevant proximity information in only linear space, and is used to obtain O(N log N) algorithms for most of the problems considered.
Journal ArticleDOI

Algorithms for Reporting and Counting Geometric Intersections

TL;DR: Algorithms that count the number of pairwise intersections among a set of N objects in the plane and algorithms that report all such intersections are given.
Proceedings ArticleDOI

A research center for augmenting human intellect

TL;DR: In this article, a multisponsor research center at Stanford Research Institute in man-computer interaction is described, where the authors describe a multiscale multi-modal system.
Proceedings ArticleDOI

Geometric intersection problems

TL;DR: An O(N log N) algorithm is given to determine whether any two intersect and use it to detect whether two simple plane polygons intersect and to show that the Simplex method is not optimal.
Journal ArticleDOI

An Optimal Worst Case Algorithm for Reporting Intersections of Rectangles

TL;DR: This paper investigates the problem of reporting all intersecting pairs in a set of n rectilinearly oriented rectangles in the plane and describes an algorithm that solves this problem in worst case time proportional to n lg n + k, where k is the number of interesecting pairs found.