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 ...
Java’s stack‐based intermediate representation (IR) is typically coerced to execute on register‐base...
Class constructors play an indispensable role in the Java language as a mechanism for object creatio...
Java program adaptation between different APIs is a common task in software development. When an old...
The evidence abounds that redundancies contribute to high maintenance costs. Yet, programs are often...
Software clones – similar program structures repeated in variant forms – increase the risk of update...
Most Java programmers would agree that Java is a language that promotes a philosophy of “create and ...
JDBC is an interface for standard usage of relational databases in the Java language. It demands rep...
Abstract. Partial redundancy elimination can reduce the number of loads corresponding to field and a...
10.1145/940071.940104Proceedings of the ACM SIGSOFT Symposium on the Foundations of Software Enginee...
Abstract. Generics (templates) attempt to unify similar program structures to avoid explosion of red...
Computer applications are increasingly being written in object-oriented languages like Java and C++ ...
Modern software is bloated. Demand for new functionality has led developers to include more and more...
Computing is everywhere and our society depends on it. Increased performance over the last decades h...
Modern Java application development makes use of metaprogramming to offset and reduce application bo...
The existence of replicated code in a system makes that system harder to maintain and evolve. To rem...
Java’s stack‐based intermediate representation (IR) is typically coerced to execute on register‐base...
Class constructors play an indispensable role in the Java language as a mechanism for object creatio...
Java program adaptation between different APIs is a common task in software development. When an old...
The evidence abounds that redundancies contribute to high maintenance costs. Yet, programs are often...
Software clones – similar program structures repeated in variant forms – increase the risk of update...
Most Java programmers would agree that Java is a language that promotes a philosophy of “create and ...
JDBC is an interface for standard usage of relational databases in the Java language. It demands rep...
Abstract. Partial redundancy elimination can reduce the number of loads corresponding to field and a...
10.1145/940071.940104Proceedings of the ACM SIGSOFT Symposium on the Foundations of Software Enginee...
Abstract. Generics (templates) attempt to unify similar program structures to avoid explosion of red...
Computer applications are increasingly being written in object-oriented languages like Java and C++ ...
Modern software is bloated. Demand for new functionality has led developers to include more and more...
Computing is everywhere and our society depends on it. Increased performance over the last decades h...
Modern Java application development makes use of metaprogramming to offset and reduce application bo...
The existence of replicated code in a system makes that system harder to maintain and evolve. To rem...
Java’s stack‐based intermediate representation (IR) is typically coerced to execute on register‐base...
Class constructors play an indispensable role in the Java language as a mechanism for object creatio...
Java program adaptation between different APIs is a common task in software development. When an old...