ACM Home Page
Please provide us with feedback. Feedback
Program generalization for software reuse: from C to C++
Full text PdfPdf (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
SIGSOFT: ACM Special Interest Group on Software Engineering
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 5,   Downloads (12 Months): 25,   Citation Count: 7
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues   peer to peer  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/239098.239121
What is a DOI?

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


Collaborative Colleagues:
Michael Siff: colleagues
Thomas Reps: colleagues

Peer to Peer - Readers of this Article have also read: