• Contact Info
Publications in VIVO
 

Sankaranarayanan, Sriram

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

  • COEN 1830 - Special Topics
    Primary Instructor - Fall 2023
    Explores topics of interest in engineering. Content varies by instructor and semester. May be repeated up to 9 total credit hours.
  • COEN 3930 - Engineering Internship/Co-op
    Primary Instructor - Summer 2021 / Summer 2022 / Summer 2023
    Students enrolled in this course participate in a pre-approved internship or cooperative education program with an employer that allows them to explore the relationship between theory and practice and demonstrate evidence of significant learning (e.g., academic assignments and employer/sponsor evaluations). Credits may apply towards BS or BA degree program in CEAS, please check with the department for specifics (even if student has multiple enrollments in this course and/or COEN 4950). Students should contact the CEAS Extracurricular Programs Manager for more information. Minimum 2.00 cumulative GPA is required.
  • CSCA 5414 - Dynamic Programming, Greedy Algorithms
    Primary Instructor - Fall 2023 / Spring 2024 / Summer 2024 / Fall 2024
    This course covers basic algorithm design techniques such as divide and conquer, dynamic programming, and greedy algorithms. It concludes with a brief introduction to intractability (NP-completeness) and using linear/integer programming solvers for solving optimization problems. Same as DTSA 5503.
  • CSCA 5424 - Approximation Algorithms and Linear Programming
    Primary Instructor - Fall 2023 / Spring 2024 / Summer 2024 / Fall 2024
    Covers ideas surrounding approximation algorithms including a rigorous mathematical analysis of the approximation guarantees provided by these algorithms. Teaches the use of linear/integer programming formulations for common algorithmic problems and the relation between integer optimization problems and their linear programming relaxations. Introduces key mathematical concepts needed to analyze these algorithms and explores the application of algorithmic concepts to real-world problems.
  • CSCA 5454 - Advanced Data Structures, RSA and Quantum Algorithms
    Primary Instructor - Spring 2024 / Summer 2024 / Fall 2024
    Covers advanced ideas in data structures such as B-Trees and Fibonacci heaps while presenting further applications of amortized analyses. Introduces number theoretic algorithms that form the basis of RSA public-key cryptography. Provides a brief introduction to quantum computing/algorithms by teaching the basics of quantum computation and two important examples of efficient quantum algorithms. Introduces key mathematical concepts needed to analyze these algorithms and explores the application of algorithmic concepts to real-world problems.
  • CSCI 3155 - Principles of Programming Languages
    Primary Instructor - Fall 2018 / Spring 2019 / Spring 2020 / Fall 2020 / Spring 2021 / Spring 2022 / Spring 2023
    Studies principles governing the design and analysis of programming languages and their underlying execution models. Explores values, scoping, recursion, higher-order functions, type systems, control structures, and objects. Introduces formal semantics as a framework for understanding programming features. Introduces advanced programming concepts such as functional programming, higher-order functions, immutable values and structures, inductive types, functors, continuation-passing; and object-oriented programming using inheritance, generics and covariance/contravariance in a functional programming language such as Scala. 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. Knowledge of Python strongly recommended. Same as CSPB 3202.
  • CSCI 4830 - Special Topics in Computer Science
    Primary Instructor - Spring 2021 / Fall 2022
    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 / Fall 2023 / Spring 2024 / Fall 2024
    Provides an opportunity for senior computer science majors to conduct exploratory research in computer science as an option for the capstone requirement. Department enforced prerequisites: 35 hours of Computer Science coursework including Foundation courses, Upper-Division writing, CS GPA 3.0. Department consent required, contact academic advisor for details. May be repeated up to 8 total credit hours.
  • CSCI 5454 - Design and Analysis of Algorithms
    Primary Instructor - Fall 2018 / Spring 2019 / Spring 2023 / Fall 2024
    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 / Spring 2022 / Spring 2024
    Presents algorithms, simplex and modifications. Examines theory-duality and complementary slackness. Involves network flow algorithms. Introduces integer programming. Recommended prerequisite: linear algebra.
  • CSCI 6930 - Professional Internship
    Primary Instructor - Summer 2022
    This class provides a structure for CS graduate students to receive academic credit for internships with industry partners that have an academic component to them suitable for graduate-level work. Participation in the program will consist of an internship agreement between a student and an industry partner who will employ the student in a role that supports the academic goals of the internship. Instructor participation will include facilitation of mid-term and final assessments of student performance as well as support for any academic-related issues that may arise during the internship period. May be taken during any term following initial enrollment and participation in CS graduate programs.
  • CSCI 7000 - Current Topics in Computer Science
    Primary Instructor - Spring 2019 / Fall 2022
    Covers research topics of current interest in computer science that do not fall into a standard subarea. May be repeated up to 18 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 principles governing the design and analysis of programming languages and their underlying execution models. Explores values, scoping, recursion, higher-order functions, type systems, control structures, and objects. Introduces formal semantics as a framework for understanding programming features. Introduces advanced programming concepts such as functional programming, higher-order functions, immutable values and structures, inductive types, functors, continuation-passing; and object-oriented programming using inheritance, generics and covariance/contravariance in a functional programming language such as Scala. Same as CSCI 3155.
  • DTSA 5501 - Algorithms for Searching, Sorting, and Indexing
    Primary Instructor - Summer 2021 / Fall 2021 / Spring 2022 / Summer 2022 / Fall 2022 / Spring 2023 / Summer 2023 / Fall 2023 / Spring 2024 / Summer 2024 / Fall 2024
    This course covers basics of algorithm design and analysis, as well as algorithms for sorting arrays, data structures such as priority queues, hash functions, and applications such as Bloom filters.
  • DTSA 5502 - Trees and Graphs: Basics
    Primary Instructor - Summer 2021 / Fall 2021 / Spring 2022 / Summer 2022 / Fall 2022 / Spring 2023 / Summer 2023 / Fall 2023 / Spring 2024 / Summer 2024 / Fall 2024
    Basic algorithms on tree data structures, binary search trees, self-balancing trees, graph data structures and basic traversal algorithms on graphs. This course also covers advanced topics such as kd-trees for spatial data and algorithms for spatial data.
  • DTSA 5503 - Dynamic Programming, Greedy Algorithms
    Primary Instructor - Summer 2021 / Fall 2021 / Spring 2022 / Summer 2022 / Fall 2022 / Spring 2023 / Summer 2023 / Fall 2023 / Spring 2024 / Summer 2024 / Fall 2024
    This course covers basic algorithm design techniques such as divide and conquer, dynamic programming, and greedy algorithms. It concludes with a brief introduction to intractability (NP-completeness) and using linear/integer programming solvers for solving optimization problems. Same as CSCA 5414.

Background

awards and honors

International Activities

Other Profiles