38 citations found. Retrieving documents...
Charles Rich and Richard C. Waters. The Programmer's Apprentice: A research overview. IEEE Computer, 21(11):10-25, November 1988.

 Home/Search   Document Not in Database   Summary   Related Articles   Check  

This paper is cited in the following contexts:

First 50 documents

Developing Component Architecture for Telecommunication Systems - Hyung Ho Kim   (Correct)

....Note that it requires insight and domain knowledge to select an appropriate level of granularity for components and, thus, it is infeasible to automatically choose a palatable granularity of components. The division of labor between the automated framework and developers should be balanced[8]. That is, the role of the proposed framework must be supportive: it helps developers to search the design space in the disciplined way and defers decision to them. Since it increases the possibility of right selection, the fact A relation is said to be a partial order when it is re exive, ....

C. Rich and R. Waters. The programmer's apprentice: A research overview. IEEE Computer, Nov. 1988.


Structuring Agents for Adaptation - Van Splunter, Wijngaards, Brazier (2003)   (Correct)

....In their approach, a logical description of processes is modularised. This technique has shown to be useful, on the one hand, for grouping functionality and tasks into components and co ordination patterns, and on the other hand for grouping needs for adaptation. The Programmer s Apprentice [38], from the same period, aims to provide intelligent assistance in all phases of the programming task: an interactive tool that may alleviate a programmer of routine tasks. By using clichs , patterns of code, the system can understand parts of code. This work is not based on components, but on ....

Rich, C., Water. R.C.: The Programmer's Apprentice: A research overview. IEEE Computer


IEEE TRANSACTIONS ON SOF'rVVARE ENGINEERING, VOL. 28, NO.. - Method For Concurrent   (Correct)

....assistance for detailed design. Most such methods assume the existence of one or more architectural designs. The assistance then focuses on locating and modifying, or on creating, components that can be fitted into one of the existing architectures. In most cases, detail design assistants [42] [43], 44] 45] 46] operate in a narrow domain. Automated assistants of this type might be useful once a designer has already developed a system architecture. 3.3 Automating Software Design Methods Some researchers attempt to provide automated support for familiar and well established design ....

C. Rich and R.C. Waters, "The Programmer's Apprentice: A Research Overview," Computer, pp. 10-25, Nov. 1988.


Using Design Patterns and Constraints to Automate the.. - Gueheneuc, Albin-Amiot (2001)   (1 citation)  (Correct)

....3.1: The problem and its hypotheses Many studies [10, 13, 20, 38, 40] address the problems of automating the detection and the correction of intra class design defects. Few studies aim at the automation of both the detection and correction of inter class design defects. Inter class design defects [10, 32, 39] appear in the architecture of the application, their detection requires understanding the software architecture. Inter class design defects are di#cult to define independently of the application and its context (foreseen evolution, life span, cost, A same architecture may be valid for an ....

C. Rich and R. C. Waters. The programmer's apprentice: A research overview. IEEE Computer, 21(11):10--25, November 1988.


Supporting Program Comprehension Using Semantic and.. - Maletic, Marcus (2001)   (3 citations)  (Correct)

.... structural aspect of the source code (e.g. programming language syntax) and the nature of the problem domain (e.g. comments, documentation, and variable names) to extract the information needed to fully understand any part of a software system [7, 13, 31, 42, 45] A number of tools and methods [1, 7, 8, 20, 27, 30, 41] have been investigated to address both of these aspects. In general, structural information is easy to extract, but the real problem is on how to utilize that information properly. Semantic information, on the other hand, is much more difficult to extract. Knowledge based systems, of one form or ....

Rich, C. and Waters, R. C., "The Programmer's Apprentice: A Research Overview", IEEE Computer, vol. 21, no. 11, November 1988, pp. 12-25.


Improving UML Designs Using Automatic Design Pattern Detection - Bergenti, Poggi (2000)   (1 citation)  (Correct)

