34 citations found. Retrieving documents...
William G. Griswold. Program Restructuring as an Aid to Software Maintenance. PhD thesis, University of Washington, July 1991.

 Home/Search   Document Details and Download   Summary   Related Articles   Check  

This paper is cited in the following contexts:
A Software Restructuring Tool for Oberon - Eloff (2001)   (Correct)

....to note that a restructuring tool only automates the application of transformations; the decision to apply a speci c transformation ultimately resides with the maintainer. Several restructuring tools for a variety of programming languages exist today. Amongst these are Griswold s tool for Scheme [19], CStructure for the C language [30] Elbereth for Java [24] SPRUCE for Pascal [26] and the Refactoring Browser for SmallTalk [37] A diverse collection of issues surrounding restructuring are addressed by the various tools. Tools such as Elbereth attempt to aid the maintainer in designing and ....

....between tools, but the goal is consistent: Developing ecient techniques for software maintenance. Empirical results indicate that restructuring tools impact positively on software maintenance. Griswold s experiments indicate that tool aided restructuring reduces both errors and maintenance cost [19]. Markosian et al. showed that the time required to re engineer a large software module could be reduced from 20 person weeks to only 4 person hours by using a restructuring tool [27] Case studies based on the Design Maintenance System (DMS) show that clone detection, a method by which duplicate ....

[Article contains additional citation context not shown here]

William G. Griswold. Program Restructuring as an Aid to Software Maintenance. San Diego, 1991.


Optimizing Object-Oriented Languages through Architectural.. - Tourwe, De Meuter (1999)   (4 citations)  (Correct)

....able to specify and perform the transformations on a program easily, a suitable representation of it has to exist. Surely, the transformations can be performed on the abstract syntax tree of the program, although it has been argued that this representation is not very well suited for this purpose [8]. Also, the representation should be designed in such a way that it allows for easy recognition of specific (user defined) patterns in a program, whichtheAST certainly is not. The work done in [10] and the conceptual framework introduced in [4] inspired us to represent a program in a ....

William G. Griswold. Program Restructuring as an Aid to Software Maintenance. PhD thesis, UniversityofWashington, 1991.


Taxonomy Of The Program Transformation Processes - Stuikys, Damasevicius (2002)   (Correct)

....ungroup transformation decomposes a structure and creates a variable for each of its fields. The wedge transformation converts the procedural program into an object based program. Evolutionary transformations of Lakhotia are similar to the restructuring transformations mentioned by other authors [6, 9]. Wu, Sander, and Jantch [10] distinguish two levels of transformations: 1) Transformation rules are primitive transformations, which include (a) definition, b) unfolding, c) folding, d) abstraction, and (e) algebraic rules. They introduce new functions to the system model, replace a ....

W.G. Griswold. Program Restructuring as an Aid to Software Maintenance. Ph.D. Thesis, Department of Computer Science and Engineering, University of Washington, July 1991.


Taxonomy Of The Program Transformation Processes - Stuikys, Damasevicius (2002)   (Correct)

....ungroup transformation decomposes a structure and creates a variable for each of its fields. The wedge transformation converts the procedural program into an object based program. Evolutionary transformations of Lakhotia are similar to the restructuring transformations mentioned by other authors [6, 9]. Wu, Sander, and Jantch [10] distinguish two levels of transformations: 1) Transformation rules are primitive transformations, which include (a) definition, b) unfolding, c) folding, d) abstraction, and (e) algebraic rules. They introduce new functions to the system model, replace a ....

W.G. Griswold. Program Restructuring as an Aid to Software Maintenance. Ph.D. Thesis, Department of Computer Science and Engineering, University of Washington, July 1991.


Restructuring Programs By Tucking Statements Into Functions - Lakhotia, Deprez (1999)   (16 citations)  (Correct)

....is preserved. A copy of the for statement has been retained in the restructured function to ensure that total sale is correctly computed. The tuck transformation improves upon the extract function transformation contained in Griswold and Notkin s catalogue of restructuring transformations [Gri91, GN93]. Griswold and Notkin s extract function creates a new function from contiguous code fragments. Their transformation is limited to structured programs. In contrast, the tuck transformation even creates functions from noncontiguous code, as enumerated by the example in Figures 1 and 2. Our ....

