[llvm-commits] CVS: llvm-www/pubs/2006-06-12-PLDI-SAFECode.html 2006-06-12-PLDI-SAFECode.pdf
John Criswell
criswell at cs.uiuc.edu
Mon May 5 07:39:17 PDT 2008
Changes in directory llvm-www/pubs:
2006-06-12-PLDI-SAFECode.html added (r1.1)
2006-06-12-PLDI-SAFECode.pdf added (r1.1)
---
Log message:
Renaming Dinakar's PLDI paper so that the month is correct.
---
Diffs of the changes: (+83 -0)
2006-06-12-PLDI-SAFECode.html | 83 ++++++++++++++++++++++++++++++++++++++++++
2006-06-12-PLDI-SAFECode.pdf | 0
2 files changed, 83 insertions(+)
Index: llvm-www/pubs/2006-06-12-PLDI-SAFECode.html
diff -c /dev/null llvm-www/pubs/2006-06-12-PLDI-SAFECode.html:1.1
*** /dev/null Mon May 5 09:38:46 2008
--- llvm-www/pubs/2006-06-12-PLDI-SAFECode.html Mon May 5 09:38:35 2008
***************
*** 0 ****
--- 1,83 ----
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+ <html>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+ <link rel="stylesheet" href="../llvm.css" type="text/css" media="screen">
+ <title>
+ SAFECode: Enforcing Alias Analysis for Weakly Typed Languages
+ </title>
+ </head>
+ <body>
+
+ <div class="pub_title">
+ SAFECode: Enforcing Alias Analysis for Weakly Typed Languages
+ </div>
+ <div class="pub_author">
+ Dinakar Dhurjati,
+ Sumant Kowshik,
+ and
+ <a href="http://www.cs.uiuc.edu/~vadve">Vikram Adve</a>
+ </div>
+
+ <h2>Abstract:</h2>
+ <blockquote>
+ Static analysis of programs in weakly typed languages such as C and C++ is
+ generally not sound because of possible memory errors due to dangling pointer
+ references, uninitialized pointers, and array bounds overflow. We describe a
+ compilation strategy for standard C programs that guarantees that aggressive
+ interprocedural pointer analysis (or less precise ones), a call graph, and type
+ information for a subset of memory, are never invalidated by any possible
+ memory errors. We formalize our approach as a new type system with the
+ necessary run-time checks in operational semantics and prove the correctness of
+ our approach for a subset of C. Our semantics provide the foundation for other
+ sophisticated static analyses to be applied to C programs with a guarantee of
+ soundness. Our work builds on a previously published transformation called
+ Automatic Pool Allocation to ensure that hard-to-detect memory errors (dangling
+ pointer references and certain array bounds errors) cannot invalidate the call
+ graph, points-to information or type information. The key insight behind our
+ approach is that pool allocation can be used to create a run-time partitioning
+ of memory that matches the compile-time memory partitioning in a points-to
+ graph, and efficient checks can be used to isolate the run-time partitions.
+ Furthermore, we show that the sound analysis information enables static
+ checking techniques that eliminate many run-time checks. Our approach requires
+ no source code changes, allows memory to be managedexplicitly, and does not use
+ meta-data on pointers or individual tag bits for memory. Using several
+ benchmark s and system codes, we show experimentally that the run-time
+ overheads are low (less than 10% in nearly all cases and 30% in the worst case
+ we have seen).We also show the effectiveness of static analyses in eliminating
+ run-time checks.
+ </blockquote>
+
+ <h2>Download:</h2>
+ <h3>Paper:</h3>
+ <ul>
+ <li><a href="2006-05-12-PLDI-SAFECode.pdf">
+ SAFECode: Enforcing Alias Analysis for Weakly Typed Languages
+ </a> (PDF)</li>
+ </ul>
+
+ <h2>BibTeX Entry:</h2>
+ <pre>
+ @inproceedings{1133999,
+ author = {Dinakar Dhurjati and Sumant Kowshik and Vikram Adve},
+ title = {SAFECode: enforcing alias analysis for weakly typed languages},
+ booktitle = {PLDI '06: Proceedings of the 2006 ACM SIGPLAN conference on Programming language design and implementation},
+ year = {2006},
+ isbn = {1-59593-320-4},
+ pages = {144--157},
+ location = {Ottawa, Ontario, Canada},
+ doi = {http://doi.acm.org/10.1145/1133981.1133999},
+ publisher = {ACM},
+ address = {New York, NY, USA},
+ }
+ </pre>
+
+ <!-- *********************************************************************** -->
+ <hr>
+ <a href="http://jigsaw.w3.org/css-validator/check/referer"><img
+ src="http://jigsaw.w3.org/css-validator/images/vcss" alt="Valid CSS!"></a>
+ <a href="http://validator.w3.org/check/referer"><img
+ src="http://www.w3.org/Icons/valid-html401" alt="Valid HTML 4.01!" /></a>
+
+ </body>
+ </html>
Index: llvm-www/pubs/2006-06-12-PLDI-SAFECode.pdf
More information about the llvm-commits
mailing list