Chris Laffra

Learn More
Reducing application size is important for software that is distributed via the internet, in order to keep download times manageable, and in the domain of embedded systems, where applications are often stored in (Read-Only or Flash) memory. This paper explores extraction techniques such as the removal of unreachable methods and redundant fields, inlining of(More)
Java programs are routinely transmitted over low-bandwidth network connections as compressed class file archives (i.e., zip files and jar files). Since archive size is directly proportional to download time, it is desirable for applications to be as small as possible. This paper is concerned with the use of program transformations such as removal of dead(More)
<i>A</i> constraint <i>is a numeric or geometric relationship between objects. Constraints have a declarative nature. Constraints are a natural way for describing relationships between objects. Combining constraint systems and object-oriented programming (OOP) appears hard. All existing systems implicitly compromise the encapsulation principle of OOP. This(More)
Bytecode instrumentation can be used effectively to (a) generate visualizations and (b) to modify the behavior of Eclipse plugins. In this demonstration, we will show two independent techniques that have in common that they obtain their results by modifying the binary representation of a given software system. In the first part of the demo, Chris Laffra(More)