Department of Computer Science

Laboratory for Software Design

The research and educational activities described on these pages has been supported in part by the US National Science Foundation (NSF) under grants CCF-14-23370, CCF-13-49153, CCF-11-17937, CCF-10-17334, CNS-07-09217, CNS-06-27354, and a CAREER award 08-46059.

Got a question?

Got a question or comment? Contact us at (515) 294-6168 or


  • We are looking for motivated students with stellar programming skills to join the Panini and the Boa project. Send resume to Dr. Hridesh Rajan. Both projects have global user base.
  • Panini project receives a new NSF award to further develop capsule-oriented programming.
  • User accounts for Boa demonstrated at ICSE 2014 and ICSE 2013 can be requested here.
  • We just released 0.9.3 version of Panini language with new features and better analyses for concurrency correctness. See


The laboratory for software design at Iowa State University conducts research in programming languages, compilers and software engineering. Our overarching goal is to develop tools and techniques that enable better design of software intensive systems: a better design that is easier and cheaper to implement, verify and sustain and that is more portable across computing platform differences.

Our two leading projects are Panini that is a capsule-oriented programming language designed to simplify concurrent programming, and Boa that is a domain-specific language and an infrastructure for mining software repositories.

Our research meetings are in 216 Atanasoff Hall on Wednesdays from 3-5:30pm.


Hridesh Rajan [Director]   Steven M. Kautz [Faculty]
Yuheng Long [PhD]   Mehdi Bagherzadeh [PhD]
Ganesha Upadhayaya [PhD]   Youssef Hanna [PhD]
Eric Lin [MS]   Sean Mooney [MS]
Samantha S Khairunnesa [PhD]   Sambhav P. Srirama [Undergraduate]
Nitin M Tiwari [PhD]   Shang Liu [Undergraduate]
Louis A Redmond [Undergraduate]   Zachary D King [Undergraduate]


Robert Dyer (PhD Fall'13, MS Fall'08)   Tyler Sondag (PhD Fall'11, MS Fall'09)
Youssef W. Hanna (MS Fall'08)   Harish Narayanappa (MS Spring'10)
Rakesh Setty (MS Fall'08)   Mahantesh Hosamani (MS Fall'07)
Rex Fernando (B.S. Spring'13)   Eric Lin (B.S. Fall'12)
Bryan Shrader (B.S. Spring'14)    

Research and Educational Projects

Other Projects

  • VMIL: Workshop on Virtual Machines and Intermediate Languages, usually colocated with OOPSLA.

Relevant Courses

  • Com S 342: Principles of Programming Languages (undergraduate course) Each Fall and Spring
  • Com S 541/441: Programming Languages Fall 2015
  • Com S 610: Advanced Topics in Programming Languages & Software Engineering Spring 2015
  • Com S 610-HR: Advanced Topics in Program Analysis (Offered in Fall 2008)
  • Com S 641: Semantic Models of Programming Languages (graduate course)
  • Com S 362: Object-oriented Analysis and Design (undergraduate course)