• Contact Info
Publications in VIVO
 

Chang, Bor-Yuh Evan

Associate Professor

Positions

Research Areas research areas

Research

research overview

  • Dr. Chang’s research focuses on tools and techniques for building, understanding, and ensuring reliable computational systems. An overarching theme in Dr. Chang’s work is finding novel ways for users to interact with powerful automated reasoning engines, that is, to create program analyzers that truly amplify human efforts. A novel aspect of his work includes extracting necessary program invariants and reasoning rules from a variety of sources, including executable assertions, recorded traces, and source-code repositories.

keywords

  • program analysis, software quality, programming languages, automated reasoning, programmer productivity tools, reliable systems, verification, logic

Publications

selected publications

Teaching

courses taught

  • CSCI 3155 - Principles of Programming Languages
    Primary Instructor - Fall 2022 / Fall 2024
    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 5535 - Fundamental Concepts of Programming Languages
    Primary Instructor - Spring 2018 / Spring 2020 / Fall 2023
    Considers concepts common to a variety of programming languages--how they are described (both formally and informally) and how they are implemented. Provides a firm basis for comprehending new languages and gives insight into the relationship between languages and machines. Recommended prerequisite: CSCI 3155 or instructor consent required. Same as ECEN 5533.
  • ECEN 5533 - Fundamental Concepts of Programming Languages
    Primary Instructor - Spring 2020
    Considers concepts common to a variety of programming languages--how they are described (both formally and informally) and how they are implemented. Provides a firm basis for comprehending new languages and gives insight into the relationship between languages and machines. Same as CSCI 5535.

Background

International Activities

Other Profiles