<div dir="ltr"><div>Hi Mansour, <br></div><div><br></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, May 28, 2014 at 11:12 PM, mansour.alqattan <span dir="ltr"><<a href="mailto:mansour.alqattan@gmail.com" target="_blank">mansour.alqattan@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><span style="font-family:arial,sans-serif;font-size:13px">Dear </span><div style="font-family:arial,sans-serif;font-size:13px">
<br></div><div style="font-family:arial,sans-serif;font-size:13px">Thank you for your consideration and help in advance. I have three question and I hope you can help me with it:<br></div><div style="font-family:arial,sans-serif;font-size:13px">
<br></div><div style="font-family:arial,sans-serif;font-size:13px">1- First is there any program or technique for translate Java code or C code or any other languages to Scheme Code.</div><div style="font-family:arial,sans-serif;font-size:13px">
<br></div><div style="font-family:arial,sans-serif;font-size:13px">I need to translate from </div><div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px">
scm - > java</div><div style="font-family:arial,sans-serif;font-size:13px">java - > scm</div><div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px">
C - > scm</div><div style="font-family:arial,sans-serif;font-size:13px">scm - > C</div></div></blockquote><div><br>You can see Andy Keep Scheme-to-C[1]  and his presentation [2].<br><br>[1]<a href="https://github.com/akeep/scheme-to-c">https://github.com/akeep/scheme-to-c</a><br>
[2]<a href="https://www.youtube.com/watch?v=Os7FE3J-U5Q">https://www.youtube.com/watch?v=Os7FE3J-U5Q</a><br> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div><div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px">2- Is there potential features for finding or detecting the recent vulnerabilities by using Scheme language or any other language?</div>
</div></blockquote><div><br></div><div>Could you please elaborate more what do you mean by   recent vulnerabilities. If you mean Heartbleed then yes, It can be avoided but not sure about Scheme ( I am still learning Racket ). See[3][4]<br>
<br>[3] <a href="http://bluishcoder.co.nz/2014/04/11/preventing-heartbleed-bugs-with-safe-languages.html">http://bluishcoder.co.nz/2014/04/11/preventing-heartbleed-bugs-with-safe-languages.html</a><br>[4] <a href="http://cs.stackexchange.com/questions/23856/could-program-verification-techniques-prevent-bugs-of-the-genre-of-heartbleed-fr">http://cs.stackexchange.com/questions/23856/could-program-verification-techniques-prevent-bugs-of-the-genre-of-heartbleed-fr</a><br>
<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px">
<span style="color:rgb(68,68,68);font-family:Verdana">3- I have been asked to design a pattern which can formalize the potential vulnerability on source code.</span><br></div></div></blockquote><div> </div><div>May be first, you have to classify the kind of  <span style="color:rgb(68,68,68);font-family:Verdana">vulnerability you are considering. If you are considering out of bound access then you can use dependent types to prove that your access will not be out of bound.  You can use some proof assistants. See [5][6] <br>
[5] <a href="http://eb.host.cs.st-andrews.ac.uk/writings/idris-tutorial.pdf">http://eb.host.cs.st-andrews.ac.uk/writings/idris-tutorial.pdf</a><br>[6] <a href="http://coq.inria.fr/">http://coq.inria.fr/</a><br><br></span></div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><div style="font-family:arial,sans-serif;font-size:13px"></div><div style="font-family:arial,sans-serif;font-size:13px">
<span style="color:rgb(68,68,68);font-family:Verdana"><br></span></div><div><font color="#444444" face="Verdana">4- My final question is there a potential technique to translate any intermediate languages code to other format to clarify the vulnerabilities of the code? if yes then how .. is there potential technique and tools?</font></div>
</div></blockquote><div><br>I am not sure about this but may be this paper [7] help. You can find plenty of formalization about different techniques in  Coq. <br>[7]<a href="http://www.irisa.fr/celtique/pichardie/papers/fosad09.pdf">http://www.irisa.fr/celtique/pichardie/papers/fosad09.pdf</a> <br>
<br></div><div>Hope it helps. Pardon me if it does not answer the question.  I am just beginner in the program analysis field.<br><br></div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div><div><font color="#444444" face="Verdana"><br></font></div><div><font color="#444444" face="Verdana">I was thinking to translate the intermediate language to scheme code then to find tool which can analyse the scheme code to find the vulnerabilities. but i don't know how</font></div>
<div style="font-family:arial,sans-serif;font-size:13px"><span style="color:rgb(68,68,68);font-family:Verdana"><br></span></div><div><font color="#444444" face="Verdana">Please I need answer for these questions as I am doing a research at the moment and I stuck in someways. the intermediate language that i am using is not meant to be for executing but it is used for understanding the IBM assembler.</font></div>
<div style="font-family:arial,sans-serif;font-size:13px"><span style="color:rgb(68,68,68);font-family:Verdana"><br></span></div><div style="font-family:arial,sans-serif;font-size:13px"><span style="color:rgb(68,68,68);font-family:Verdana">I look forward to hear from you soon </span></div>
<div style="font-family:arial,sans-serif;font-size:13px"><span style="color:rgb(68,68,68);font-family:Verdana"><br></span></div><div style="font-family:arial,sans-serif;font-size:13px"><span style="color:rgb(68,68,68);font-family:Verdana">Thanks</span></div>
<span class=""><font color="#888888"><div style="font-family:arial,sans-serif;font-size:13px"><span style="color:rgb(68,68,68);font-family:Verdana"><br></span></div><div style="font-family:arial,sans-serif;font-size:13px">
<span style="color:rgb(68,68,68);font-family:Verdana">Mansour Alqattan</span></div></font></span></div><br></blockquote><div>-Mukesh Tiwari <br></div></div><br></div></div>