placeholder image
  • Contact Info
Publications in VIVO
 

Cerny, Pavol Assistant Professor

Positions

Research Areas research areas

Research

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.

keywords

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

Publications

selected publications

Teaching

courses taught

  • CSCI 5900 - Master's Level Independent Study Provides opportunities for independent study at the master's level. (Spring 2019 UC Boulder)
  • CSCI 6950 - Master's Thesis - (Spring 2019 UC Boulder)
  • CSCI 8990 - Doctoral Dissertation Investigates some specialized field of computer science. Approved and supervised by faculty members. (Spring 2019 UC Boulder)
  • ECEN 1310 - C Programming for ECE 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 CSCI 1310 or CSCI 1320. (Spring 2019 UC Boulder)
  • ECEN 5840 - Independent Study Offers an opportunity for students to do independent, creative work at the master's level. Numbered ECEN 5840-5849. Department consent required. (Spring 2019 UC Boulder)
  • ECEN 6950 - Master's Thesis - (Spring 2019 UC Boulder)
  • ECEN 8990 - Doctoral Thesis - (Spring 2019 UC Boulder)
  • CSCI 5135 - Computer-Aided Verification 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. (Fall 2018 UC Boulder)
  • CSCI 8990 - Doctoral Dissertation Investigates some specialized field of computer science. Approved and supervised by faculty members. (Fall 2018 UC Boulder)
  • ECEN 4840 - Independent Study Offers an opportunity for seniors to do independent, creative work. May be repeated up to 6 total credit hours. Department consent required. (Fall 2018 UC Boulder)
  • ECEN 5139 - Computer-Aided Verification 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. (Fall 2018 UC Boulder)
  • ECEN 8990 - Doctoral Thesis - (Fall 2018 UC Boulder)
  • CSCI 8990 - Doctoral Dissertation Investigates some specialized field of computer science. Approved and supervised by faculty members. (Summer 2018 UC Boulder)
  • ECEN 6950 - Master's Thesis - (Summer 2018 UC Boulder)
  • CSCI 5900 - Master's Level Independent Study Provides opportunities for independent study at the master's level. (Spring 2018 UC Boulder)
  • CSCI 6950 - Master's Thesis - (Spring 2018 UC Boulder)
  • CSCI 8990 - Doctoral Dissertation Investigates some specialized field of computer science. Approved and supervised by faculty members. (Spring 2018 UC Boulder)
  • ECEN 1310 - C Programming for ECE 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 CSCI 1310 or CSCI 1320. (Spring 2018 UC Boulder)
  • ECEN 5840 - Independent Study Offers an opportunity for students to do independent, creative work at the master's level. Numbered ECEN 5840-5849. Department consent required. (Spring 2018 UC Boulder)
  • ECEN 6950 - Master's Thesis - (Spring 2018 UC Boulder)
  • ECEN 8990 - Doctoral Thesis - (Spring 2018 UC Boulder)

Background

International Activities

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

Other Profiles