Lars Ræder Clausen

Learn More
A program executing on a low-end embedded system, such as a smart-card, faces scarce memory resources and fixed execution time constraints. We demonstrate that factorization of common instruction sequences in Java bytecode allows the memory footprint to be reduced, on average, to 85% of its original size, with a minimal execution time penalty. While(More)
Run-time code generation is a well-known technique for improving the efficiency of programs by exploiting dynamic information. Unfortunately, the difficulty of constructing run-time code-generators has hampered their widespread use. We describe Jumbo, a tool for easily creating run-time code generators for Java. Jumbo is a compiler for a two-level version(More)
Current \software component" technologies | with one exception | fail to account for lightweight components | those for which a function call is too ineecient or semantically inappropriate | and for generative components | those in which the component embodies a method of constructing code rather than actual code. The exception is the C++ Standard Template(More)
Saving the internal data of an application in an external form is called <i>marshalling</i>. A generic marshaller is difficult to optimize because the format of the data that will be marshalled is unknown at the time the marshaller is implemented. On the other hand, efficient marshallers can be written for specific kinds of data. In this paper we use(More)
Current definitions of " software component " are based on abstract data types — collections of functions together with local data. This paper addresses two ways in which this definition is inadequate: it fails to allow for lightweight components — those for which a function call is too inefficient or semantically inappropriate — and it fails to allow for(More)
Object transformation for preservation purposes is currently a hit-or-miss affair, where errors in transformation may go unnoticed for years since manual quality assurance is too resource-intensive for large collections of digital objects. We propose an approach of semi-automatic quality assurance (QA), where numerous separate automatic checks of " aspects(More)
  • 1