.... sometimes called lambda lifting, was first developed by Burstall and Darlington in the context of functional programming [BD77] and subsequently studied for logic programs [TS84] Griswold and Notkin developed this transformation, calling it extract function, for a structured, imperative language [Gri91, GN93]. We now extend the transformation to an unstructured, imperative language. In the functional domain the fold transformation may be applied to any expression. In the logic domain this transformation may be applied to any primitive predicate or any conjunction of primitive predicates. Similarly, in ....

[Article contains additional citation context not shown here]

William G. Griswold. Program Restructuring as an Aid to Software Maintenance. PhD thesis, University of Washington, July 1991.


Maintaining the Behavior and Consistency of Object-Oriented.. - Hürsch (1994)   (2 citations)  (Correct)

....is heavily constrained by the updated schema and the updated object base. Unlike structural inconsistency, none of today s database systems provides a mechanism to restore behavioral consistency. Some papers propose possible mechanisms, but none of them have been implemented [Opd92, Zic92, Gri91, Wal91, Bar91] a detailed discussion of these will be given later in section 3.1) There are primarily two reasons why changes to methods have only recently begun to be considered by the research community. The first is that for database systems, the key focus of the systems are the data, and ....

....at the schema level. In addition, refactorings are C specific, whereas the behavior preserving transformations are applied to a variety of languages. An implementation of refactorings for C is in a prototype stage, but has only been outlined in [Opd92] 3.1. 3 Program restructuring Griswold [Gri91] presents a transformation based tool to automate program restructuring of meaning preserving transformations. The tool is based on a model that exploits preserving data flow dependence and control flow dependence. The work focuses on transformations of the syntactic constructs of a ....

William G. Griswold. Program Restructuring as an Aid to Software Maintenance. PhD thesis, Department of Computer Science & Engineering, University of Washington, Seattle, WA, USA, August 1991.


Evolving Object-Oriented Designs with Refactorings - Tokuda (1999)   (15 citations)  (Correct)

....languages. The benefits of source to source transformations have yet to be quantified. Refactorings are a form of behavior preserving source to source transformation. 9 2. 2 Transforming structured programs Griswold developed behavior preserving transformations for programs written in Scheme [Gri91]. An example transformation is var to expr which replaces occurrences of a variable with the expression it is bound to. The goal of these transformations was to assist in the restructuring of functionally decomposed software. Software architectures developed using the classic structured software ....

....time for executing refactorings is less important. Reduced testing of refactoring changes should also be taken into account to even further reduce the importance of refactoring execution times. An efficient representation for handling source to source transformations is discussed by Griswold [Gri91]. Naming. In Smalltalk, names are very important since that is one of the fundamental ways of determining what a class, method, or variable is used for. Reorganization tools that have to create entities often name them. These names do not have any meaning in the problem domain and serve to ....

W. Griswold. Program Restructuring as an Aid to Software Maintenance. PhD thesis. University of Washington. August 1991.


Schema Transformation Processor (STP) - Werner (1999)   (Correct)

....was studied by Bergstein [1] and Hursch [7] but primarily as they applied to adaptive programs. Batory [21] has done program transformations systems, particularly regarding extending and combining standard libraries. The refactorings of Johnson [8] Opdyke [14] Brant [17] and Griswold [6] are similar to the approach taken here. STP differs from them in that STP is targeted specifically to Java, uses a strong object model and a convenient change specification language, and differentiates between weak and strong condition checking. 3 The Implementation Object Model and Change ....

William Griswold. Program Restructuring as an Aid to Software Maintenance. PhD thesis, University of Washington, 1991.


Analyzing and Measuring Reusability in Object-Oriented Designs - Price, Demurjian, Sr. (1997)   (1 citation)  (Correct)

.... 0 0 0 09 R S S S Figure 3. General(G) Specific(S) Classes of a Hierarchy cluded as an integral part of a software development process. Generalizations arise in systems in two ways, during the initial design phase and during the maintenance phase. Work in program restructuring [9, 10, 15] discusses generalizations in terms of structural modifications during the maintenance of completed applications. On the other hand, our metrics bring up the issue of generalizations during the initial design process in an effort to maximize the reusable portions of applications. 2.3 Related ....

W. Griswold, "Program Restructuring as an Aid to Software Maintenance," Department of Computer Science and Engineering, University of Washington, Technical Report number 91-08-04, August 1991.


Automating Three Modes of Evolution for Object-Oriented.. - Lance Tokuda Don (1999)   (8 citations)  (Correct)

