Abstract | ||
---|---|---|
We present a set of semantics-based program manipulation techniques to assist in restructuring software encapsulation boundaries
and making systematic changes to data representations. These techniques adapt abstraction structure and data representations
without altering program functionality. The techniques are intended to be embodied in source-level analysis and manipulation
tools used interactively by programmers, rather than in fully automatic tools and compilers.
The approach involves combining techniques for adapting and specializing encapsulated data types (classes) and for eliminating
redundant operations that are distributed among multiple methods in a class (functions in a data type) with techniques for
cloning classes to facilitate specialization and for moving computation across class boundaries. The combined set of techniques
is intended to facilitate revision of structural design decisions such as the design of a class hierarchy or an internal component
interface.
The paper introduces new techniques, provides soundness proofs, and gives details of case study involving production Java
code.
|
Year | DOI | Venue |
---|---|---|
1998 | 10.1007/BFb0053575 | ESOP |
Keywords | Field | DocType |
data representation,systematic change,case study,program manipulations,data type | Programming language,Program transformation,External Data Representation,Object-oriented programming,Computer science,Compiler,Theoretical computer science,Instance variable,Software,Program analysis,Semantics,Distributed computing | Conference |
Volume | ISSN | ISBN |
1381 | 0302-9743 | 3-540-64302-8 |
Citations | PageRank | References |
5 | 0.95 | 14 |
Authors | ||
1 |
Name | Order | Citations | PageRank |
---|---|---|---|
William L. Scherlis | 1 | 340 | 63.64 |