News Archives

RSS Feed

Technique and Tools for Developing Correct Large Programs and Running them Fast

November 11, 2004

Date: Thursday November 11, 2004
Time: 11am-12:15pm
Location: Woodward 149

Manuel Hermenegildo <herme@cs.unm.edu>
Departments of Computer Science & Electrical and Computer Engineering
University of New Mexico


Computer programs are some of the most complicated artifacts built by mankind --many arguably much more complicated than the computer itself. Because of this complexity, it takes large amounts of manpower to develop and maintain software, and, specially, to avoid errors. The objective of our research is to contribute to improving this situation by developing techniques and tools that help programmers write large, complex programs, in a shorter time, and at the same time ensuring that the programs written are correct and result in efficient executions. I will present some details of how we attack this problem, by developing higher-level, multiparadigm programming languages, as well as more powerful formal techniques and practical tools for program debugging and verification. We also develop resource-aware, optimizing compilers which can produce efficient sequential code from programs written in very high-level languages as well as parallelize such programs automatically for running on multiprocessors and/or in distributed environments.