Reliable software for unreliable hardware : a cross layer perspective /: a cross layer perspective. (2016)