kirancodes.me
To Proof Maintenance & Beyond!

Program Generalization for Software Reuse: From C to C++

Michael Siff, Thomas W. Reps

Abstract

We consider the problem of software generalization: Given a program component C, create a parameterized program component C′ such that C′ is usable in a wider variety of syntactic contexts than C. Furthermore, C′ should be a semantically meaningful generalization of C; namely, there must exist an instantiation of C′ that is equivalent in functionality to C.In this paper, we present an algorithm that generalizes C functions via type inference. The original functions operate on specific data types; the result of generalization is a collection of C++ function templates that operate on parameterized types. This version of the generalization problem is useful in the context of converting existing C programs to C++.

BibTeX
@inproceedings{Siff-Reps:FSE96,
  author    = {Michael Siff and
               Thomas W. Reps},
  title     = {Program Generalization for Software Reuse: From C to C++},
  booktitle = {FSE},
  pages     = {135--146},
  publisher = {{ACM}},
  year      = {1996},
}

Related papers