42 citations found. Retrieving documents...
D. Roberts, J. Brant, and R.E. Johnson. A refactoring tool for Smalltalk. Theory and Practice of Object Systems, 3(4):253--263, 1997.

 Home/Search   Document Not in Database   Summary   Related Articles   Check  

This paper is cited in the following contexts:
Towards a Taxonomy of Software Evolution - Tom Mens Jim (2003)   (5 citations)  (Correct)

....and thus, can only be considered partially automated. Within the specific domain of refactoring (i.e. restructuring of object oriented source code) tool support also ranges from entirely manual to fully automated. Tools such as the Refactoring Browser support a partially automatic approach [42] while other researchers have demonstrated the feasibility of fully automated tools [6] 2.4.2 Degree of formality A change support mechanism can either be implemented in an ad hoc way, or based on some underlying mathematical formalism. For example, the formalism of graph rewriting has been ....

....changes. In object oriented systems, for example, relevant semantic aspects are the type hierarchy, scoping, visibility, accessibility, and overriding relationships, to name a few. In this context, semantics preserving changes correspond to the well known concept of software refactoring [42, 16]. In the wider context of re engineering, semantics preserving changes are accommodated by restructuring activities [8] such as the replacement of a for loop by a while loop, or the removal of goto statements in spaghetti code [48] Note that a change may only be semantics preserving with ....

[Article contains additional citation context not shown here]

D. Roberts, J. Brant, and R. Johnson. A refactoring tool for Smalltalk. Theory and Practice of Object Systems, 3(4):253--263, 1997.


A Browser for Incremental Programming - Schärli, Black   (Correct)

....modify and extend Smalltalk s object oriented code base. The Browser was revolutionary when it was introduced, but over the intervening 20 years it has not been much improved. Useful extensions for semiautomated refactoring have been added, leading to a tool known as the Refactoring Browser [9]. Apart from that, today s Smalltalk Browser is essentially the same as it was in 1980. In the meantime, the concept of the Integrated Development Environment (IDE) for that is what the Smalltalk toolset would now be called has proved to be so successful that similar environments have ....

....methods that do not access any instance or class variables. A trait appears in the browser very much like a class, except that a trait has no superclass and no variables. In fact, the browser provides a menu item that extracts a trait from a class by applying the abstract variable refactoring [9] to all concrete variable references in the methods of the class. Those familiar with the concept of a mixin [2] will notice that a trait is like a simple kind of mixin without any dependencies on variables. The main difference is that a simple but powerful set of combinators lets us use traits ....

Don Roberts, John Brant, and Ralph E. Johnson. A refactoring tool for Smalltalk. Theory and Practice of Object Systems (TAPOS), 3(4):253--263, 1997.


Program Manipulation via Interactive Transformations (Extended.. - Boshemitsan   (Correct)

....meaning preserving manner. Fowler [99] catalogs a number of restructuring transformations in object oriented programs (called refactorings) A few of the refactoring transformations have been automated in some widelyused programming environments such as the Refactoring Browser for SmallTalk [Roberts 97] a testament to the usefulness of organizing one s code manipulation behavior in their terms. However, it is difficult to rely on primitive refactorings for specifying a complex transformation, since transformations frequently depend on the context. For instance, moving a method from Class1 to ....

D. Roberts, J. Brant, R. Johnson. A Refactoring Tool for Smalltalk. Theory and Practice of Object Systems 3, 4, 1997.


Identifying Refactoring Opportunities Using Logic Meta.. - Tourwé, Mens (2003)   (2 citations)  (Correct)

....Although the definition of refactoring has been around for several years, its importance in object oriented development and reengineering has only recently been acknowledged. Most major integrated development environments for objectoriented programming languages incorporate support for refactoring [22], 23] refactoring is more and more discussed in the context of reengineering legacy applications [9] 26] and it is included as an explicit activity in agile development processes [2] 28] We can identify three distinct steps in the refactoring process: 1) detect when an application should ....

