Advisor Meetings Page
This page is meant to show the content of the meetings we have with our advisor to show progress and to ensure that we are constantly on the same page after every meeting.
5/29/2015 2:00 pm
This day, Yves met with Dr. Lu to discuss in further detail the objective of the project. Noted below are the notes from that meeting.
Objective: Design/implement domain of string properties on top of JSAI - an analysis engine that was developed at UCSB.
The builtin domain for string analysis that comes with JSAI distribution is a constant propagation domain. The project will replace the constant propagation domain with the domain of Finite State Automata.
This day, Yves met with Dr. Lu to discuss in further detail the objective of the project. Noted below are the notes from that meeting.
Objective: Design/implement domain of string properties on top of JSAI - an analysis engine that was developed at UCSB.
The builtin domain for string analysis that comes with JSAI distribution is a constant propagation domain. The project will replace the constant propagation domain with the domain of Finite State Automata.
- A string property is a set of strings that can be represented as an FA.
- The set of the possible values of a variable is described by an FA.
- Design abstract operations on FAs from concrete string operations on string
- Relation between strings vs. other values (e.g., “10”+2) may be an issue to consider
6/04/2015 2:00pm
Today Serena and Yves needed advice on some direction to take for implementing the domains. We both had been working on two parts of the project Yves with the Finite Automata software packages and Serena with reading through the current domains.scala code and practicing writing Scala functions. We also addressed the issue that we were having with the interpreter and how it is not really returning anything after running the test.js code. Dr.Lu advised that we only look at the abstract domains and to start focusing on how that is currently working and start thinking of ways to improve the operations that are currently in place. We were given weekly objectives so that we can stay on track and have agreed to have meetings twice a week. Dr. Lu also assisted Yves on what kind of software packages to find for the Finite Automata software. Currently we are on track and hope to make progress for next week and hopefully we will get the interpreter to work to return some results that are valuable to the research project.
6/09/2015 2:15pm
Dr. Lu asked us to figure out a way to print out the AST of a given program, to start designing the pseudocode of the string concatenation operation, and to identify other JavaScript operations we can implement.
6/11/2015 2:00pm
Dr. Lu helped Yves with the mathematical design of string properties domain and Serena showed Dr. Lu the pretty print of the AST of test.js file she wrote. We went over a list of JavaScript string operations list and we decided that we were going to look into the implementation of toUpperCase() and toLowerCase() methods and probably the trim() method. By next Tuesday we're going to find a way to print out the state representation of the running example and this is different to the AST of the running example. And also start the implementation of the domain representation of the operations we've already identified to implement.