....because they represent general purpose solution that (i) generative systems can adapt to specific problems and (ii) critiquing systems can use to come to a better comprehension of the existing artifacts. The most famous automated assistant for software engineering is the Programmer s Apprentice [15,16] developed at the MIT Artificial Intelligence Laboratory by Rich and Waters. 4 This system uses a knowledge base about software design and implementation to detect errors made by the programmer or to select implementation choices automatically. This knowledge base is expressed in terms of ....

C. Rich and R. Waters, The Programmer's Apprentice: A Research Overview. IEEE Computer, Vol. 21, No. 11, 1988, 10-25.


ART: An Architectural Reverse Engineering Environment - Fiutem, Antoniol, Tonella..   (Correct)

....presented in this paper is a practical attempt to apply methods and techniques from the program comprehension research area to the problem of understanding the architecture of software systems. The program comprehension research area was greatly influenced by the Programmer s Apprentice project [39]. In [40] programming clich es are represented using a flow graph based representation scheme. Will s GRASPR[46] uses an efficient chart based graph parsing algorithm for clich es recognition. Information about the program s control flow, recursion and data aggregation is captured by adding ....

C. Rich and R. Waters. The programmer's apprentice: A research overview. IEEE Computer, Nov. 1988.


Reusing Software Design Expertise - Mills (1994)   (Correct)

....reported in the literature by Waters and Tan. WATE91] Unlike the automated assistants discussed up to this point, the DA aims to refine an already existing high level design into a detailed, program design. The DA works within the context of a larger system, known as the Programmer s Apprentice. [RICH88] 39 The Programmer s Apprentice intends to support all phases of software development from requirements analysis through software testing. RICH88a] The apprentice and the programmer communicate through a body of shared knowledge about programming techniques. This knowledge is stored in a ....

C. Rich and R.C. Waters, "The Programmer's Apprentice: A Research Overview," Computer, Vol. 21, No. 11, November 1988, pp. 10-25.


Applying Case-Based Reasoning to Code Understanding and.. - Broad, Filer   (Correct)

....by a very distinctive equation which serves as a beacon for the bottom up recognition algorithm to spot. Clichs are naturally also useful for code generation, as overlays suggest how given specification clichs can be implemented. Clichs are used in this way in the Programmer s Apprentice [36,37], a semi automatic programming environment. The underlying philosophy is the same as that of CBR, but the user has to tell the system which clich to use and how to adapt it the system is merely carrying out mechanical transformations, whereas a CBR system should be able to decide for itself ....

Rich C, Waters RC. The Programmer's Apprentice: A research overview. IEEE Computer 1988; 21(11):10-25


Specifying Embedded Systems with Statecharts and Z: An.. - Grieskamp, Heisel, Dörr (1998)   (7 citations)  (Correct)

....more specialised in their application than agendas, the main difference is that design patterns and architectural styles do not describe processes but products. A prominent example of knowledge based software engineering, whose aims closely resemble our own, is the Programmer s Apprentice project [38]. There, programming knowledge is represented by clich es, which are prototypical examples of the artifacts in question. The programming task is performed by inspection i.e. by choosing an appropriate clich e and customising it. In comparison to clich es, agendas are more process oriented. ....

Charles Rich and Richard C. Waters. The programmer's apprentice: A research overview. IEEE Computer, pages 10--25, November 1988.


Distributed Real-Time Systems: A Design Environment - Merabti (1992)   (Correct)

....somewhat by the provision of techniques for retrieving and modifying requirements information for document production. A different angle of approach, to the requirements problem, is taken by the Requirements Apprentice (RA) Reubenstein,91] This a part of a large project undertaken at MIT [Rich,88] and still on going, to provide a software development environment. KBRA was a product development that was heavily influenced by this work. The Requirements Apprentice assists a human analyst in the creation and modification of software requirements. The premise of this project is that it will ....

.... of human operators in many real time monitoring and control situations as highlighted by the survey of Dvorak [Dvorak,87] We have also seen earlier the interest of researchers in using knowledge based systems in the support of the process of design of artifacts as well as software construction [Rich,88] 135 Another effort, which is rather more pertinent to this work, is that of Esterline et al. Esterline,89] who discuss design theory and AI support for such an activity. They suggest the following points which should lead to the development of a theory of the design process suitable as a ....

