University of Minnesota
Software Engineering Center

You are here

Sanjai Rayadurgam

Photo of Sanjai Rayadurgam
Director of the Software Engineering Center
Phone Number: 
Office Location: 
6-202 Keller Hall
B.Sc. in Mathematics, University of Madras, Chennai (1989)
M.E. in Computer Science and Engineering, Indian Institute of Science, Bengaluru (1993)
Ph.D. in Computer and Information Sciences, University of Minnesota, Minneapolis (2004)

Sanjai Rayadurgam is the director of the University of Minnesota Software Engineering Center and is a Research Project Specialist in the Department of Computer Science and Engineering. His research interests are in software testing, formal analysis and requirements modeling, with particular focus on safety-critical systems development. Prior to his work at the University of Minnesota, he worked at Boston Scientific, performing advanced tools development, systems engineering, and verification and validation of implantable cardiac device. He For his doctoral dissertation he developed techniques to automatically derive tests from behavioral models of software that could meet stringent coverage criteria. He has co-authored several research papers and articles in software engineering. He was a co-organizer of Dagstuhl seminar on Software and Systems Traceability for Safety-Critical Projects in 2015, was a program co-chair for the NASA Formal Methods Symposium in 2016 and is in the program committees of various workshops and conferences in software engineering.

His recent research areas include contract-discovery and coverage techniques for black-box object-code components funded by a NSF grant, test generation and verification of plan executions for autonomy platforms funded by a NASA grant, testing techniques of learning enabled components for assuring autonomous systems funded under a DARPA project and model based fuzz testing funded under an ONR project.
Software Engineering, Formal Methods, Automated Testing, High Assurance Autonomy

Recent Publications

Hierarchical Multi-Formalism Proofs of Cyber-Physical Systems

To manage design complexity and provide verification tractability, models of complex cyber-physical systems are typically hierarchically organized into multiple abstraction layers. High-level analysis explores interactions of the system with its physical environment, while embedded software is developed separately based on derived requirements. This separation of lowlevel and high-level analysis also gives hope to scalability, because we are able to use tools that are appropriate for each level. When attempting to perform compositional reasoning in such an

A Reference Model for Simulating Agile Processes

Agile development processes are popular when attempting to respond to changing requirements in a controlled manner; however, selecting an ill-suited process may increase project costs and risk. Before adopting a seemingly promising agile approach, we desire to evaluate the approach's applicability in the context of the specific product, organization, and staff. Simulation provides a means to do this. However, in order to simulate agile processes we require both the ability to model individual behavior as well as the decoupling of the process and product.

Improving the Accuracy of Oracle Verdicts Through Automated Model Steering

The oracle—a judge of the correctness of the system under test (SUT)—is a major component of the testing process. Specifying test oracles is challenging for some domains, such as real-time embedded systems, where small changes in timing or sensory input may cause large behavioral differences. Models of such systems, often built for analysis and simulation, are appealing for reuse as oracles. These models, however, typically represent an idealized system, abstracting away certain issues such as non-deterministic timing behavior and sensor noise.