
Mahadevan Subramaniam, Ph.D.
- Department Chair
- Professor
- Charles W. and Margre H. Durham Distinguished Professor
- Computer Science
General Information
Biography
I received my undergraduate degree in Computer Science from Birla Institute of Technology and Science (BITS) Pilani, India, 1986 and received my masters and doctorate in Computer Science from SUNY Albany, New York 1997. I have been a faculty in the Computer Science Department at University of Nebraska Omaha (UNO) since 2003. I am the Director of the Nebraska modeling, Simulation, and Automated inference laboratory. I also served as the Chairperson of the Graduate Program from 2007 to 2009. I have over a decade of industry and start-up experience in developing marketed software and hardware products. Salient experiences include compiler design for Telecommunication and Semiconductor sectors; functional testing, synthesis, and verification of hardware and software; design of high performance multiprocessors, and I/O fabric components. I was one of the early members of the Automated Software Engineering group at NASA Ames.
Teaching Interests
Mathematical Foundations of Computer ScienceIntroduction to ProofsFoundations of Computer ScienceAdvanced Computer ArchitectureFormal Methods in Software EngineeringAdvanced Topics in Software Maintenance and Evolution
Research Interests
Formal approaches and tools such as model checkers, SMT solvers, and theorem provers have recently achieved impressive successes in validation and verification of complex hardware and software systems. This has created promising avenues to develop new methods towards the application of this technology to several other challenging facets of software engineering such as maintenance, re-engineering, and evolution. The main thrust of my research is to develop new approaches, algorithms, and push-button tools to aid software engineers to model, simulate, test, evolve, and maintain complex hardware and software applications. Some of my work in this area has focused on — formal change impact analysis, analyzing and selecting test descriptions with provable guarantees, change guided automatic repair strategies, and evolution based on logical theory changes. I am also interested in the use of temporal data analyses techniques to obtain historical evolution information that can then be used to perform scalable formal analysis.