| Program generalization for software reuse: from C to C++ |
| Full text |
Pdf
(1.23 MB)
|
| Source
|
Foundations of Software Engineering
archive
Proceedings of the 4th ACM SIGSOFT symposium on Foundations of software engineering
table of contents
San Francisco, California, United States
Pages: 135 - 146
Year of Publication: 1996
ISBN:0-89791-797-9
Also published in ...
|
|
Authors
|
|
Michael Siff
|
University of Wisconsin-Madison, 1210 West Dayton Street, Madison, WI
|
|
Thomas Reps
|
University of Wisconsin-Madison, 1210 West Dayton Street, Madison, WI
|
|
| Sponsor |
|
| Publisher |
|
| Bibliometrics |
Downloads (6 Weeks): 6, Downloads (12 Months): 32, Citation Count: 7
|
|
|
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++.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
|
 |
2
|
|
| |
3
|
|
 |
4
|
|
| |
5
|
F.-J. Grosch and G. Snelting. Polymorphic components for monomorphic languages. In R. Prieto-Diaz and W.B. Frakes, editors, Advances in software reuse: Selected papers from the Second International Workshop on Software Reusability, pages 47-55, Lucca, Italy, March 1993. IEEE Computer Society Press.
|
| |
6
|
R. Hindley. The principal type-scheme of an object in combinatory logic. Trans. AMS, 146:29-60, 1969.
|
 |
7
|
|
| |
8
|
|
| |
9
|
|
| |
10
|
Robin Milner. A theory of type polymorphism in programming. Journal of Computer and System Sciences, 17:348-375, 1978.
|
| |
11
|
|
| |
12
|
Robert O 'Callahan and Daniel Jackson. Detecting shared representations using type inference. Technical Report CMU-CS-95-202, Carnegie Mellon University, September 1995.
|
 |
13
|
|
| |
14
|
Rub~n Prieto-D~az and William B. Frakes, editors. Advances in Software Reuse. IEEE Computer Society Press, March 1993.
|
| |
15
|
|
| |
16
|
|
| |
17
|
|
| |
18
|
M. Weiser. Program slicing. IEEE Transactions on Software Engineering, SE-10(4):352-357, July 1984.
|
| |
19
|
|
 |
20
|
|
|