COMS E6998 (Spring 2019)
Lecture Details
Instructor: Suman Jana
Office: Mudd 412
Office hours: by appointment
TA: Kyle Matoba (km3227@columbia.edu)
TA Office hours: Mondays 2:30-4:00 pm over Skype
Classroom: 1127 Seeley W. Mudd Building
Class hours: Thursday (1:10-3:40 pm)
Description
This class is going to focus on improving program analysis using Machine Learning (ML). Traditionally, program analysis has used formal logic due to its mathematical precision and expressiveness. However, such approaches often struggle to scale to large programs. In this class, I plan to explore the challenges and possibilities of using ML together with formal logic to make such analysis scalable without making major sacrifices in precision.
Note:There will be no assigned textbook for the class and you are expected to read the assigned articles/papers/slides carefully.
The final project report is due by May 18th 11:59pm . The format should be two-column ACM format >= 5-6 pages.
Prerequisite
There is no formal prerequisite for this class but you should be generally comfortable with ML. Feel free to send me an email if you have any specific questions.
Grading
- Project - 60%
- Presentations - 30%
- Class participation - 10%
- Extra credit (scribing a lecture) - 5%
Schedule
Online presentations:
Andrew Calvano (Neural Network-based Graph Embedding for Cross-Platform Binary Code Similarity Detection) Video, Slides Nathan Reitinger (Towards Seamless Tracking-Free Web: Improved Detection of Trackers via One-Class Learning) Video, Slides Ben Meerovitch (Deep Learning to Find Bugs) Video, Slides