2003
DOI: 10.1145/949952.940104
|View full text |Cite
|
Sign up to set email alerts
|

Eliminating redundancies with a "composition with adaptation" meta-programming technique

Abstract: Redundant code obstructs program understanding and contributes to high maintenance costs. While most experts agree on that, opinions - on how serious the problem of redundancies really is and how to tackle it - differ. In this paper, we present the study of redundancies in the Java Buffer library, JDK 1.4.1, which was recently released by Sun. We found that at least 68% of code in the Buffer library is redundant in the sense that it recurs in many classes in the same or slightly modified form. We effectively e… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
2
1

Citation Types

3
15
1

Year Published

2005
2005
2021
2021

Publication Types

Select...
3
3
1

Relationship

2
5

Authors

Journals

citations
Cited by 14 publications
(19 citation statements)
references
References 7 publications
3
15
1
Order By: Relevance
“…Tools and methodologies such as Linked Editing [29] should be used to ensure consistent changes are made to all duplicates. Another approach to managing these clones is to use generated code at build time [20], making the duplicate exist only when the source code is compiled. Long term issues.…”
Section: Templatingmentioning
confidence: 99%
See 2 more Smart Citations
“…Tools and methodologies such as Linked Editing [29] should be used to ensure consistent changes are made to all duplicates. Another approach to managing these clones is to use generated code at build time [20], making the duplicate exist only when the source code is compiled. Long term issues.…”
Section: Templatingmentioning
confidence: 99%
“…Jarzabek et al [20] and Basit et al [6] performed case studies for reducing duplication in on the Java buffer classes and the STL. In their studies, they used a meta-language XVCL to reconstruct the code at compile time.…”
Section: Related Workmentioning
confidence: 99%
See 1 more Smart Citation
“…However, less cloning happens in advanced Software Product Line (SPL) solutions [4] where reuse and evolution are aided by systematic variability management rather than by cloning. There is a large body of research on reasons why clones arise-both within and across system versions-and whether clones are good or bad [5][6] [7]. These studies show that designers may intentionally create certain clones to fulfill some design goals (e.g., for performance, readability, or yet other reasons) [5].…”
Section: Introductionmentioning
confidence: 99%
“…These studies show that designers may intentionally create certain clones to fulfill some design goals (e.g., for performance, readability, or yet other reasons) [5]. Other clones may result from careless design and can be refactored [6] [8], and yet others may not play any useful role, but cannot be eliminated using conventional design techniques [7]. Nevertheless, cloning is a reality and there is need to deal with it [9].…”
Section: Introductionmentioning
confidence: 99%