College of Engineering

Department of Electrical and Computer Engineering

Got a question?

Got a question or comment? Contact me at (515) 294-7212 or


Research Interests

Automation tools for improving productivity and reliability of software, applied high-performance computing

Research Applications

Producing safety-critical control software, domain-specific semi-automatic parallelization of numerical climate models, analyzing security and reliability of operating systems, analyzing patents for consistency between claims and the internals of software submitted with the patent, suffix tree based parallel software for bioinformatics applications

Current Research Projects

1. Computation of evolutionary changes for inductive and incremental comprehension and validation of software: The notion of signature paths and the minimal signature tree (MST) for graphs, use of MST to design new graph differencing algorithms, accuracy analysis and a graph testbed for experimental studies of graph differencing algorithms, comprehension and validation studies of Linux using the Atlas tool from EnSoft. (a part of our Intelligence Amplifying Tools Research following the Frederick Brooks thesis: IA > AI)

2. Graph-theoretic Visual Comprehension of Complex Systems: Harnessing the power of graph analysis and transformations as visual abstractions for understanding software and biological systems, use of large displays, the touch screen technology, and a powerful computer to design and develop innovative visual comprehension techniques, a case study of event views and graph reductions for understanding system level software.

3. Modeling and analyzing information discovery mechanisms (IDM) with applications to software testing and debugging: Developing mathematical models of information discovery mechanisms, analyzing the power of an IDM using information theory, discovery of optimal IDM, capturing and advancing the knowledge of software testing and debugging as a special case of IDM. (Information Theory and Computer Science Interface – NSF Report)

Research Exhibits

  1. ParAgent: A domain-specific semi-automatic parallelization tool (Flash Demo)
  2. A configurable, rule-based code coverage tool (Flash Demo)
  3. Query-Model-Refine (QMR) approach to program comprehension (Poster)
  4. Model Based Development – A senior design research project (Poster)
  5. ConnectBotBad

Invited Talks

  1. Software Productivity and Reliability: Tools and Techniques (Microsoft 2007)
  2. Scalable Software Engineering – What is it? (Rockwell Collins 2008)
  3. International Conference on Program Comprehension (Keynote Talk 2008)
  4. Large Scale Models with OSATE, AADL Standad Meeting at European Space Agency, Noordwijk, Netherlands, April 28, 2009



Copyright 2009. Suraj Kothari, Iowa State University