[llvm-commits] CVS: llvm/www/pubs/2002-08-08-CASES02-ControlC.html 2003-05-05-LCTES03-CodeSafety.html

Sumant Kowshik kowshik at cs.uiuc.edu
Wed May 21 11:10:01 PDT 2003


Changes in directory llvm/www/pubs:

2002-08-08-CASES02-ControlC.html added (r1.1)
2003-05-05-LCTES03-CodeSafety.html added (r1.1)

---
Log message:


---
Diffs of the changes:

Index: llvm/www/pubs/2002-08-08-CASES02-ControlC.html
diff -c /dev/null llvm/www/pubs/2002-08-08-CASES02-ControlC.html:1.1
*** /dev/null	Wed May 21 11:09:38 2003
--- llvm/www/pubs/2002-08-08-CASES02-ControlC.html	Wed May 21 10:02:57 2003
***************
*** 0 ****
--- 1,69 ----
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+ <html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+ <title>Ensuring Code Safety Without Runtime Checks for Real-Time Control Systems</title>
+ </head>
+ 
+ <body bgcolor="#FFFFFF" text="#000000"> <!-- leftmargin="0" marginwidth="0" -->
+ 
+ <p align="center"><br> <font size="7"
+ face="Georgia,Palatino,Times,Roman">Ensuring Code Safety Without Runtime Checks for Real-Time Control Systems</font><br><font size=4>
+     Sumant Kowshik, Dinakar Dhurjati and
+     <a href="http://www.cs.uiuc.edu/~vadve">Vikram Adve</a> 
+     </font></p>
+ 
+ 
+ <h2>Abstract:</h2>
+ <blockquote>
+ This paper considers the problem of providing safe programming
+ support and enabling secure online software upgrades for control
+ software in real-time control systems.
+ In such systems, offline techniques for ensuring code safety are
+ greatly preferable to online techniques.
+ We propose a language called Control-C that is essentially a subset
+ of C, but with key restrictions designed to ensure that memory safety
+ of code can be verified <i>entirely</i> by static checking,
+ under certain system assumptions.
+ The language permits pointer-based data structures, restricted
+ dynamic memory allocation, and restricted array operations,
+ without requiring any runtime checks on memory operations and
+ without garbage collection.
+ The language restrictions have been chosen based on an understanding
+ of both compiler technology and the needs of real-time control systems.
+ The paper describes the language design and a
+ compiler implementation for Control-C.  We use control codes
+ from three different experimental control systems to evaluate the
+ suitability of the language for these codes, the effort required 
+ to port them to Control-C, and the effectiveness of the compiler
+ in detecting a wide range of potential security violations for
+ one of the systems. 
+ </blockquote>
+ 
+ <h2>Published:</h2>
+ <ul>
+       "Ensuring Code Safety Without Runtime Checks for Real-Time Control Systems", Sumant Kowshik, Dinakar Dhurjati & 
+       Vikram Adve,<br>
+       <i><a href="http://www.crest.gatech.edu/conferences/cases2002/">CASES 2002
+        </a></i>, Grenoble, France, Oct 2002.<br>
+ </ul>
+ 
+ <h2>Download:</h2>
+ <ul>
+ <li><a href="2003-08-08-CASES02-ControlC.ps">Ensuring Code Safety Without Runtime Checks for Real-Time Control Systems</a> (PS)
+ <li><a href="2003-08-08-CASES02-ControlC.pdf">Ensuring Code Safety Without Runtime Checks for Real-Time Control Systems</a> (PDF)
+ </ul>
+ 
+ <h2>Bibtex Entry:</h2>
+ <pre>
+   @inproceedings{DKAL:LCTES03,
+     Author = {Sumant Kowshik, Dinakar Dhurjati and Vikram Adve},
+     Title = {{E}nsuring {C}ode {S}afety {W}ithout {R}untime {C}hecks for {R}eal-{T}ime {C}ontrol {S}ystems},
+     Booktitle = {Proc. Int'l Conf. on Compilers Architecture and Synthesis for Embedded Systems, 2002},
+     Address = {Grenoble, France},
+     Month = {Oct},
+     Year = {2002},
+     URL = {http://llvm.cs.uiuc.edu/pubs/2003-08-08-CASES02-ControlC.html}
+   }
+ </pre>
+ 
+ </body></html>


Index: llvm/www/pubs/2003-05-05-LCTES03-CodeSafety.html
diff -c /dev/null llvm/www/pubs/2003-05-05-LCTES03-CodeSafety.html:1.1
*** /dev/null	Wed May 21 11:09:38 2003
--- llvm/www/pubs/2003-05-05-LCTES03-CodeSafety.html	Wed May 21 10:02:57 2003
***************
*** 0 ****
--- 1,76 ----
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+ <html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+ <title>Memory Safety Without Runtime Checks or Garbage Collection</title>
+ </head>
+ 
+ <body bgcolor="#FFFFFF" text="#000000"> <!-- leftmargin="0" marginwidth="0" -->
+ 
+ <p align="center"><br> <font size="7"
+ face="Georgia,Palatino,Times,Roman">Memory Safety Without Runtime Checks or Garbage Collection</font><br><font size=4>
+     Dinakar Dhurjati, Sumant Kowshik,
+     <a href="http://www.cs.uiuc.edu/~vadve">Vikram Adve</a> and
+     <a href="http://www.nondot.org/sabre/">Chris Lattner</a> 
+     </font></p>
+ 
+ 
+ <h2>Abstract:</h2>
+ <blockquote>
+ Traditional approaches to enforcing memory safety of programs rely heavily on
+ runtime checks of memory accesses and on garbage collection, both of which
+ are unattractive for embedded applications.
+ The long-term goal of our work is to
+ enable 100% static enforcement of memory safety for embedded programs
+ through advanced compiler techniques and minimal semantic
+ restrictions on programs.
+ The key result of this paper is a compiler technique that ensures
+ memory safety of
+ dynamically allocated memory <i>without programmer annotations, runtime
+ checks, or garbage collection</i>, and works for a large subclass of type-safe
+ C programs.
+ The technique is based on a fully automatic pool allocation
+ (i.e., region-inference)
+ algorithm for C programs we developed previously, and it ensures safety of
+ dynamically allocated memory while retaining explicit deallocation of
+ individual objects within regions (to avoid garbage collection).
+ For a diverse set of embedded C programs
+ (and using a previous technique to avoid null pointer checks),
+ we show that we are able to
+ statically ensure the safety of pointer and dynamic memory usage
+ <i>in all these programs</i>.
+ We also describe some improvements over our previous work in static checking
+ of array accesses.
+ Overall, we achieve 100% static enforcement of memory safety
+ without new language syntax for a significant subclass of embedded C
+ programs, and the subclass is much broader if array bounds checks are ignored.
+ 
+ </blockquote>
+ 
+ <h2>Published:</h2>
+ <ul>
+       "Memory Safety Without Runtime Checks or Garbage Collection", Dinakar Dhurjati, Sumant Kowshik, Vikram Adve & 
+       Chris Lattner,<br>
+       <i><a href="http://www.cs.purdue.edu/s3/LCTES03/">LCTES 2003
+        </a></i>, San Diego, CA, June 2003.<br>
+ </ul>
+ 
+ <h2>Download:</h2>
+ <ul>
+ <li><a href="2003-05-05-LCTES03-CodeSafety.ps">Memory Safety Without Runtime Checks or Garbage Collection</a> (PS)
+ <li><a href="2003-05-05-LCTES03-CodeSafety.pdf">Memory Safety Without Runtime Checks or Garbage Collection</a> (PDF)
+ </ul>
+ 
+ <h2>Bibtex Entry:</h2>
+ <pre>
+   @inproceedings{DKAL:LCTES03,
+     Author = {Dinakar Dhurjati, Sumant Kowshik, Vikram Adve and Chris Lattner},
+     Title = {{M}emory {S}afety {W}ithout {R}untime {C}hecks or {G}arbage {C}ollection},
+     Booktitle = {Proc. Languages Compilers and Tools for Embedded Systems 2003},
+     Address = {San Diego, CA},
+     Month = {June},
+     Year = {2003},
+     URL = {http://llvm.cs.uiuc.edu/pubs/2003-05-05-LCTES03-CodeSafety.html}
+   }
+ </pre>
+ 
+ </body></html>





More information about the llvm-commits mailing list