Rich, C. and Waters, R. C., "The Programmer's Apprentice: A Research Overview," IEEE Computer, 21(11), pp. 10-25, (November 1988).


A Method of Program Understanding using Constraint Satisfaction.. - Woods (1996)   (3 citations)  (Correct)

....In the following subsections, I very briefly describe several program understanding efforts that have motivated this work. In later sections of this thesis I elaborate on some aspects of these efforts where they directly impact my own work. 2.2.2. 1 The Programmer s Apprentice Rich and Waters [Rich and Waters, 1988, Rich and Waters, 1990] headed the Programmer s Apprentice project which focused on the development of a demonstration system (Knowledge Based Editor in Emacs or KBEmacs) with the ability to assist a programmer in analyzing, creating, changing, specifying and verifying software systems. In ....

C. Rich and R.C. Waters. The Programmer's Apprentice: A research overview. IEEE Comput., 21(11):10--25, 1988.


Software Architecture Recovery for Distributed Systems - Mendonça (1999)   (Correct)

.... Tools for plan recognition rely primarily on using syntactic pattern matching to recognise program clich es or plans within source code [RW90] A program plan is a generic description of a computational unit contained within a program where a computational unit performs some abstract function [RW88] The recognition process can be bottomup, top down, or a hybrid of both. A bottom up process (i.e. the tool matches each program construct against the components of each known plan) is of limited scalability due to the combinatorial explosion of possibly relevant plans. On the other hand, a ....

Charles Rich and Richard C. Waters. The Programmer's Apprentice: A Research Overview. IEEE Computer, 21(11):10-25, November 1988.


A Metrics-Based Approach To The Automated Identification Of.. - Etzkorn (1997)   (2 citations)  (Correct)

....neither of these approaches allow the identification of domain level concepts. Thus a knowledge based approach was chosen for use in this research. The knowledge based program understanding approaches can be divided into three major areas. The first approach, called the graph parsing approach [95][96] translates a program into a flow graph, which shows both data and control flow. The domain base contains a library of graphical grammar rule plans. The program s graphs are compared to the plans in the library, and recognition of program sub parts becomes a graph parsing problem. The second ....

....components, since the input conditions of the rule will not be satisfied. Thus program fragments that happen to be non adjacent, although conceptually related, cannot be matched by a transformation rule. 2.3.1.3. The Programmer s Apprentice Rich, Waters, and Wills The Programmer s Apprentice [95][96] 110] is an intelligent programming assistant, rather than a fully automated tool, which was intended to provide interactive help to programmers in the program development and program maintenance domains. The approach is a bottom up program understanding approach. A program in common LISP is ....

Rich, C., and Waters, R.C. "The Programmer's Apprentice: A Research Overview," IEEE Computer, Volume 21, Issue 11, November, 1988, pp. 12-25.


Program Understanding as Constraint Satisfaction.. - Woods, Yang (1995)   (4 citations)  (Correct)

....flow structures in code allowing the identification of subsystems and hierarchies of structure in code. Kontogiannis[10, 9] has built an abstract pattern matching tool using the Refine 1 code analyzer. This approach attempts to identify probable matches using Markov models. Rich and Waters[29, 30] headed the Programmer s Apprentice project which focused on the development of a demonstration system (Knowledge Based Editor in Emacs or KBEmacs) with the ability to assist a programmer in analyzing, creating, changing, specifying and verifying software systems. In addition, Rich and ....

C. Rich and R.C. Waters. The Programmer's Apprentice: A research overview. IEEE Comput., 21(11):10--25, 1988.


Program Restructuring as an Aid to Software Maintenance - Griswold (1991)   (26 citations)  (Correct)

....Section 6.2 and Chapter 7.1) or the actual desired structure. The latter will be very difficult because what constitutes good structure is difficult to quantify, and is dependent on future changes that are often unknown and perhaps not describable to a tool, anyway. The Programmer s Apprentice [Rich Waters 88] a knowledge based inferencing tool, generates plans from programming clich es that allow them to be reused in developing new code. However, the programmer still must choose when use of the plan is appropriate. Many program understanding tools, such as slicers for debugging [Weiser 84] Agrawal ....

