Affiliation:
1. University of Wisconsin-Madison, 1210 West Dayton Street, Madison, WI
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++.
Publisher
Association for Computing Machinery (ACM)
Cited by
4 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Documenting software systems using types;Science of Computer Programming;2006-04
2. Generalization in Type Theory Based Proof Assistants;Lecture Notes in Computer Science;2002
3. An empirical study into COBOL type inferencing;Science of Computer Programming;2001-07
4. Coping with Type Casts in C;Software Engineering — ESEC/FSE ’99;1999