• DocumentCode
    1502511
  • Title

    Software specialization via symbolic execution

  • Author

    Coen-Porisini, Alberto ; De Paoli, Flavio ; Ghezzi, Carlo ; Mandrioli, Dino

  • Author_Institution
    Dipartimento di Elettronica, Politecnico di Milano, Italy
  • Volume
    17
  • Issue
    9
  • fYear
    1991
  • fDate
    9/1/1991 12:00:00 AM
  • Firstpage
    884
  • Lastpage
    899
  • Abstract
    A technique and an environment-supporting specialization of generalized software components are described. The technique is based on symbolic execution. It allows one to transform a generalized software component into a more specific and more efficient component. Specialization is proposed as a technique that improves software reuse. The idea is that a library of generalized components exists and the environment supports a designer in customizing a generalized component when the need arises for reusing it under more restricted conditions. It is also justified as a reengineering technique that helps optimize a program during maintenance. Specialization is supported by an interactive environment that provides several transformation tools: a symbolic executor/simplifier, an optimizer, and a loop refolder. The conceptual basis for these transformation techniques is described, examples of their application are given, and how they cooperate in a prototype environment for the Ada programming language is outlined
  • Keywords
    Ada; program compilers; software maintenance; software reusability; subroutines; Ada programming language; conceptual basis; environment-supporting specialization; generalized software components; interactive environment; loop refolder; maintenance; optimizer; reengineering technique; software reuse; symbolic execution; symbolic executor/simplifier; transformation tools; Application software; Computer languages; Costs; Production; Prototypes; Software libraries; Software maintenance; Software prototyping; Software reusability; Software tools;
  • fLanguage
    English
  • Journal_Title
    Software Engineering, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    0098-5589
  • Type

    jour

  • DOI
    10.1109/32.92907
  • Filename
    92907