C. Rich and R. C. Waters. The programmer's apprentice: A research overview. IEEE Computer, pages 11--25, November 1988.


Design Conformance Management Of Software Systems: An.. - Sefika (1996)   (2 citations)  (Correct)

.... include program concept recognition systems[BMW93, HN90, RW90, Joh86, Jac92] Program concept recognition is the problem of identifying source code pieces that implement a given abstract concept[BMW93] A common approach is to express the high level concept as program plans cliches in a library[RR88b] The plans describe what the abstract concept is, and how to recognize it from source code[KN94] In some studies, plans have encoded highly human oriented concepts like reserve an airline ticket [BMW93] or update book [KN94] In general, the job of program concept recognizers is very ....

C. Rich and R.Waters. The Programmer's Apprentice: A Research Overview. IEEE Computer, November 1988.


Expression of Styles in Formal Specification - Souquières, Heisel   (Correct)

....is that they are designed to enforce the development of correct solutions to problems, where the notion of correctness can be defined freely. As a consequence, the reduction of a problem to subproblems must always be complete. The requirements apprentice is a part of the programmer s apprentice (Rich and Waters, 1988). It uses requirements clich es to support its users in setting up a requirements document. Clich es describe prototypical systems, e.g. repositories or information systems. In contrast to this representation of knowledge in form of examples which can be customized, our approach and support ....

Rich, C. and Waters, R. C. 1988. The programmer's apprentice: A research overview, IEEE Computer pp. 10--25.


Using Software to Teach Computer Programming: Past.. - Mulholland, Eisenstadt (1996)   (2 citations)  (Correct)

.... Eisenstadt, 1992) and other languages, including Lisp (Domingue, 1987) see figure 1) and Pascal (Lutz, 1992) The approaches varied, but all involved some sort of clich detection and near miss analysis, and were strongly influenced by the MIT Programmer s Apprentice project (Rich, et al. 1979; Rich Waters, 1988; 1990) As AI researchers, we were very pleased when our programs could automatically detect a bug and make sense of the student s problem. As programming language instructors, however, we faced an awkward dilemma. Explaining the root cause of the bug to the student seemed inordinately difficult, ....

Rich, C. and Waters, R. C. (1988). The Programmer's Apprentice: a research overview. Computer, 21, 11.


Dynamically Discovering Likely Program Invariants - Ernst (2000)   (108 citations)  (Correct)

No context found.

Charles Rich and Richard C. Waters. The Programmer's Apprentice: A research overview. IEEE Computer, 21(11):10-25, November 1988.


Learning Programs from Traces - Using Version Space   (Correct)

No context found.

C. Rich and R. Waters. The programmer's apprentice: A research overview. IEEE Computer, 21(11):10--25, 1988.


Dynamically Discovering Likely Program Invariants - Ernst (2000)   (108 citations)  (Correct)

No context found.

Charles Rich and Richard C. Waters. The Programmer's Apprentice: A research overview. IEEE Computer, 21(11):10-25, November 1988.


Knowledge-based Automation of a Design Method for Concurrent.. - Mills, Gomaa   (2 citations)  (Correct)

No context found.

C. Rich and R. C. Waters, "The Programmer's Apprentice: A Research Overview", Computer, November 1988, pp. 10-25.


Modeling Tasks with Mechanisms - Puerta, Tu, Musen (1992)   (5 citations)  (Correct)

No context found.

C. Rich and R.C. Waters, "The programmer's apprentice: a research overview," IEEE Computer, 21(11), 82--89 (1988).


SAREL : An Assistance System for Writing Software.. - Angels Hern'andez..   (Correct)

No context found.

Rich C. and Waters R.C. "The Programmer's Apprentice: A research overview" Computer, 21:10-25, November 1988.

First 50 documents

Online articles have much greater impact   More about CiteSeer.IST   Add search form to your site   Submit documents   Feedback  

CiteSeer.IST - Copyright Penn State and NEC