• Home
  • Search
  • Formalising Behaviour Preserving Program Transformations
  • Open Access IconOpen Access
  • Cite Icon114
  • https://doi.org/10.1007/3-540-45832-8_22Copy DOI Icon

Formalising Behaviour Preserving Program Transformations

  • Jan 1, 2002
  • Tom Mens +2 more
Show More
  • Abstract
  • Literature Map
  • References
  • Citations
  • Similar Papers
Abstract

The notion of refactoring --transforming the source-code of an object-oriented program without changing its external behaviour-- has increased the need for a precise definition of refactorings and their properties. This paper introduces a graph representation of those aspects of the source code that should be preserved by a refactoring, and graph rewriting rules as a formal specification for the refactoring transformations themselves. To this aim, we use type graphs, forbidden subgraphs, embedding mechansims, negative application conditions and controlled graph rewriting. We show that it is feasible to reason about the effect of refactorings on object-oriented programs independently of the programming language being used. This is crucial for the next generation of refactoring tools.

Similar Papers
  • Book Chapter
  • Citations2

Canonical Derivations with Negative Application Conditions

  • Jan 01, 2014
  • Andrea Corradini +1
  • Research Article
  • Citations4

Efficient Analysis of Permutation Equivalence of Graph Derivations Based on Petri Nets

  • Jul 21, 2010
  • Electronic Communication of The European Association of Software Science and Technology
  • Frank Hermann +3
  • Research Article

Invited Talk: On the Concurrent Semantics of Transformation Systems with Negative Application Conditions

  • Jul 19, 2013
  • Technische Universität Berlin – Universitätsbibliothek
  • Andrea Corradini
  • Book Chapter
  • Citations11

DPO Transformation with Open Maps

  • Jan 01, 2012
  • Reiko Heckel
  • Research Article
  • Citations2

Use case evolution analysis based on graph transformation with negative application conditions

  • Jun 05, 2020
  • Science of Computer Programming
  • Leila Ribeiro +5
  • Research Article
  • Citations304

GRAPH GRAMMARS WITH NEGATIVE APPLICATION CONDITIONS

  • Jan 01, 1996
  • Fundamenta Informaticae
  • Annegret Habel +2
  • Research Article
  • Citations10

Integrating the user interface in an object-oriented measurement system

  • May 01, 1995
  • Measurement
  • P Daponte +2
  • Research Article
  • Citations26

Attributed graph transformation with inheritance: Efficient conflict detection and local confluence analysis using abstract critical pairs

  • Jan 24, 2012
  • Theoretical Computer Science
  • Ulrike Golas +3
  • Conference Article
  • Citations1

Programming and Designing Essentials of C Language and Object-oriented Language

  • Dec 01, 2013
  • Jieyu Gao
  • Book Chapter
  • Citations1

Programming and Coding

  • Jan 01, 1997
  • Phillip C.-Y. Sheu
  • Book Chapter
  • Citations6

Integrating Answer Set Programming with Object-Oriented Languages

  • Dec 17, 2016
  • Jakob Rath +1
  • Research Article
  • Citations14

Should ML be Object-Oriented?

  • Jul 01, 2002
  • Formal Aspects of Computing
  • David Macqueen
  • Research Article
  • Citations8

A conceptual perspective on the comparison of object-oriented programming languages

  • Feb 01, 1996
  • ACM SIGPLAN Notices
  • Bent Bruun Kristensen +1
  • Supplementary Content

Co-Contextual Type Systems: Contextless Deductive Reasoning for Correct Incremental Type Checking

  • Mar 02, 2020
  • TUbilio (Technical University of Darmstadt)
  • Edlira Kuci
  • Book Chapter
  • Citations2

Applying Core Features of the Object-Oriented Programming Paradigm by Function Blocks Based on the IEC 61131 and IEC 61499 Industrial Automation Norms

  • Aug 03, 2019
  • Luis Alberto Cruz Salazar +1
Cactus Communications logo

Copyright 2026 Cactus Communications. All rights reserved.