Abstract | ||
---|---|---|
Developers can use lossy compression on images and many other artifacts to reduce size and improve network transfer times. Native program instructions, however, are typically not considered candidates for lossy compression since arbitrary losses in instructions may dramatically affect program output. In this paper we show that lossy compression of compiled native instructions is possible in certain circumstances. We demonstrate that the instructions sequence of a program can be lossily translated into a separate but equivalent program with instruction-wise differences, which still produces the same output. We contribute the novel insight that it is possible to exploit such instruction differences to design lossy compression schemes for native code. We support this idea with sound and unsound program transformations that improve performance of compression techniques such as Run-Length (RLE), Huffman and LZ77. We also show that large areas of code can endure tampered instructions with no impact on the output, a result consistent with previous works from various communities.
|
Year | DOI | Venue |
---|---|---|
2018 | 10.1145/3183399.3183409 | ICSE (NIER) |
Keywords | Field | DocType |
lossy compression, software diversity, approximate computing | Lossy compression,Computer science,Real-time computing,Exploit,Machine code,Huffman coding,Computer engineering,Software diversity,Approximate computing | Conference |
ISBN | Citations | PageRank |
978-1-4503-5662-6 | 0 | 0.34 |
References | Authors | |
10 | 3 |
Name | Order | Citations | PageRank |
---|---|---|---|
Marcelino Rodriguez-Cancio | 1 | 6 | 2.45 |
Jules White | 2 | 662 | 45.87 |
Benoit Baudry | 3 | 2000 | 118.08 |