Ameer's Blog

Week 2

5/24: Installed Intellij to WSL in order to utilize the indexing features of an IDE.

5/25: Read about React and the basic functionality of React. Learned about the DOM and hierarchy of a web application HTML. Attended guest talk given by Kunho Kim, a former REU participant.

5/26: Read “The Essence of Javascript” paper. Learn notations for small step operational semantics, grammars, and type systems.

5/27: Finished reading “The Essence of Javascript”. Begin reading the SAFE formal specification.

5/28: Finished reading the SAFE formal specification.


Week 3

5/31: Memorial day.

6/1: Read SAFE 2015 paper. Begin to understand SAFE architecture. Read up on Scala language when needed.

6/2: Continue to understand SAFE architecture and the phases. Understand how parts of the SAFE code correspond to the ECMAScript specification.

6/3: Understand Test262 testing framework and how it is used in SAFE. Watch a talk given by a creator of SAFE.

6/4: Understand the new semantics we intend to add to SAFE and begin to gather tests from the Test262 suite.


Week 4

6/7: Gather the test files from Test262.

6/8: Understand how SAFE currently implements testing with the Test262 suite. Read the source code and annotations by Nick.

6/9: Adapt the assert.js from the Test262 harness by replacing false return values with throwing exceptions.

6/10: Write a bash script to append the adapted assert.js to the beginning of all the test files. Test the files to make sure SAFE can interpret them. Some tests are designed to fail, and others make use of files in the Test262 harness other than assert.js. These issues may need to be addressed.

6/11: Begin understanding parsing and grammars.


Week 5

6/14: Read the first two sections of the Parsing Expression Grammar paper.


Week 6

6/21: Discuss with advisor on Babel and the updates we are making to SAFE

6/22: Study Javascript class semantics

6/23: Read Rats manual and work on adding classes to the SAFE JavaScript grammar

6/24: Add Class Declarations to the grammar and get them to parse.

6/25: Meet with advisor Nick to discuss future plans.


Week 7

6/28: Meet with advisor to discuss future plans.


Week 8

7/5: Holiday

7/6: Did a React tutorial to build a small React app.

7/7: Read part of the “A Semantics for the Essence of React” paper. Discussed with advisor for plans on characterizing React bugs.

7/8: Experiment with ESLint in a React application.