Memory-safe microcontroller applications with the Bedrock structured programming system

Thesis: M. Eng., Massachusetts Institute of Technology, Department of Electrical Engineering and Computer Science, 2015. === This electronic version was submitted by the student author. The certified thesis is available in the Institute Archives and Special Collections. === Cataloged from student-s...

Full description

Bibliographic Details
Main Author: Barenblat, Benjamin Ezra
Other Authors: Adam Chlipala.
Format: Others
Language:English
Published: Massachusetts Institute of Technology 2015
Subjects:
Online Access:http://hdl.handle.net/1721.1/100294
id ndltd-MIT-oai-dspace.mit.edu-1721.1-100294
record_format oai_dc
spelling ndltd-MIT-oai-dspace.mit.edu-1721.1-1002942019-05-02T16:32:21Z Memory-safe microcontroller applications with the Bedrock structured programming system Barenblat, Benjamin Ezra Adam Chlipala. Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science. Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science. Electrical Engineering and Computer Science. Thesis: M. Eng., Massachusetts Institute of Technology, Department of Electrical Engineering and Computer Science, 2015. This electronic version was submitted by the student author. The certified thesis is available in the Institute Archives and Special Collections. Cataloged from student-submitted PDF version of thesis. Includes bibliographical references (pages 71-72). Microcontrollers - low-power, real-mode CPUS - drive digital electronics all over the world, making their safety and reliability critical. However, microcontrollers generally lack the memory protection common in desktop processors, so memory safety must come through other means. One such mechanism is Bedrock, a library for the Coq proof assistant that applies separation logic to a small c-like language, allowing programmers to prove memory-related properties about their code. I used Bedrock to build a security peripheral out of a Cortex-m3 microcontroller; my peripheral provides both AES encryption and append-only logging to a host system, and I showed the software it runs is memory-safe. Working with Bedrock was challenging but rewarding, and it provides a glimpse into a future where system programmers can prove code correct as a matter of course. by Benjamin Ezra Barenblat. M. Eng. 2015-12-16T15:54:00Z 2015-12-16T15:54:00Z 2015 2015 Thesis http://hdl.handle.net/1721.1/100294 930611809 eng M.I.T. theses are protected by copyright. They may be viewed from this source for any purpose, but reproduction or distribution in any format is prohibited without written permission. See provided URL for inquiries about permission. http://dspace.mit.edu/handle/1721.1/7582 72 pages application/pdf Massachusetts Institute of Technology
collection NDLTD
language English
format Others
sources NDLTD
topic Electrical Engineering and Computer Science.
spellingShingle Electrical Engineering and Computer Science.
Barenblat, Benjamin Ezra
Memory-safe microcontroller applications with the Bedrock structured programming system
description Thesis: M. Eng., Massachusetts Institute of Technology, Department of Electrical Engineering and Computer Science, 2015. === This electronic version was submitted by the student author. The certified thesis is available in the Institute Archives and Special Collections. === Cataloged from student-submitted PDF version of thesis. === Includes bibliographical references (pages 71-72). === Microcontrollers - low-power, real-mode CPUS - drive digital electronics all over the world, making their safety and reliability critical. However, microcontrollers generally lack the memory protection common in desktop processors, so memory safety must come through other means. One such mechanism is Bedrock, a library for the Coq proof assistant that applies separation logic to a small c-like language, allowing programmers to prove memory-related properties about their code. I used Bedrock to build a security peripheral out of a Cortex-m3 microcontroller; my peripheral provides both AES encryption and append-only logging to a host system, and I showed the software it runs is memory-safe. Working with Bedrock was challenging but rewarding, and it provides a glimpse into a future where system programmers can prove code correct as a matter of course. === by Benjamin Ezra Barenblat. === M. Eng.
author2 Adam Chlipala.
author_facet Adam Chlipala.
Barenblat, Benjamin Ezra
author Barenblat, Benjamin Ezra
author_sort Barenblat, Benjamin Ezra
title Memory-safe microcontroller applications with the Bedrock structured programming system
title_short Memory-safe microcontroller applications with the Bedrock structured programming system
title_full Memory-safe microcontroller applications with the Bedrock structured programming system
title_fullStr Memory-safe microcontroller applications with the Bedrock structured programming system
title_full_unstemmed Memory-safe microcontroller applications with the Bedrock structured programming system
title_sort memory-safe microcontroller applications with the bedrock structured programming system
publisher Massachusetts Institute of Technology
publishDate 2015
url http://hdl.handle.net/1721.1/100294
work_keys_str_mv AT barenblatbenjaminezra memorysafemicrocontrollerapplicationswiththebedrockstructuredprogrammingsystem
_version_ 1719042169162956800