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

Reasoning about Confidence and Uncertainty in Assurance Cases: A Survey

Assurance cases are structured logical arguments supported by evidence that explain how systems, possibly software systems, satisfy desirable properties for safety, security or reliability. The confidence in both the logical reasoning and the underlying evidence is a factor that must be considered carefully when evaluating an assurance case; the developers must have confidence in their case before the system is delivered and the assurance case reviewer, such as a regulatory body, must have adequate confidence in the case before approving the system for use.

From Requirements to Code: Model Based Development of A Medical Cyber Physical System?

The advanced use of technology in medical devices has improved the way health care is delivered to patients. Unfortunately, the increased complexity of modern medical devices poses challenges for development, assurance, and regulatory approval. In an eort to improve the safety of advanced medical devices, organizations such as FDA have supported exploration of techniques to aid in the development and regulatory approval of such systems. In an ongoing research project, our aim is to provide effective development techniques and exemplars of system

Steering Model-Based Oracles to Admit Real Program Behaviors

The oracle - an arbiter of correctness of the system under test (SUT) - is a major component of the testing process. Specifying oracles is challenging for real-time embedded systems, where small changes in time or sensor inputs may cause large differences in behavior. Behavioral models of such systems, often built for analysis and simulation, are appealing for reuse as oracles. However, these models typically provide an idealized view of the system.