placeholder image
  • Contact Info
Publications in VIVO

Cerny, Pavol Assistant Professor


Research Areas research areas


research overview

  • Dr. Cerny's research focuses on improving programmer productivity by developing methods and tools that make it easier to write reliable software. His research efforts are concentrated in two areas. The first area is program verification, where he develops techniques for automatically proving correctness of programs. Current focus is on verifying security properties of software. The second, more recent research area, is program synthesis. His goal is to develop techniques for synthesizing programs from insights provided by the programmer in a variety of styles (imperative programming, declarative specification, example scenarios). Current application areas for this work include network controllers (for software-defined networks) and device drivers.


  • computer-aided verification, programming languages, program synthesis, algorithmic and logical foundations for reliable software


selected publications


courses taught

  • CSCI 5135 - Computer-Aided Verification
    Primary Instructor - Fall 2018
    Covers two-level and multilevel minimization, optimization via expert systems, algebraic and Boolean decomposition, layout methodologies, state assignment, encoding and minimization, silicon compilation. Recommended prerequisites: ECEN 2703 and general proficiency in discrete mathematics and programming. Same as ECEN 5139.
  • ECEN 1310 - C Programming for ECE
    Primary Instructor - Spring 2018 / Spring 2019
    Introduces fundamental programming concepts with engineering applications using C at a lower level of abstraction and MATLAB at a higher, application-focused level. Teaches the use of pointers, control flow, and data types. Example engineering applications include signal processing and the numerical computations. Includes a weekly computer lab session. Recommended prerequisite: APPM 1350. Degree credit not granted for this course and CSCI 1300 or CSPB 1300 or CSCI 1310 or CSCI 1320.
  • ECEN 5139 - Computer-Aided Verification
    Primary Instructor - Fall 2018
    Covers theoretical and practical aspects of verification of finite-state systems (hardware) and infinite-state systems (programs). Model checking: temporal logics, explicit-state and symbolic search, BDDs. Constraint solvers: SAT solvers, decision procedures. Program verification: invariants, partial vs. total correctness, abstraction. Recommended prerequisite: CSCI 2824. Department enforced requisite: general proficiency in discrete mathematics and programming. Same as CSCI 5135.


International Activities

global connections related to teaching and scholarly work (in recent years)

Other Profiles