[llvm-commits] CVS: llvm-www/pubs/2005-11-SAFECodeTR.html 2005-11-SAFECodeTR.pdf 2003-04-29-DataStructureAnalysisTR.html
Dinakar Dhurjati
dhurjati at cs.uiuc.edu
Thu Nov 17 13:46:42 PST 2005
Changes in directory llvm-www/pubs:
2005-11-SAFECodeTR.html added (r1.1)
2005-11-SAFECodeTR.pdf added (r1.1)
2003-04-29-DataStructureAnalysisTR.html updated: 1.7 -> 1.8
---
Log message:
Added safecode tech report
---
Diffs of the changes: (+73 -9)
2003-04-29-DataStructureAnalysisTR.html | 12 +----
2005-11-SAFECodeTR.html | 70 ++++++++++++++++++++++++++++++++
2005-11-SAFECodeTR.pdf | 0
3 files changed, 73 insertions(+), 9 deletions(-)
Index: llvm-www/pubs/2005-11-SAFECodeTR.html
diff -c /dev/null llvm-www/pubs/2005-11-SAFECodeTR.html:1.1
*** /dev/null Thu Nov 17 15:46:40 2005
--- llvm-www/pubs/2005-11-SAFECodeTR.html Thu Nov 17 15:46:30 2005
***************
*** 0 ****
--- 1,70 ----
+ <!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>Enforcing Alias Analysis for Weakly Typed Languages</title>
+ </head>
+ <body>
+
+ <div class="pub_title">
+ Enforcing Alias Analysis for Weakly Typed Languages
+ </div>
+ <div class="pub_author">
+ Dinakar Dhurjati, Sumant Kowshik, and Vikram Adve
+ </div>
+
+
+ <h2>Abstract:</h2>
+ <blockquote>
+
+ <p>
+ 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.
+ Optimizing compilers can produce unpredictable results when such errors
+ occur, but this is quite undesirable for many tools that aim to analyze
+ security and reliability properties with guarantees of soundness. We
+ describe a relatively simple compilation strategy for standard C programs
+ that guarantees sound semantics for an aggressive interprocedural pointer
+ analysis (or simpler ones), a call graph, and type information for a
+ subset of memory. These provide the foundation for sophisticated static
+ analyses to be applied to such 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 insights 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 reliably eliminate
+ many run-time checks. 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 approach requires no
+ source code changes, allows memory to be managed explicitly, and does not
+ use meta-data on pointers or individual tag bits for memory. Using several
+ benchmarks 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 reliable static
+ analyses for eliminating run-time checks.
+
+ </p>
+ </blockquote>
+
+ <h2>Published:</h2>
+ <blockquote>
+ "Enforcing Alias Analysis for Weakly Typed Languages"<br>
+ By Dinakar Dhurjati, Sumant Kowshik, and Vikram Adve.<br>
+ Technical Report #UIUCDCS-R-2005-2657, Computer Science Dept., Univ. of
+ Illinois, Nov. 2005
+ </blockquote>
+
+ <h2>Download:</h2>
+ <ul>
+ <li><a href="2005-11-SAFECodeTR.pdf">Enforcing Alias Analysis for
+ Weakly Typed Languages</a> (PDF)</li>
+ </ul>
+
+ </body>
+ </html>
Index: llvm-www/pubs/2005-11-SAFECodeTR.pdf
Index: llvm-www/pubs/2003-04-29-DataStructureAnalysisTR.html
diff -u llvm-www/pubs/2003-04-29-DataStructureAnalysisTR.html:1.7 llvm-www/pubs/2003-04-29-DataStructureAnalysisTR.html:1.8
--- llvm-www/pubs/2003-04-29-DataStructureAnalysisTR.html:1.7 Sat Apr 17 15:13:02 2004
+++ llvm-www/pubs/2003-04-29-DataStructureAnalysisTR.html Thu Nov 17 15:46:30 2005
@@ -35,19 +35,13 @@
<blockquote>
"Data Structure Analysis: An Efficient Context-Sensitive Heap Analysis",
Chris Lattner & Vikram Adve<br>
- Technical Report #UIUCDCS-R-2003-2340, Computer Science Dept., Univ. of
- Illinois, Apr. 2003.
-</blockquote>
-
-<h2>Update:</h2>
-<blockquote>
- This document was updated on 15 November 2003 to reflect improvements to the
- algorithm, and to be more clear and precise.
+ Technical Report #UIUCDCS-R-2005-2657, Computer Science Dept., Univ. of
+ Illinois, Nov. 2005.
</blockquote>
<h2>Download:</h2>
<ul>
- <li><a href="2003-11-15-DataStructureAnalysisTR.ps">Data Structure Analysis:
+ <li><a href="2005-11-DataStructureAnalysisTR.ps">Data Structure Analysis:
An Efficient Context-Sensitive Heap Analysis</a> (PS)</li>
<li><a href="2003-11-15-DataStructureAnalysisTR.pdf">Data Structure Analysis:
An Efficient Context-Sensitive Heap Analysis</a> (PDF)</li>
More information about the llvm-commits
mailing list