Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
research:software:secdart [2017/05/26 21:05] – [Integration with the Analysis Server] racruzresearch:software:secdart [2017/05/30 23:15] – [Dart SubSet] racruz
Line 1: Line 1:
 ====== Gradual Security Typing in Dart ====== ====== Gradual Security Typing in Dart ======
 This page will describe artifacts associated to SecDart which is an extension to the Dart programming language with gradual security typing. This page will describe artifacts associated to SecDart which is an extension to the Dart programming language with gradual security typing.
 +
 +===== Installation instructions =====
 +We will provide three ways to interact with the SecDart's security analysis (currently just the first one is available!): 
 +  * **Using the online SecDart Pad** at [[https://pleiad.cl/secdart/|https://pleiad.cl/secdart/]]
 +  * **The SecDart Analyzer CLI**
 +  * **The SecDart Plugin for Analysis Server**.
 +
 +
 +===== SecDart Pad: Functionality =====
 +The following screenshot shows how the SecDart Pad looks like
 +
 +{{:research:software:secdart:example_1.png?nolink&600|}}
 +
 +===== The SecDart Analyzer CLI =====
 +//Instructions will be placed here soon.//
 +
  
 ===== Integration with the Analysis Server ===== ===== Integration with the Analysis Server =====
Line 7: Line 23:
 {{:research:software:secdart:implict_flows.png?600|}} {{:research:software:secdart:implict_flows.png?600|}}
  
 +===== SecDart : Language features =====
 +SecDart covers a subset of the language and add security labels to language constructors
 +
 +==== Dart subset ====
 +//Details about the subset of Dart covers for SecDart will be placed here soon//
 +
 +==== Security labels ====
 +SecDart uses annotations to specify security labels. We can specify security labels for the following entities:
 +  * parameters of functions <code>
 +int min(@high int a,@high int b)
 +</code>
 +  * variable definition <code>
 +void sendToFacebook(){
 +   ...
 +   @low String message = ....
 +   ...
 +}
 +</code>
 +  * function declarations <code>
 +@latent("H","H")
 +@low int max(@low int a,@high int b){
 +   return a+b;
 +}
 +</code>