Don Roberts, John Brant, and Ralph Johnson. A Refactoring Tool for Smalltalk. Theory and Practice of Object Systems, 3(4):253--263, 1997.


Automated Support for Framework-Based Software Evolution - Tourwé (2002)   (2 citations)  (Correct)

....be applied to a framework were not foreseen by its original developers. Such changes are thus hard to integrate into the existing design, and often require preparatory changes first. A developer can evolve a framework by hand or with the help of a tool that guides him while performing his task [RBJ97, FMvW97, O C01] We will refer to the former approach as manual evolution, while we will consider the latter approach supported evolution. When evolving a framework manually, it is the developer s responsibility to make sure the appropriate design constraints are still adhered to after the ....

....EGHY99, Ede00, TN01] Such tool support is needed, however, in order to assist developers in using design patterns and profiting maximally from their undeniable benefits. Tool support for automatic code generation [BFVY96, DV01] retrofitting design patterns in an existing design [TB95, TB99, RBJ97] choosing the appropriate design pattern, and so on, will become indispensable. 2.2.4 Conclusion From the above discussion, a number of important issues can be concluded. First of all, design patterns expose important information about the design of a framework.They identify the key classes ....

[Article contains additional citation context not shown here]

Don Roberts, John Brant, and Ralph Johnson. A Refactoring Tool for Smalltalk. Theory and Practice of Object Systems, 1997.


To Reuse or To Be Reused: Techniques for Component Composition.. - de Jonge (2003)   (Correct)