....design. Refactorings automate the transition between designs granting designers the freedom to create simple frameworks and add patterns as needed when hot spots are identified. 4 Related Work Griswold developed behavior preserving transformations for structured programs written in Scheme [Gri91]. The goal of this system was to assist in the restructuring of functionally decomposed software. Software architectures developed using the classic structured software design methodology [You79] are difficult to restructure because nodes of the structure chart which define the program pass both ....

W. Griswold. Program Restructuring as an Aid to Software Maintenance. Ph.D. thesis. University of Washington. August 1991.


Understanding Software Systems Using Reverse Engineering.. - Müller, Tilley, Wong (1993)   (1 citation)  (Correct)

....and simple code restructuring, and use the most common form of reverse engineering: information abstraction via program analysis. 3. 2 Reverse engineering approaches Reverse engineering consists of many diverse approaches, including: formal transformations [9] meaning preserving restructuring [10], pattern recognition [11] function abstraction [12] information abstraction [13, 14] maverick identification [15] graph queries [16] and reuseoriented methods [17] Three specific approaches are briefly described below. Each approach is supported by one (or more) research groups in the PU ....

W. G. Griswold. Program Restructuring as an Aid to Software Maintenance. PhD thesis, University of Washington, 1991.


Program Comprehension - Rugaber (1995)   (2 citations)  (Correct)

....The Re engineering Tool Report from Hill Air Force base [80] and the Software Engineering Institute s planned Best Bractices Guidebook both collect experiences from actual reengineering projects. Theses: recent theses have been published in the area by Allemang [91] Callis [92] Griswold [93], Hartman [94] Letovsky [95] Ning [96] and Wills [43] Finally, a World Wide Web page that contains pointers to work in the area can be found at URL http: www.cc.gatech.edu reverse . IX. ....

William G. Griswold. Program Restructuring as an Aid to Software Maintenance. Ph.D. Thesis, TR 91-08-04, Department of Computer Science & Engineering, University of Washington, August 1991.


Understanding Software Systems Using Reverse Engineering.. - Müller, Wong, Tilley (1994)   (1 citation)  (Correct)

....sample ones are formal transformations, pattern recognition, and reuse oriented approaches. Formal transformation approaches include: concept recognition and transformation [11] least common abstractions [12] program refinements and transformations [13] and meaning preserving restructuring [14]. Pattern recognition approaches look for matching patterns and include: defect filtering [15] syntactic clich es (SCRUPLE) 16] user interface analysis [17] graph parsing [18] characterizing design decisions [19] function abstraction [20] information abstraction (CIA, CIA ) 21, 22] ....

W. G. Griswold. Program Restructuring as an Aid to Software Maintenance. PhD thesis, University of Washington, 1991.


DIME: A direct manipulation environment for evolutionary.. - Lakhotia (1998)   (2 citations)  (Correct)

....by programmers during software evolution. This catalogue of transformation, compiled by analyzing the author s journal containing his record of programming activities over a span of three years, is quite similar to the catalogue of restructuring transformations developed earlier by Griswold [12, 14]. The innovation of the DIME project lies in attaching the evolutionary transformations to mouse clicks. This calls for the development of additional formalism to infer parameters of the transformations from both the context in which a transformation is applied and some minimal hints provided by ....

....in the development of three systems, most notably the WolfPack . That our transformations are representative of operations actually performed by programmers is supported by the fact that, in principle, they are the similar to the restructuring transformations presented earlier by Griswold [12, 14]. We use the word transformation broadly as a mathematical mapping. While most of the transformations actually modify a program s structure, some of them in particular, wedge only provides some insight into a program s structure without modifying it. Transformation: Fold. The fold ....

[Article contains additional citation context not shown here]

W. G. Griswold. Program Restructuring as an Aid to Software Maintenance. PhD thesis, University of Washington, July 1991.


Automating Three Modes of Evolution for Object-Oriented.. - Tokuda, Batory (1999)   (8 citations)  (Correct)

