• Contact Info
Publications in VIVO
 

Sankaranarayanan, Sriram Associate Professor and S.J. Archuleta Endowed Professor

Positions

Research Areas research areas

Research

research overview

  • Dr. Sankaranarayanan is primarily interested in formal verification techniques, especially for hybrid cyber-physical systems (CPS) which model discrete programs interacting with a continuous environment. In this regard, his work explores the application of techniques from areas such as convex optimization, algebraic geometric methods, combinatorial optimization, symbolic and numerical decision procedures to analyze the behavior of programs and verify key temporal properties such as safety, termination, liveness and stability. His recent work applies Monte-Carlo sampling, rare-event simulations and extreme value theory to develop novel verification techniques for cyber-physical systems is ongoing. Finally, his group is actively extending the scope of verification from verifying the software systems to verifying systems with human operators in the loop using cognitive science techniques to understand and model the behavior of human operators.

keywords

  • Program Verification, Cyber-Physical Systems, Embedded Systems, Dynamical Systems, Monte-Carlo Technique, Logic, Formal Languages, Automata Theory, Theoretical Computer Science

Publications

selected publications

Teaching

courses taught

  • CSCI 3155 - Principles of Programming Languages
    Primary Instructor - Fall 2018 / Spring 2019 / Spring 2020 / Fall 2020 / Spring 2021
    Studies fundamental principles governing the design and analysis of programming languages and the execution models underlying them. Explores a variety of concepts including values, scoping, recursion, higher-order functions, type systems, control structures, and objects. Introduces the notion of formal semantics as a framework to understanding programming features. Same as CSPB 3155.
  • CSCI 3202 - Introduction to Artificial Intelligence
    Secondary Instructor - Spring 2021
    Surveys artificial intelligence techniques of search, knowledge representation and reasoning, probabilistic inference, machine learning, and natural language. Same as CSPB 3202.
  • CSCI 4830 - Special Topics in Computer Science
    Primary Instructor - Spring 2021
    Covers topics of interest in computer science at the senior undergraduate level. Content varies from semester to semester. Only 9 credit hours from CSCI 4830 and/or CSCI 4831 can count toward Computer Science BS or BA.
  • CSCI 4950 - Senior Thesis
    Primary Instructor - Fall 2019 / Spring 2020
    Provides an opportunity for senior computer science majors to conduct exploratory research in computer science. Department enforced restriction, successful completion of a minimum of 36 credit hours of Computer Science coursework and approved WRTG. May be repeated up to 8 total credit hours.
  • CSCI 5454 - Design and Analysis of Algorithms
    Primary Instructor - Fall 2018 / Spring 2019
    Techniques for algorithm design, analysis of correctness and efficiency; divide and conquer, dynamic programming, probabilistic methods, advanced data structures, graph algorithms, etc. Lower bounds, NP-completeness, intractability. Recommended prerequisite: CSCI 2270 or equivalent.
  • CSCI 5654 - Linear Programming
    Primary Instructor - Spring 2020
    Presents algorithms, simplex and modifications. Examines theory-duality and complementary slackness. Involves network flow algorithms. Introduces integer programming. Recommended prerequisite: linear algebra.
  • CSCI 7000 - Current Topics in Computer Science
    Primary Instructor - Spring 2019
    Covers research topics of current interest in computer science that do not fall into a standard subarea. May be repeated up to 8 total credit hours.
  • CSCI 7135 - Topics in Programming Languages
    Primary Instructor - Fall 2018 / Spring 2021
    Topics selected by instructor. Possible topics are syntax, semantics, metacompilers, compiler design, and translator writing systems. Department consent required.
  • CSPB 3155 - Principles of Programming Languages
    Primary Instructor - Fall 2020
    Studies fundamental principles governing the design and analysis of programming languages and the execution models underlying them. Explores a variety of concepts including values, scoping, recursion, higher-order functions, type systems, control structures, and objects. Introduces the notion of formal semantics as a framework to understanding programming features. Same as CSCI 3155.

Background

International Activities

Other Profiles