LARA

Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
projects [2019/12/16 15:47]
vkuncak
projects [2019/12/16 15:57]
vkuncak [Example Projects]
Line 1: Line 1:
 ====== Available Student Projects in LARA - EPFL Internal Page ====== ====== Available Student Projects in LARA - EPFL Internal Page ======
  
-**(c) 2016-2018 Laboratory for Automated Reasoning and Analysis. All Rights Reserved. Any reproduction of the parts of this page in printed or electronic form requires a prior written permission from Viktor Kunčak.**+**(c) 2016-2019 Laboratory for Automated Reasoning and Analysis. All Rights Reserved. Any reproduction of the parts of this page in printed or electronic form requires a prior written permission from Viktor Kunčak.**
  
-These projects are suitable for both **BSc** and **MSc** projects (including ​ **master'​s thesis** projects) for students in the **IC school** of **EPFL**, and are suitable for both **computer science** and **communication systems** students. Each project is for **one student** in a given semester. Students report directly to  [[http://​lara.epfl.ch/​~kuncak|Prof. Viktor Kunčak]], even if PhD students are involved to help with various aspects of the project. The information on whether the project is available or not is also maintained only by Viktor Kunčak, so please contact him if you are interested in the project. ​+These projects are suitable for both **BSc** and **MSc** projects (including ​ **master'​s thesis** projects) for students in the **IC school** of **EPFL**, and are suitable for both **computer science** and **communication systems** students. Each project is for **one student** in a given semester. Students report directly to  [[http://​lara.epfl.ch/​~kuncak|Prof. Viktor Kunčak]], even if PhD students ​or post-doctoral researchers ​are involved to help with various aspects of the project.
  
 ==== Nature of these projects ==== ==== Nature of these projects ====
Line 14: Line 14:
  
 ==== Example Projects ==== ==== Example Projects ====
 +
 +=== Parsing ===
 +
 +Advance the state of the ScaLL1on parsing framework: https://​github.com/​epfl-lara/​scallion/​
 +
 +=== Grammatical Framework Controlled Natural Language for Data Structure Operations ===
 +
 +Use [[https://​www.grammaticalframework.org/​|Grammatical Framework]] to design a Controlled Natural Language (a subset of English) that is suitable for writing JavaDoc-like descriptions of operations on data structure implementations (such as lists, stacks, queues, hash tables, etc.). For example, the grammar should accept (simplified versions of) descriptions such as this one ([[https://​github.com/​google/​guava/​blob/​master/​guava/​src/​com/​google/​common/​collect/​MinMaxPriorityQueue.java|from MinMaxPriorityQueue of Guava]]:
 +<code java>
 +/**
 +   * Adds the given element to this queue. If this queue has a maximum size, after adding {@code
 +   * element} the queue will automatically evict its greatest element (according to its comparator),​
 +   * which may be {@code element} itself.
 +   */
 +  @CanIgnoreReturnValue
 +  @Override
 +  public boolean offer(E element) ​
 +</​code>​
 +
 +Note that we would like to represent the structure of natural language sentences (such as "adds the given element to this queue"​),​ in addition to method signature, modifiers and @code elements.
  
 === Verifying JavaScript === === Verifying JavaScript ===
Line 39: Line 59:
 Port the **GenC** back end from Leon to stainless. This generates C code from a subset of Leon, and evaluate it on case studies for embedded code, IoT code, or fragments of OS code functinality. Port the **GenC** back end from Leon to stainless. This generates C code from a subset of Leon, and evaluate it on case studies for embedded code, IoT code, or fragments of OS code functinality.
  
-=== Parsing === 
- 
-Advance the state of the ScaLL1on parsing framework: https://​github.com/​epfl-lara/​scallion/​ 
  
 ===== Contact us ===== ===== Contact us =====
  
 If one of the projects lists sounds interesting and you believe you are a suitable candidate, please do not hesitate to contact us. In your email, please include your CV, the list of your grades, and a description of projects that you did at EPFL or outside of EPFL. If one of the projects lists sounds interesting and you believe you are a suitable candidate, please do not hesitate to contact us. In your email, please include your CV, the list of your grades, and a description of projects that you did at EPFL or outside of EPFL.