- Instructor
**Madhusudan Parthasarathy**(madhu)- Lectures/

Presentations - Mon and Wed, 9:30am-10:45am

Online zoom link - Office hours
- TBD.

- Resources
- Lecture Schedule

- Lecture Videos

Piazza

sign up with any email id

I will email students the access code

- Homework
- Homework Problems

This topics course will be on the intersection of software verification, program synthesis, and interpretable machine-learning.

After a quick introduction to verifying software using mostly logic-based techniques and abstraction, we will use this as a basis to explore program synthesis and machine-learning of interpretable concepts.

After a quick introduction to verifying software using mostly logic-based techniques and abstraction, we will use this as a basis to explore program synthesis and machine-learning of interpretable concepts.

The topics on program synthesis and interpretable machine learning will include:

- Program and expression synthesis
- Exact learning from specifications (in particular, SyGuS)
- Exact learning from input-output examples (programming by examples)
- Learning from noisy examples

- Leaarning logics
- Logics that admit efficient learning (passive, online, one-class classification, active, etc.)
- A general theorem of exact learning of logics
- Learning logical expressions from noisy data using neural networks

- Applications of program/expression synthesis and learning logical expressions
- Learning specifications for programs using online learning
- Learning interpretable logical discriminators from visual images, video, etc.
- Learning logics that represent programs