Mathematical Foundations for Program Transformations

  • R. Ben Ayed
  • J. Desharnais
  • M. Frappier
  • A. Mili
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1559)


Traditional programming paradigms revolve around mapping a single requirements specification into a program. As less and less software is developed from scratch, and more and more is developed from existing software artifacts, this traditional paradigm is growing less and less predominant. Paradigms that are gaining ground include:
  • Program adaptation, whereby a program is modified to satisfy a specification that it does not originally satisfy; this occurs in adaptive software maintenance and in white box software reuse.

  • Software Incrementation, whereby a program is modified to have an additional functional feature, while preserving its current functional properties.

  • Software Merging, whereby two (typically) similar software products are merged into a single product that cumulates the functional features of each; this arises typically when the two products are obtained by software incrementation from a common base version.

  • Software Composition, whereby various existing reusable assets are composed together (by means of application-specific code) to produce a prespecified software application; this arises in component-based software development.


Mathematical Foundation Lattice Operator Program Transformation Program Construction Speci Cation 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    N. Boudriga, F. Elloumi, and A. Mili. The lattice of specifications: Applications to a specification methodology. Formal Aspects of Computing, 4:544–571, 1992.zbMATHCrossRefGoogle Scholar
  2. 2.
    C.A.R. Hoare et al. Laws of programming. Communications of the ACM, 30(8):672–686, 1987.zbMATHCrossRefMathSciNetGoogle Scholar
  3. 3.
    M. Frappier, J. Desharnais, and A. Mili. A calculus of program construction by parts. Science of Computer Programming, 6:237–254, 1996.CrossRefMathSciNetGoogle Scholar
  4. 4.
    E.C.R. Hehner. A Practical Theory of Programming. Springer-Verlag, 1993.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1999

Authors and Affiliations

  • R. Ben Ayed
    • 1
  • J. Desharnais
    • 2
  • M. Frappier
    • 3
  • A. Mili
    • 4
  1. 1.School of EngineeringUniversity of Tunis IIBelvedereTunisia
  2. 2.Laval UniversityQuebec CityCanada
  3. 3.University of SherbrookeSherbrookeCanada
  4. 4.The Institute for Software ResearchFairmontUSA

Personalised recommendations