....frameworks for program transformation, or for some of its sub scenarios, already exist. Among these are attribute grammar systems (e.g. Elegant [3] algebraic rewriting systems (e.g. ASF SDF Meta Environment [27] ELAN [20] and object oriented systems (e.g. the Smalltalk refactoring browser [123] and OPENC [42] See [143] for a more complete overview of transformation frameworks. Generally, these systems are closed in the sense that they provide a fixed set of tightly coupled components (such as parser, pretty printer, and transformation language) they have no support for exchange or ....

D. Roberts, J. Brant, and R. E. Johnson. A refactoring tool for Smalltalk. Theory and Practice of Object Systems (TAPOS), 3(4):253--263, 1997.


Applying Traits to the Smalltalk Collection Hierarchy - Black, Schärli, Ducasse (2002)   (1 citation)  (Correct)

....corner x origin x is converted into TRectangle width self corner x self origin x This refactoring is given different names by different authors. Opdyke [Opd92] calls it abstract access to member variable , Fowler [FBB 99] calls it encapsulate field , and the Refactoring Browser [RBJ97] calls it abstract variable . Andrew Black, Nathanael Sch arli, and St ephane Ducasse Once this refactoring is completed, the new trait has all of Rectangle s methods, but those that depended on the instance variables of Rectangle now depend instead on the existence of methods origin and ....

....as the only tool. In contrast, we are interested in exploring other mechanisms, such as composition, in the context of mixin like language abstractions. Refactorings behaviour preserving code transformations have become an important topic in the object oriented reengineering community [RBJ97,TB99,TDDN00] Research on refactoring originates from the seminal work of Opdyke [Opd92] in which he defined refactorings for C [JO93,OJ93] In this context, Tokuda and Batory [TB99] evaluate the impact of using a refactoring engine in C . Fanta and Rajlich report on a reengineering experience ....

Don Roberts, John Brant, and Ralph E. Johnson. A refactoring tool for Smalltalk. Theory and Practice of Object Systems (TAPOS), 3(4):253--263, 1997.


Do we need 'agile' Software Development Tools? - Kelter, Monecke, Schild   (Correct)

....data: Multi view development environments [37] permit the definition of consistent views onto the database. Non standard databases provide the necessary services for data management [30] 6. Tools must support refactoring. Refactoring can be done on source code level with a refactoring browser [43] or on model level e.g. with an UML tool [4] Tools should provide functions which help developers to detect structures that should be refactored ( smells ) and to perform refactoring steps. 4.4 Configuration Management Due to the XP practices of refactoring, frequent tests, and continuous ....

.... 46] Small releases, tests, continuous distributed SCM systems; fast building processes; autointegration, collective ownership mated and fast testing [47, 45] management of test cases, results, and feedback; report generation [17] Refactoring, simple design Support for refactoring source code [43] and models [4] handling of partial design information [18] analysis and assessment of current state of the design; executable design [18] Pair programming, open work multi user editors; teleconferencing; document and applispace cation sharing; virtual representation of physical objects ....

D. Roberts, J. Brant, and R. E. Johnson. A Refactoring Tool for Smalltalk. Theory and Practice of Object Systems (TAPOS), 3(4):253-263, 1997.


Java Quality Assurance by Detecting Code Smells - van Emden, Moonen (2002)   (15 citations)  (Correct)

....or near duplicate code. Refactoring tools Finally, our approach is related to the growing body of work on tools that support the (automatic) refactoring of software systems. The original refactoring tool is the Smalltalk Refactoring Browser that was developed by John Brant and Don Roberts [17]. Recently, several other commercial and open source tools started to offer refactoring support. These include development environments such as the Eclipse platform, Borland s JBuilder and IDEA by IntelliJ and refactoring tools such as jFactor by Instantiations, ReTool by Chive, and XRefactory ....

D. Roberts, J. Brant, and R. E. Johnson. A refactoring tool for Smalltalk. Theory and Practice of Object Systems (TAPOS), 3(4):253--263, 1997.


Three-Tiered Specification of Micro-Architectures - Alagar, Lämmel   (Correct)

....micro architecture. The shared state vs. the related state would require a verification that this is a valid behavioural refinement. Tools for Generation are meanwhile widely used [11, 41, 22] The Reconstruction class is also of practical relevance as for widely used refactoring browsers [36, 39]. Of course, many program refactorings are not directly concerned with reuse of class structures such as design patterns. The Validation class is debatable for the aforementioned reasons, that is, it suggests to add documentation to class structures which should be maybe explicit in the designs or ....

D. Roberts, J. Brant, and R. Johnson. A Refactoring Tool for Smalltalk. Theory and Practice of Object Systems (TAPOS), 3(4):253--263, 1997.


The Moose Reengineering Environment - Ducasse, Lanza, Tichelaar (2001)   (Correct)

....to code to improve its structure, simplicity, flexibility, understandability or performance [Bec99] without changing the external behaviour of the system. The Moose Refactoring Engine provides support for twelve low level refactorings. The functionality is similar to the Refactoring Browser [RBJ97] for Smalltalk, but for multiple implementation languages, currently Smalltalk and Java. The Moose Refactoring Engine does virtually all of the analysis needed to check the applicability of a refactoring and to see what exactly has to be changed using the language independent FAMIX model ....

....is language specific. For every supported language a component has to be provided that performs the actual code changes directly on the source code. Currently the Moose Refactoring Engine is a prototype with language front ends for Smalltalk and Java. For Smalltalk we use the Refactoring Browser [RBJ97] to change the code, and for Java we currently use a text based approach based on regular expressions. Although the textbased approach is more powerful than we initially expected, we plan to move to an abstract syntax tree based approach in the future. A set of language independent refactorings ....

Don Roberts, John Brant, and Ralph E. Johnson. A refactoring tool for Smalltalk. Theory and Practice of Object Systems (TAPOS), 3(4):253--263, 1997.


A Language for Specifying Java Transformations - Castor, Borba (2001)   (Correct)

....of restructuring code with the purpose of making it easier to understand and maintain without changing its observable behavior, is strongly coupled with program transformation. Refactorings can be specified as parameterized program transformations that obey behavior preserving preconditions [17]. Nowadays, the use of refactoring to increase quality is considered a very important development practice. For instance, Extreme Programming [2] a recent approach for software development, recommends the use of refactoring as a continuous activity, intimately related to coding. ....

....mapped to them, where the clone action returns an identical deep copy of the given object or syntax tree and the hence action works as a sequential composition operator for scoped information. 4. Evaluating JaTS Since there are many languages and tools for specifying program transformations [3, 8, 12, 17], it is interesting to better compare JaTS with one of these languages, in order to assess its ease of use, expressive power and limitations. We then chose LET [8] a language to specify program transformations in a higher level of abstraction than that supported by the TXL language [7] In ....

[Article contains additional citation context not shown here]

Don Roberts, John Brant and Ralph Johnson. A Refactoring Tool for Smalltalk. Theory and Practice of Object Systems, pages 253-263, 1997.


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

....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 primarily from Opdyke s original work; the IntelliJ Renamer tool (www.intellij.com) which supports renaming of packages, variables, etc. and moving of packages and classes for Java; and the Xref Speller (www.xref tech.com speller ) ....

Don Roberts, John Brant, and Ralph Johnson. A refactoring tool for Smalltalk. Theory and Practice of Object Systems, 3(4):253--63, 1997.


Towards a Methodology for the Understanding of.. - Ducasse, Lanza (2001)   (Correct)

.... a god class that Riel defines as a class that has grown over the years and has been assigned too many responsibilities, may lead to a split of the class [RIE 96] long methods may be analysed to see if they contain code duplication or be split up if they perform several tasks at the same time [ROB 97, FOW 99] The presented methodology is based on clusters that group the useful graphs depending on the problem encountered by the reverse engineer and the information provided by the graphs. Each of these clusters is presented in detail in the subsequent section. We identify four clusters: 1. ....

ROBERTS D., BRANT J. et JOHNSON R. E., A Refactoring Tool for Smalltalk . Theory and Practice of Object Systems (TAPOS),vol.3,n # 4, p. 253--263, 1997.


MOOSE: an Extensible Language-Independent Environment.. - Ducasse, Lanza.. (2000)   (4 citations)  (Correct)

....3. MOOSE EXPLORER: navigating a meta model in an uniform way. code to improve its structure, simplicity, flexibility, understandability or performance [1] without changing the external behaviour of the system. The MOOSE REFACTORING ENGINE provides functionality similar to the Refactoring Browser [14] for Smalltalk, but for multiple implementation languages. The MOOSE REFACTORING ENGINE does virtually all of the analysis needed to check the applicability of a refactoring and to see what exactly has to be changed using the language independent FAMIXmodel. The language dependence can be ....

....is language specific. For every supported language a component has to be provided that performs the actual code changes directly on the source code. Currently the MOOSE REFACTORING ENGINE is a prototype with language front ends for Smalltalk and Java. For Smalltalk we use the Refactoring Browser [14] to change the code, and for Java we currently use a textbased approach based on regular expressions. Although the text based approach is more powerful than we initially expected, we plan to move to an abstract syntax tree based approach in the future. A set of language independent refactorings ....

D. Roberts, J. Brant, and R. E. Johnson. A refactoring tool for smalltalk. Theory and Practice of Object Systems (TAPOS), 3(4):253--263, 1997.


Composite Refactorings for Java Programs - Cinneide, Nixon (2000)   (1 citation)  (Correct)

....work on refactoring was the suite of C refactorings developed by William Opdyke [4] This work was hampered by the low level complexities of the C language and was never developed into a practical tool. It did however form the basis for the development of the Smalltalk Refactory Browser [6]. Smalltalk is a much cleaner language than C and this refactoring tool has been very successful. Its principal limitation is probably that Smalltalk is not a very widely used language outside of academia. These experiences suggest that the Java programming language may be a promising language ....

Donald Roberts, John Brant, and Ralph Johnson. A refactoring tool for smalltalk. Theory and Practice of Object Systems, 3(4), 1997.


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

....program transformation 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 ....

Don Roberts, John Brant, and Ralph Johnson. A refactoring tool for smalltalk. Theory and Practice of Object Systems, 1996.


Design and Implementation of an Extensible and Modifiable.. - Maruyama, Yamamoto   Self-citation (Tool)   (Correct)

No context found.

D. Roberts, J. Brant, and R. Johnson. A refactoring tool for smalltalk. Theory and Practice of Object Systems (TAPOS), 3(4):253--263, 1997.


Beyond the Refactoring Browser: Advanced Tool Support for.. - Mens, Tourwe, Munoz (2003)   Self-citation (Tool)   (Correct)

No context found.

D. Roberts, J. Brant, and R. Johnson. A Refactoring Tool for Smalltalk. Theory and Practice of Object Systems, 3(4):253--263, 1997.


Beyond the Refactoring Browser: Advanced Tool.. - Mens.. (2003)   Self-citation (Tool)   (Correct)

No context found.

D. Roberts, J. Brant, and R. Johnson. A Refactoring Tool for Smalltalk. Theory and Practice of Object Systems, 3(4):253--263, 1997.


A Software Restructuring Tool for Oberon - Eloff (2001)   Self-citation (Tool)   (Correct)

..... P is said to be functionally equivalent to P (written as P P ) i P exhibits identical behaviour to P for all de ned inputs of P . T is said to be a meaning preserving transformation if P P [20] Transformations in object oriented systems are often referred to as refactorings [17, 34, 36]. Fowler de nes a refactoring as a change made to the internal structure of software to make it easier to understand and cheaper to modify without changing its observable behaviour [17] This de nition is similar to that of a meaning preserving transformation. Transformations form the basis of ....

Don Roberts, John Brant, and Ralph Johnson. A Refactoring Tool for Smalltalk. Theory and Practice of Object Systems, 3(4), 1997.


Applying Traits to the Smalltalk Collection Classes - Black, Schärli   Self-citation (Smalltalk)   (Correct)

....is similar to creating a new subclass in the ordinary Smalltalk browser, but uses This refactoring is given different names by different authors. Opdyke [19] calls it abstract access to member variable , and Fowler [12] calls it encapsulate field . We follow the lead of the Refactoring Browser [21] by using the name abstract variable . the extended form of inheritance that lets us specify a trait (or a trait valued expression) that will be used as a component. In the declarative syntax of section 3 we define RectangularMorph = with TRectangle extends RectangleMorph where the ....

....as the only tool. In contrast, we are interested in exploring other mechanisms, such as composition, in the context of mixin like language abstractions. Refactorings behavior preserving program transformations have become an important topic in the object oriented reengineering community [21, 26, 25]. Research on refactoring originates from the seminal work of Opdyke [19] in which he defined refactorings for C [16, 20] In this context, Tokuda and Batory [26] evaluate the impact of using a refactoring engine in C . Fanta and Rajlich report on a reengineering experience where dedicated ....

Don Roberts, John Brant, and Ralph E. Johnson. A refactoring tool for Smalltalk. Theory and Practice of Object Systems (TAPOS), 3(4):253--263, 1997.


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

No context found.

D. Roberts, J. Brant, and R.E. Johnson. A refactoring tool for Smalltalk. Theory and Practice of Object Systems, 3(4):253--263, 1997.


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

No context found.

Roberts, D., J. Brant and R. Johnson, A refactoring tool for Smalltalk, Theory and Practice of Object Systems 3(4) (1997), pp. 253--263.


Towards a Taxonomy of Software Evolution - Mens, Buckley, Zenger, Rashid (2002)   (5 citations)  (Correct)

No context found.

D. Roberts, J. Brant, and R. Johnson. A refactoring tool for Smalltalk. Theory and Practice of Object Systems, 3(4):253--263, 1997.


Formalising Behaviour Preserving Program Transfromations - Mens, Demeyer, Janssens (2002)   (3 citations)  (Correct)

No context found.

Roberts, D., Brant, J., Johnson, R.: A refactoring tool for Smalltalk. Theory and Practice of Object Systems 3 (1997) 253--263


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

No context found.

Don Roberts, John Brant, and Ralph Johnson. A refactoring tool for Smalltalk. Theory and Practice of Object Systems, 3(4):253--63, 1997.


A Comparison of Software Refactoring Tools - Simmonds, Mens (2002)   (Correct)

No context found.

Roberts, D., Brant, J., Johnson, R.: A refactoring tool for Smalltalk. Theory and Practice of Object Systems 3 (1997) 253--263


Automated Support for Framework-Based Software Evolution - Tourwe, Mens (2003)   (1 citation)  (Correct)

No context found.

D. Roberts, J. Brant, and R. Johnson. A Refactoring Tool for Smalltalk. Theory and Practice of Object Systems, 1997.


Design Patterns Application in UML - Gerson Sunye Alain (2000)   (5 citations)  (Correct)

No context found.

Don Roberts, John Brant, and Ralph Johnson. A refactoring tool for Smalltalk. Theory and Practice of Object Systems, 3(4), 1997.


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

No context found.

Donald Roberts, J. Brant, and Ralph Johnson. A refactoring tool for Smalltalk. Theory and Practice of Object Systems, 3(4), 1997.


Automated Auditing of Design Principle Adherence - Joel Jones University (2003)   (Correct)

No context found.

D. Roberts, J. Brant, and R. E. Johnson. A refactoring tool for Smalltalk. Theory and Practice of Object Systems (TAPOS), 3(4):253--263, 1997.


Untangling: A Slice Extraction Refactoring - Ettinger, Verbaere (2004)   (2 citations)  (Correct)

No context found.

J. Brant D. Roberts and R. Johnson. A refactoring tool for smalltalk. Theory and Practice of Object Systems, 3(4), 1997.


Refactoring Prolog Programs - Schrijvers, Serebrenik, Demoen (2001)   (Correct)

No context found.

D. Roberts, J. Brant, and R. Johnson. A refactoring tool for Smalltalk. Theory and Practice of ObjectSystems (TAPOS), 3(4):253--263, 1997.


Unanticipated Integration of Development Tools Using the.. - Wuyts, Ducasse (2003)   (Correct)

No context found.

D. Roberts, J. Brant, R. E. Johnson, A refactoring tool for Smalltalk, Theory and Practice of Object Systems (TAPOS) 3 (4) (1997) 253--263.


Program Visualization Support for Highly Iterative Development.. - Lanza   (Correct)

No context found.

D. Roberts, J. Brant, and R. E. Johnson. A refactoring tool for Smalltalk. Theory and Practice of Object Systems (TAPOS), 3(4):253--263, 1997.


Improving Prolog Programs: Refactoring for Prolog - Schrijvers, Serebrenik   (Correct)

No context found.

D. Roberts, J. Brant, and R. Johnson. A refactoring tool for Smalltalk. Theory and Practice of ObjectSystems (TAPOS), 3(4):253--263, 1997.


A Browser for Incremental Programming - Schärli, Black (2003)   (Correct)

No context found.

Don Roberts, John Brant, and Ralph E. Johnson. A refactoring tool for Smalltalk. Theory and Practice of Object Systems (TAPOS), 3(4):253--263, 1997.


Evaluating Clone Detection Techniques - Van Rysselberghe, Demeyer (2003)   (1 citation)  (Correct)

No context found.

J. B. D. Roberts and R. E. Johnson. A refactoring tool for smalltalk. Theory and Practice of Object Systems (TAPOS), 3(4):253 -- 263, 1997. 11


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

No context found.

Don Roberts, John Brant, and Ralph Johnson. A refactoring tool for smalltalk. Theory and Practice of Object Systems, 1997.


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

No context found.

Don Roberts, John Brant, and Ralph Johnson. A refactoring tool for Smalltalk. Theory and Practice of Object Systems, 3(4):253--63, 1997.


Refactoring Prolog Code - Schrijvers, Serebrenik, Demoen (2004)   (Correct)

No context found.

D. Roberts, J. Brant, and R. Johnson. A refactoring tool for Smalltalk. Theory and Practice of ObjectSystems (TAPOS), 3(4):253--263, 1997.

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