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> _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits