ACM Home Page
Please provide us with feedback. Feedback
Beyond templates: a study of clones in the STL and some general implications
Full text PdfPdf (290 KB)
Source International Conference on Software Engineering archive
Proceedings of the 27th international conference on Software engineering table of contents
St. Louis, MO, USA
SESSION: Empirical studies table of contents
Pages: 451 - 459  
Year of Publication: 2005
ISBN:1-59593-963-2
Authors
Hamid Abdul Basit  National University of Singapore
Damith C. Rajapakse  National University of Singapore
Stan Jarzabek  National University of Singapore
Sponsors
ACM: Association for Computing Machinery
SIGSOFT: ACM Special Interest Group on Software Engineering
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 15,   Downloads (12 Months): 57,   Citation Count: 10
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

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/1062455.1062537
What is a DOI?

ABSTRACT

Templates (or generics) help us write compact, generic code, which aids both reuse and maintenance. The STL is a powerful example of how templates help achieve these goals. Still, our study of the STL revealed substantial, and in our opinion, counter-productive repetitions (so-called clones) across groups of similar class or function templates. Clones occurred, as variations across these similar program structures were irregular and could not be unified by suitable template parameters in a natural way. We encountered similar problems in other class libraries as well as in application programs, written in a range of programming languages. In the paper, we present quantitative and qualitative results from our study. We argue that the difficulties we encountered affect programs in general. We present a solution that can treat such template-unfriendly cases of redundancies at the meta-level, complementing and extending the power of language features, such as templates, in areas of generic programming.


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
 
6
 
7
Biggerstaff, T. "The library scaling problem and the limits of concrete component reuse," 3rd Int'l. Conf. on Software Reuse, ICSR'94, 1994, pp. 102--109.
 
8
Bracha G. et al. "JSR 14: Add Generic Types to the Java™ Programming Language," Java Community Process, http://www.jcp.org/en/jsr/detail?id=14
 
9
 
10
 
11
Case Studies on XVCL Website, http://fxvcl.sourceforge.net/CaseStudy.htm
 
12
 
13
 
14
 
15
 
16
17
 
18
Home page of SGI STL, http://www.sgi.com/tech/stl/
19
 
20
 
21
22
23
 
24
 
25
 
26
 
27
Thompson, S., "Higher Order + Polymorphic = Reusable", unpublished manuscript available from the Computing Laboratory, University of Kent. http://www.cs.ukc.ac.uk/pubs/1997
 
28
"XML-based Variant Configuration Language," XVCL Website, http://fxvcl.sourceforge.net
 
29
 
30
Zhang, H. and Jarzabek, S., "An XVCL-based Approach to Software Product Line Development", Proc. 15th International Conference on Software Engineering and Knowledge Engineering (SEKE'03), San Francisco, USA, 1-3 July, 2003.

CITED BY  10

Collaborative Colleagues:
Hamid Abdul Basit: colleagues
Damith C. Rajapakse: colleagues
Stan Jarzabek: colleagues