SIGSOFT '93 Proceedings of the 1st ACM SIGSOFT symposium on Foundations of software engineering
Framing software reuse: lessons from the real world
Framing software reuse: lessons from the real world
ICSE '97 Proceedings of the 19th international conference on Software engineering
Composition Validation and Subjectivity in GenVoca Generators
IEEE Transactions on Software Engineering
N degrees of separation: multi-dimensional separation of concerns
Proceedings of the 21st international conference on Software engineering
Generative programming: methods, tools, and applications
Generative programming: methods, tools, and applications
XML implementation of frame processor
SSR '01 Proceedings of the 2001 symposium on Software reusability: putting software reuse in context
SEKE '02 Proceedings of the 14th international conference on Software engineering and knowledge engineering
XML-Based Method and Tool for Handling Variant Requirements in Domain Models
RE '01 Proceedings of the Fifth IEEE International Symposium on Requirements Engineering
Beyond templates: a study of clones in the STL and some general implications
Proceedings of the 27th international conference on Software engineering
An investigation of cloning in web applications
WWW '05 Special interest tracks and posters of the 14th international conference on World Wide Web
Detecting higher-level similarity patterns in programs
Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering
Industrial experience with building a web portal product line using a lightweight, reactive approach
Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering
Research journey towards industrial application of reuse technique
Proceedings of the 28th international conference on Software engineering
Proceedings of the 28th international conference on Software engineering
Proceedings of the 2006 international workshop on Summit on software engineering education
Context-based detection of clone-related bugs
Proceedings of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
Efficient token based clone detection with flexible tokenization
Proceedings of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
Efficient token based clone detection with flexible tokenization
The 6th Joint Meeting on European software engineering conference and the ACM SIGSOFT symposium on the foundations of software engineering: companion papers
ACM SIGCSE Bulletin
Granularity in software product lines
Proceedings of the 30th international conference on Software engineering
Journal of Software Maintenance and Evolution: Research and Practice
"Cloning considered harmful" considered harmful: patterns of cloning in software
Empirical Software Engineering
Analysis of Components for Generalization using Multidimensional Scaling
Fundamenta Informaticae
Are clones harmful for maintenance?
Proceedings of the 4th International Workshop on Software Clones
University-industry collaboration journey towards product lines
ICSR'11 Proceedings of the 12th international conference on Top productivity through software reuse
An investigation of cloning in web applications
ICWE'05 Proceedings of the 5th international conference on Web Engineering
Applying a generative technique for enhanced genericity and maintainability on the J2EE platform
GPCE'05 Proceedings of the 4th international conference on Generative Programming and Component Engineering
Active refinement of clone anomaly reports
Proceedings of the 34th International Conference on Software Engineering
Analysis of Components for Generalization using Multidimensional Scaling
Fundamenta Informaticae
Hi-index | 0.00 |
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 eliminated that 68% of code at the meta-level using a technique based on "composition with adaptation" called XVCL. We argue that such a program solution is easier to maintain than buffer classes with redundant code. In this experiment, we have designed our meta-representation so that we could produce buffer classes in exactly the same form as they appear in the original Buffer library. While we have been tempted to re-design the buffer classes, we chose not to do so, in order to allow for the seamless integration of the XVCL solution into contemporary programming methodologies and systems. This decision has not affected the essential results reported in this paper.