Clone or download

  • Download the latest version as a ZIP or tarball
  • Clone with: git clone https://elmord.org/code/tyr

Týr: a dependent type based code transformation for spatial memory safety in LLVM

This is a prototype of the Týr code transformation which I designed and implemented in the context of my Master's thesis. This is not production-ready code! It is being made available so that others can reproduce the results in my thesis.

A virtual machine image (210MB xz-compressed) for running the experiments is also available. SHA-256: dc9644e6192f10212b2ae0ed6c0971d94c80b53f058f3a992d2d938a1935803f.

For more information, consult the monograph.

This project is not maintained and not supported.


The Týr code (all files other than those cited below)

Copyright (C) 2015-2016 Vítor Bujés Ubatuba De Araújo

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. See the file LICENSE.GPLv2 for details.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

Benchmarks Game programs

Some files in the directory examples/benchmarksgame come from the Computer Language Benchmarks Game, and are distributed under the Revised BSD license. See the file examples/benchmarksgame/LICENSE for details.

Monograph (the file monograph.pdf)

monograph.pdf (C) 2018 Vítor Bujés Ubatuba De Araújo

monograph.pdf is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

You should have received a copy of the license along with this work (see LICENSE.CC-BY-NC-SA). If not, see http://creativecommons.org/licenses/by-nc-sa/4.0/.

The virtual machine image

The virtual machine image distributed with this project is a Debian system containing programs distributed under various free software licenses. See the files /usr/share/doc/*/copyright within the VM filesystem for details.