....behavior ref M2( do . ref T M1( H M2( while ( do special behavior ref M2( do . ref Figure 3.26: 1:1 connection Figure 3. 27: Connection to H object created Page 15 4 Related Work Griswold developed behavior preserving transformations for structured programs written in Scheme [Gri91]. The goal of this system was to assist in the restructuring of functionally decomposed software. Software architectures developed using the classic structured software design methodology [You79] are difficult to restructure because nodes of the structure chart which define the program pass both ....

W. Griswold. Program Restructuring as an Aid to Software Maintenance. Ph.D. thesis. University of Washington. August 1991.


Investigating Reverse Engineering Technologies.. - Buss, De Mori.. (1994)   (19 citations)  (Correct)

....on source code analysis and simple code restructuring, and use the most common form of reverse engineering: information abstraction via program analysis. Research in reverse engineering consists of many diverse approaches, including: formal transformations [11] meaning preserving restructuring [12], plan recognition [13] function abstraction [14] information abstraction [15] maverick identification [16] graph queries [17] and reuse oriented methods [18] The CAS program understanding project is guided, in part, by the need to produce results directly applicable to the SQL DS product ....

W. G. Griswold. Program Restructuring as an Aid to Software Maintenance. PhD thesis, University of Washington, 1991.


Development of an Unanticipated Member of a Program Family - Gray (1997)   (3 citations)  (Correct)

....as an Aid to Maintenance Griswold found that meaning preserving program restructuring transformations can be an effective aid to software maintenance activities. Such techniques can address the structure problems that are created by unexpected change, thus lessening maintenance costs [Griswold 91] The intent of the restructuring transformations is to help developers encapsulate data and isolate design decisions in modules, according to the information hiding principles promoted by Parnas [Parnas 72] This result has motivated the construction of program visualization and restructuring ....

W. G. Griswold. Program Restructuring as an Aid to Software Maintenance. Ph.D. dissertation, University of Washington, Department of Computer Science and Engineering, August 1991. Technical Report 91-08-04. 85


Automated Support for Program Refactoring using Invariants - Yoshio Kataoka Michael (2001)   (13 citations)  Self-citation (Griswold)   (Correct)

No context found.

William G. Griswold. Program Restructuring as an Aid to Software Maintenance. PhD thesis, University of Washington, Dept. of Computer Science & Engineering, August 1991. Technical Report No. 91-08-04.


Automated Support for Program Refactoring using Invariants - Yoshio Kataoka Michael (2001)   (13 citations)  Self-citation (Griswold)   (Correct)

No context found.

William G. Griswold. Program Restructuring as an Aid to Software Maintenance. PhD thesis, University of Washington, Dept. of Computer Science & Engineering, August 1991. Technical Report No. 91-08-04.


Automated Support for Program Refactoring using Invariants - Kataoka, Ernst, Griswold, .. (2001)   (13 citations)  Self-citation (Griswold)   (Correct)

....their efficacy. 1 Introduction Program refactoring is a technique in which a software engineer applies well defined source level transformations with the goal of improving the code s structure and thus reducing subsequent costs of software evolution. Initially developed in the early 1990s [OJ90, Gri91, Opd92, GN93] refactoring is increasingly a part of mainstream software development practices [FBB 99] As just one example, one of the basic tenets of Extreme Programming [Bec99] is to refactor on a continual basis, as a fundamental part of the software development process. Refactoring is ....

....that manually applied refactorings preserve meaning. In contrast, nearly all the related work focuses instead on automatically applying refactorings once an engineer has identified a candidate. These two styles of automation seem to dovetail quite naturally. Opdyke [OJ90, Opd92] and Griswold [Gri91, GN93] defined early tools to apply refactorings and ensure that the meaning of the program was left unchanged by the refactoring. 1 A number of more recent tools also support refactoring: the Smalltalk Refactoring Browser [RBJ97] which automatically performs a set of refactorings taken ....

[Article contains additional citation context not shown here]

William G. Griswold. Program Restructuring as an Aid to Software Maintenance. PhD thesis, University of Washington, Dept. of Computer Science & Engineering, August 1991. Technical Report No. 91-08-04.


A Method for Adapting a Program Analysis Tool to Multiple Source.. - Hayes (1998)   Self-citation (Griswold)   (Correct)

No context found.

W.G. Griswold. Program Restructuring as an Aid to Software Maintenance. Ph.D. dissertation, University of Washington, Department of Computer Science and Engineering, Technical Report 91-08-04, August, 1991.


Just-in-Time Architecture: Planning Software in an Uncertain World - Griswold (1996)   (1 citation)  Self-citation (Griswold)   (Correct)

....its value is more certain. A potential drawback to just in time architecture is that the architecture must not only be designed, but the existing source code usually needs to be changed to reflect this new design. Methods have been developed for automating the difficult aspects of restructuring [Griswold 91, Griswold Notkin 93, Bowdidge Griswold 94, Bowdidge 95, Griswold et al. 96] but industrial strength tools are still a ways off. However, systematic manual restructuring that emulates these methods are feasible [Bowdidge Griswold 96, Griswold et al. 96] Using the developers knowledge of ....

W. G. Griswold. Program Restructuring as an Aid to Software Maintenance. PhD dissertation, University of Washington, Dept. of Computer Science & Engineering, August 1991. Technical Report No. 91-08-04.


Tool Support for Planning the Restructuring of.. - Griswold, Chen.. (1998)   (6 citations)  Self-citation (Griswold)   (Correct)

.... line, but the maintenance cost was 4,000 per line [Boehm 75] Much of these costs can be attributed to degraded software structure [Belady Lehman 71] One way to lower software maintenance costs is to restructure the system into a more modular form while preserving the original functionality [Griswold 91, Opdyke 92, Griswold Notkin 93, Johnson Opdyke 93] By isolating the code pertaining to a changing design decision within a module, enhancements can be applied locally, and hence at lower cost [Parnas 72] Restructuring in order to achieve data encapsulation [Parnas 72, Liskov Zilles 74] is ....

W. G. Griswold. Program Restructuring as an Aid to Software Maintenance. PhD dissertation, University of Washington, Dept. of Computer Science & Engineering, August 1991. Technical Report No. 91-08-04.


Tool Support for Planning the Restructuring of Data.. - William Griswold (1996)   (6 citations)  Self-citation (Griswold)   (Correct)

.... line, but the maintenance cost was 4,000 per line [Boehm 75] Much of these costs can be attributed to degraded software structure [Belady Lehman 71] One way to lower software maintenance costs is to restructure the system into a more modular form while preserving the original functionality [Griswold 91, Opdyke 92, Griswold Notkin 93, Johnson Opdyke 93] By isolating the code pertaining to a changing design decision within a module, enhancements can be applied locally, and hence at lower cost [Parnas 72] Restructuring in order to achieve data encapsulation [Parnas 72, Liskov Zilles 74] is ....

W. G. Griswold. Program Restructuring as an Aid to Software Maintenance. PhD dissertation, University of Washington, Dept. of Computer Science & Engineering, August 1991. Technical Report No. 91-08-04.


How Software Engineering Tools Organize Programmer Behavior .. - Bowdidge, Griswold (1997)   (3 citations)  Self-citation (Griswold)   (Correct)

No context found.

W. G. Griswold. Program Restructuring as an Aid to Software Maintenance. PhD dissertation, University of Washington, Dept. of Computer Science & Engineering, August 1991.


Restructuring Programs By Tucking Statements Into Functions - Arun Lakhotia And (1998)   (16 citations)  (Correct)

No context found.

William G. Griswold. Program Restructuring as an Aid to Software Maintenance. PhD thesis, University of Washington, July 1991.


Towards Automating Source-consistent UML Refactorings - Van Gorp, Stenten, Mens.. (2003)   (2 citations)  (Correct)

No context found.

William G. Griswold. Program Restructuring as an Aid to Software Maintenance. PhD thesis, University of Washington, August 1991.


A Discussion of Refactoring in Research and Practice - Bart Du Bois (2004)   (Correct)

No context found.

William G. Griswold. Program Restructuring as an Aid to Software Maintenance. PhD thesis, University of Washington, August 1991.


Refactoring: Current Research and Future Trends - Mens, Demeyer, Bois.. (2003)   (1 citation)  (Correct)

No context found.

Griswold, W. G., "Program Restructuring as an Aid to Software Maintenance," Ph.D. thesis, University of Washington (1991).


Optimizing Object-Oriented Languages through Architectural.. - Tourwe, De Meuter (1999)   (4 citations)  (Correct)

No context found.

William G. Griswold. Program Restructuring as an Aid to Software Maintenance. PhD thesis, UniversityofWashington, 1991.


Refactoring UML Models - Damien (2001)   (6 citations)  (Correct)

No context found.

W. Griswold. Program restructuring as an aid to software maintenance, 1991.


Using UML Action Semantics for Executable Modeling and .. - Sunye, Pennaneac'h.. (2001)   (Correct)

No context found.

W. Griswold. Program restructuring as an aid to software maintenance, 1991.


Towards an Engineering Discipline for GRAMMARWARE - Klint, Lämmel, Verhoef (2003)   (3 citations)  (Correct)

No context found.

W. Griswold and D. Notkin. Program restructuring as an aid to software maintenance. Technical report, Seattle, WA, USA, August 1990.


A Logic Meta-Programming Framework for Supporting the Refactoring.. - Bravo (2003)   (Correct)

No context found.

William G. Griswold. Program restructuring as an aid to software maintenance. PhD thesis, University of Washington, 1991.

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