About

The Laboratory for Software Design at Tulane 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.

Currently, the lab is pursuing the following projects: Modular Deep Learning, which investigates the decomposition of deep neural networks into modules to enable reuse, replacement, and independent evolution of those modules, Boa, a domain-specific language and infrastructure for mining software repositories and D4 (Dependable Data-Driven Discovery), which works on understanding of the risks to the dependability of data-science lifecycles, to formalize the rigorous mathematical basis of the measures of dependability for data-science lifecycles, and to identify mechanisms to create dependable data-science lifecycles.

Our past projects include Panini, a language designed to enable safe and efficient concurrent programming by construction and Ptolemy, a language that strives to balance expressiveness and modular reasoning for crosscutting concerns. While active work is not ongoing on these projects, interested students may propose collaborative ideas that we would continue to consider.

Our research meetings are held in-person and virtually on Friday from 3:00 pm - 5:30 pm.