scispace - formally typeset
Search or ask a question

Showing papers by "Cristina Cifuentes published in 2000"


Proceedings ArticleDOI
TL;DR: This research provides for a more general framework for dynamic translations, by providing a framework based on specifications of machines that can be reused or adapted to new hardware architectures, and some initial results obtained by using this system.
Abstract: Dynamic binary translation is the process of translating and optimizing executable code for one machine to another at runtime, while the program is “executing” on the target machine.Dynamic translation techniques have normally been limited to two particular machines; a competitor's machine and the hardware manufacturer's machine. This research provides for a more general framework for dynamic translations, by providing a framework based on specifications of machines that can be reused or adapted to new hardware architectures. In this way, developers of such techniques can isolate design issues from machine descriptions and reuse many components and analyses.We describe our dynamic translation framework and provide some initial results obtained by using this system.

120 citations


Journal ArticleDOI
TL;DR: The authors describe the UQBT framework and discuss their observations while using it to instantiate six different translators across Sun Sparc, Intel Pentium, and Java virtual-machine architectures.
Abstract: Developments in the semiconductor industry have made possible smaller and faster processors for general-purpose computing, portable devices, multipurpose appliances, and system-on-chip designs. Binary translation offers a quick, inexpensive way to migrate software from one processor to another. Although binary-translation techniques are still in their infancy compared to their compiler counterparts, engineers have been using them for 15 years. Just as engineers build compilers partly on the basis of specifications, the authors are developing the University of Queensland Binary Translator (UQBT) on the basis of machine specifications and properties of machines and operating systems. This static binary-translation framework supports various processors, including complex-instruction-set computers (CISC), reduced-instruction-set computers (RISC), and stack-based machines. The authors describe the UQBT framework and discuss their observations while using it to instantiate six different translators across Sun Sparc, Intel Pentium, and Java virtual-machine architectures.

116 citations


Proceedings ArticleDOI
29 Feb 2000
TL;DR: The use of a specification language called PAL (Procedure Abstraction Language) is described, as well as the machine-independent recovery analysis based on PAL, which has been integrated into UQBT (University of Queensland Binary Translator), which is a resourceable binary translation framework.
Abstract: Binary translation (the automatic translation of executable programs from one machine to another) requires analyses and transformations that could be used in a wide variety of tools intended to reverse engineer binary codes. Our approach to binary translation, which is designed to allow both source and target machines to be changed at low cost, is based on a combination of machine descriptions, binary interface descriptions and machine-independent analyses. This paper deals with the recovery of high-level procedure calls from binary code (i.e. the recovery of parameters and return locations) in a machine-independent way. The use of a specification language called PAL (Procedure Abstraction Language) is described, as well as the machine-independent recovery analysis based on PAL. The work described in this paper has been integrated into UQBT (University of Queensland Binary Translator), which is a resourceable binary translation framework. Translations across binaries for SPARC/sup TM/, Pentium and Java/sup TM/ virtual machine architectures have been achieved.

29 citations


01 Jan 2000
TL;DR: This research provides for a more general framework for dynamic translations, by providing a framework based on specifications of machines that can be reused or adapted to new hardware architectures, which can isolate design issues from machine descriptions and reuse many components and analyses.
Abstract: Dynamic binary translation is the process of translating and optimizing executable code for one machine to another at runtime, while the program is "executing" on the target machine. Dynamic translation techniques have normally been limited to two particular machines; a competitors machine and the hardware manufacturer's machine. This research provides for a more general framework for dynamic translations, by providing a framework based on specifications of machines that can be reused or adapted to new hardware architectures. In this way, developers of such techniques can isolate design issues from machine descriptions and reuse many components and analyses. We describe our dynamic translation framework and provide some initial results obtained by using this system. Key-words Dynamic compilation, emulation, interpretation, dynamic execution, binary translation.

28 citations


Proceedings ArticleDOI
23 Nov 2000
TL;DR: The different optimisations performed by UQDBT with run-time feedbacks are described, showing how the identification of frequently executed code converges more quickly in UZDBT using edge weight instrumentations than systems that are based on instruction speculation.
Abstract: Dynamic binary translation is the process of translating and optimising executable code from one machine to another at run-time, while the program is executing on the target machine. The translation technique is a process of low-level re-engineering consisting of an initial reverse engineering phase followed by a forward engineering phase. UQDBT, a machine-adaptable dynamic binary translator, can support different source and target machines through the specification of properties of these machines and their instruction sets. Unlike other dynamic systems that are closely bound to the underlying machine, optimisations performed on UQDBT are generic and apply to other machines. Also, the identification of frequently executed code converges more quickly in UQDBT using edge weight instrumentations than systems that are based on instruction speculation. This paper describes the different optimisations performed by UQDBT with run-time feedbacks.

15 citations


Journal ArticleDOI
TL;DR: A comparative overview of the legal standing on reverse engineering at the international level is provided and challenges to the global electronic community in relation to existing and future legislation in the area of reverse engineering and protection of digital works are proposed.
Abstract: Reverse engineering of computer software has assumed greater importance in recent years because of the need to examine legacy code to remove the year 2000 bug. There are different types of reverse engineering based on the level of abstraction of the code to be reengineereds machine code, assembly code, source code or even CASE code. We describe the different types of reverse engineering and the extent of copyright protection for software. The most common uses of reverse engineering are described. This provides for a comparative overview of the legal standing on reverse engineering at the international level. We propose challenges to the global electronic community in relation to existing and future legislation in the area of reverse engineering and protection of digital works.

6 citations



Journal Article
TL;DR: The first stage of copyright protection for computer software saw the enactment of legislation extending copyright to computer software, in the same category as literary works, and the second stage has involved delineation of the appropriate scope of software protection for software which, as a functional and digital product, bears little resemblance to the literary works traditionally protected by copyright as discussed by the authors.
Abstract: The first stage of copyright protection for computer software saw the enactment of legislation extending copyright to computer software, in the same category as literary works. The second stage has involved delineation of the appropriate scope of copyright protection for software which, as a functional and digital product, bears little resemblance to the literary works traditionally protected by copyright. In a series of cases, the Australian courts have made it clear that since copyright does not protect the function of software it is not an infringement to replicate non-literal elements such as functionality, provided it is achieved with independently written code and without copying of the expression of the original program. Limiting the scope of copyright protection in relation to literal copying of the program's code has proved more difficult in the absence of a clear legislative direction to this effect. During the past year, the process of legislatively accommodating computer technology to copyright law has commenced, with the enactment of the Copyright Amendment (Computer Programs) Act 1999 (Cth) and the Copyright Amendment (Digital Agenda)Act 2000 (Cth). These statutes clarify the application of copyright law to computer software, introduce new exclusive rights and create several exceptions to the exclusive rights of software copyright owners.

1 citations