Hesam Samimi

Ph.D. Student
UCLA Computer Science Department
hesamcs.ucla.edu


Advisor

My advisor is Todd Millstein.

Research

In the field of Programming Languages I study ways to incorporate Executable Specifications and Declarative Programming within the mainstream languages. More generally, I am interested in applying Decision Procedures, and Constraint Solvers in performing Static and Dynamic Program Analyses: Verification, Synthesis, and Program Repair.

Projects

Plan B Falling Back on Executable Specifications
              Automatic recovery from method failures by direct execution of specifications via a constraint solver
              PBnJ: Implementation of Plan B in Java

PHPRepair Automated Repair of HTML Generation Errors in PHP Applications using String Constraint Solving
              An automatic, dynamic, test-based approach to fix HTML generation bugs in PHP programs

Sketch# Specification-Based Program Sketching
              Implementation of the Sketching program synthesis method on top of Spec# specification language

JOHN An educational programming language integrating Automated Planning
              Project Wiki

Publications

Automated Repair of HTML Generation Errors in PHP Applications using String Constraint Solving
Hesam Samimi, Max Schaefer, Shay Artzi, Todd Millstein, Frank Tip, Laurie Hendren
International Conference on Software Engineering 2012 (ICSE'12)

Specification-Based Sketching with Sketch#
Hesam Samimi, Kaushik Rajan
International Workshop on Formal Techniques for Java-like Programs 2011 (FTfJP'11) [pdf]

Falling Back on Executable Specifications
Hesam Samimi, Ei Darli Aung, Todd Millstein
European Conference on Object-Oriented Programming 2010 (ECOOP'10) [pdf]

Software

Repository

Style sheet adapted from http://www.cs.umd.edu/~saurabhs/