Results 1 -
4 of
4
Towards Automatic Debugging of Computer Programs
, 1991
"... Programmers spend considerable time debugging code. Symbolic debuggers provide some help but the task still remains complex and difficult. Other than breakpoints and tracing, these tools provide little high level help. Programmers must perform many tasks manually that the tools could perform automat ..."
Abstract
-
Cited by 27 (3 self)
- Add to MetaCart
Programmers spend considerable time debugging code. Symbolic debuggers provide some help but the task still remains complex and difficult. Other than breakpoints and tracing, these tools provide little high level help. Programmers must perform many tasks manually that the tools could perform automatically, such as finding which statements in the program affect the value of an output variable under a given testcase, what was the value of a given variable when the control last reached a given program location, and what does the program do differently under one testcase it does not do under another. If the debugging tools provided explicit support for such tasks, the whole debugging process would be automated to a large extent.
The Text Editor sam
- SOFTWARE—PRACTICE AND EXPERIENCE,
, 1987
"... Sam is an interactive multi-file text editor intended for bitmap displays. A textual command language supplements the mouse-driven, cut-and-paste interface to make complex or repetitive editing tasks easy to specify. The language is characterized by the composition of regular expressions to describe ..."
Abstract
-
Cited by 14 (2 self)
- Add to MetaCart
Sam is an interactive multi-file text editor intended for bitmap displays. A textual command language supplements the mouse-driven, cut-and-paste interface to make complex or repetitive editing tasks easy to specify. The language is characterized by the composition of regular expressions to describe the structure of the text being modified. The treatment of files as a database, with changes logged as atomic transactions, guides the implementation and makes a general ‘undo’ mechanism straightforward.
Sam is implemented as two processes connected by a low-bandwidth stream, one process handling the display and the other the editing algorithms. Therefore it can run with the display process in a bitmap terminal and the editor on a local host, with both processes on a bitmap-equipped host, or with the display process in the terminal and the editor in a remote host. By suppressing the display process, it can even run without a bitmap terminal.
A Machine-Independent Debugger
- Software—Practice and Experience
, 1995
"... cdb is a simple, source-level debugger for ANSI C programs compiled by lcc, a retargetable C compiler. cdb is completely independent of its target architecture. This independence is achieved by embedding a small amount of itself --- a `nub' --- in the program to be debugged and by having the compil ..."
Abstract
-
Cited by 12 (3 self)
- Add to MetaCart
cdb is a simple, source-level debugger for ANSI C programs compiled by lcc, a retargetable C compiler. cdb is completely independent of its target architecture. This independence is achieved by embedding a small amount of itself --- a `nub' --- in the program to be debugged and by having the compiler emit machine-independent symbol-table data and related code. This paper describes the design of a nub interface for debugging, a target-independent implementation of this interface for cdb, and the implementation of cdb itself. When compared to platform-specific debuggers, cdb's implementation is minuscule: the nub, debugger, and associated communications routines take about 1500 lines of C, and fewer than 600 lines were added to lcc's front end to emit symbol tables and breakpoint hooks. All this code is machine independent. Introduction Source-level debuggers are notoriously machine-dependent programs. Most debuggers depend not only on the machine on which they run, but also depend...
Window Systems Should Be Transparent
- Comp. Sys., Summer 1988, Vol
, 1988
"... Commercial UNIX window systems are unsatisfactory. Because they are cumbersome and complicated, they are unsuitable companions for an operating system that is appreciated for its technical elegance. Their clumsy user interfaces clutter the view of the operating system. A good interface should clarif ..."
Abstract
-
Cited by 4 (4 self)
- Add to MetaCart
Commercial UNIX window systems are unsatisfactory. Because they are cumbersome and complicated, they are unsuitable companions for an operating system that is appreciated for its technical elegance. Their clumsy user interfaces clutter the view of the operating system. A good interface should clarify the view, not obscure it. Mux is one window system that is popular and therefore worth studying as an example of good design. (It is not commercially important because it runs only on obsolete hardware.) This paper uses mux as a case study to illustrate some principles that can help keep a user interface simple, comfortable, and unobtrusive. When designing their products, the purveyors of commercial window systems should keep these principles in mind. Introduction Mux is a window system with no icons, no help facility, no customizability, no noise, and only two menus (one with five entries, one with seven). The spareness of its user interface distinguishes it from commercial window system...

