# CIS-400 Technical Update 1 - Team 30
**Project Title:**
Automatic Data Synchronization for Compartmentalized Software
**Members:**
* Zhilei Zheng: zhileiz@seas.upenn.edu
* William Sun: wsun@seas.upenn.edu
* Zachary Zhao: zhaozeyu@seas.upenn.edu
* Suyog: suyogbob@seas.upenn.edu
**Advisors:** Professor Boon Thau Loo, Professor Steve Zdancewic
**Link to Proposal: *[Automatic Data Synchronization for Compartmentalized Software](https://d1b10bmlvqabco.cloudfront.net/attach/k08hdgm9lo6vp/ipf0z2y0xv02l9/k11epjwcugt9/Team_30_Project_Proposal.pdf)***
## Work Done
#### Background Research
* Paper Reading
* ***SoftBound**: Highly Compatible and Complete Spatial Memory Safety for C* (William, Suyog, Zhilei)
* ***PtrSplit**: Supporting General Pointers in Automatic Program Partitioning* (Suyog, Zhilei)
* *Clean Application Compartmentalization with **SOAAP*** (Zhilei, Zachary)
* *Pitchfork: Performance + Flexibility for Practical Software Compartmentalisation (**Libcompart**)* (Zhilei)
* ***DeDoS**: Defusing DoS with Dispersion Oriented Software* (Zachary, William)
* Source Code Exploration
* Toy program with memory error using **SoftBound** (Suyog, William, Zhilei)
* Toy compartmentalized program using **Libcompart** (Zhilei, William)
* Looked for vulnerabilities of **DeDOS** as a server program (Zachary, Suyog)
#### Finalized Project Proposal
* First Draft (Zhilei, Zachary, William, Suyog)
* Ideation of solution
* Clarify final deliverable
* Set up goals for the 4 milestones of the project
* Analyze project social impact
* Posted 5 page draft to piazza to search for team members
* Final Draft (Zhilei, Zachary, William, Suyog)
* Formatted details into subsections
* Streamline proposal to two page
* Produced visual appendix
#### Communication
- Proposed our project with Prof. Boon Thau Loo and requested his advisory. (Zhilei, William, Zachary)
- Persuaded identifying Distributed Systems Lab as a direct stake holder. Discussed other use cases for our project within DSL. (Zachary, Suyog)
- Discussed feasibilty and impact to future compiler / security research projects with Prof. Steve Zdancewic. Connected with first author of Softbound and Prof. Zdancewic to confirm their ability to help with implementation and general advice. (Zhilei, William)
- Spoken with fellow students to recruit more teammates.(Zachary)
#### Pitch and Got Approved by Peer
* Pitched Project twice in CIS 400 class and got approved by Manager & Stakeholder peers(Zachary, William)
* Conducted Internal Practice for Pitching to new members and peers(Zachary, Zhilei, Suyog)
* Q&A brainstorming for Pitching and Reviewing General Project Outline (Suyog, Zhilei)
* Composing a Pitch to recruit new members (Zhilei, Zachary, William)
## Time Spent
| Member | Sept 1st - Septh. 7th | Sept 8th. - Sept. 14th | Sept. 15th - Sept 21st | Sept. 22nd - Sept 26th |
| -------- | -------- | -------- | --- | --- |
| Zhilei | 2 | 6 | 12 | 10 |
| Zachary | 1 | 8 | 8 | 14 |
| William | 1 | 6 | 10 | 12 |
| Suyog | 3 | 6 | 8 | 12 |
## Plan for The Coming Weeks
* **Fight for project approval!**
* Read and discuss (in detail) all the papers listed above that will be the foundations of our project.
* Explore the programming interface of LLVM/Clang in Python.
* Update to our advisors and stakeholders on this project.
* Recruit up to two more teammates via Piazza or Canvas or Facebook.
* Set up code repositories and start interpreting what part of our project is foundational work that we can use and what we need to implement. Define the boundaries of our project. (15 hours per week until the work is done)
* Define our APIs for integration and assign roles. (6 hour meeting including settling disputes)