# Safe and Chaotic Compilation for Hidden Deterministic Hardware Aliasing

**Authors:** Peter T. Breuer

arXiv: 1905.08240 · 2019-05-22

## TL;DR

This paper introduces a novel compilation technique called chaotic compilation that enables software to reliably operate on hardware with deterministic aliasing issues, ensuring consistent memory access and security.

## Contribution

It presents a systematic method for compiling code to handle hidden deterministic aliasing, extending to generate and compensate for aliasing, with a prototype compiler for ANSI C.

## Key findings

- The technique ensures address consistency despite hardware aliasing.
- Chaotic compilation can generate aliasing intentionally for security.
- Prototype compiler successfully compiles most ANSI C programs.

## Abstract

Hardware aliasing occurs when the same logical address can access different physical memory locations. This is a problem for software on some embedded systems and more generally when hardware becomes faulty in irretrievable locations, such as on a Mars Lander. We show how to work around the hardware problem with software logic, compiling code so it works on any platform with hardware aliasing with hidden determinism. That is: (i) a copy of an address accesses the same location, and (ii) repeating an address calculation exactly will repeat the same access again. Stuck bits can mean that even adding zero to an address can make a difference in that environment so nothing but a systematic approach has a chance of working. The technique is extended to generate aliasing as well as compensate for it, in so-called chaotic compilation, and a sketch proof is included to show it may produce object code that is secure against discovery of the programmer's intention. A prototype compiler implementing the technology covers all of ANSI C except longjmp/setjmp.

## Full text

_Full body text omitted from this summary view._ Fetch the complete paper as Markdown: https://tomesphere.com/paper/1905.08240/full.md

## References

19 references — full list in the complete paper: https://tomesphere.com/paper/1905.08240/full.md

---
Source: https://tomesphere.com/paper/1905.08240