Proceedings of the 9th European Software Engineering Conference Held Jointly With 11th ACM SIGSOFT International Symposium on F 2003
DOI: 10.1145/940071.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 eli… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
14
0

Year Published

2005
2005
2008
2008

Publication Types

Select...
4
2
2

Relationship

4
4

Authors

Journals

citations
Cited by 42 publications
(14 citation statements)
references
References 15 publications
0
14
0
Order By: Relevance
“…Tools and methodologies such as Linked Editing (Toomim et al 2004) should be used to ensure consistent changes are made to all duplicates. Another approach to managing these clones is to create the code at build time using a source code generator (Jarzabek and Shubiao 2003); in this case, the duplicates do not come into existence until the system is being built.…”
Section: Boiler-plating Due To Language Inexpressivenessmentioning
confidence: 99%
See 2 more Smart Citations
“…Tools and methodologies such as Linked Editing (Toomim et al 2004) should be used to ensure consistent changes are made to all duplicates. Another approach to managing these clones is to create the code at build time using a source code generator (Jarzabek and Shubiao 2003); in this case, the duplicates do not come into existence until the system is being built.…”
Section: Boiler-plating Due To Language Inexpressivenessmentioning
confidence: 99%
“…Jarzabek et al (Jarzabek and Shubiao 2003) and Basit et al (2005) performed case studies for reducing duplication in 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
“…We build generic design solutions with a meta-level method, called XVCL [42], which is capable of unifying both simple and structural clones, even with a wide range of differences among them [4] [18]. With XVCL meta-structures, we would like to unify any similarity patterns whose unification is deemed beneficial from the engineering point of view (e.g., leads to simpler programs that are easier to maintain or reuse due to non-redundancy).…”
Section: Motivation For Clone Minermentioning
confidence: 99%
“…Refactoring is a disciplined technique for restructuring an existing body of code, altering its internal structure without changing its external behavior [14]. By making refactoring efforts on a set of code clones, they can be merged into a method [8,6,15], a component [19], or an aspect [9].…”
Section: Introductionmentioning
confidence: 99%