• Contact Info
Publications in VIVO

Izraelevitz, Joseph

Assistant Professor

Positions

Research Areas research areas

Research

research overview

  • I work at the intersection of systems software and distributed computing theory, and most of my work is tied together by the twin themes of nonvolatile memory technologies and parallel programming. On the systems side, I have built run-time libraries for ensuring consistent state on machines with new nonvolatile memory technologies, concurrent and persistent data structures, and novel consensus protocols. On the theory side, I have proven my systems work correct and developed formal tools for reasoning about programs in nonvolatile memory. In general, I build practical systems with formal guarantees

keywords

  • computer systems, systems software, nonvolatile memory, distributed systems, concurrent programming

Publications

selected publications

Teaching

courses taught

  • CSCI 4313 - Concurrent Programming
    Primary Instructor - Fall 2022 / Fall 2023 / Fall 2024
    Introduces the theory and practice of multicore programming. The first part of the course presents foundations of concurrent programming: mutual exclusion, wait-free and lock-free synchronization, spin locks, monitors, memory consistency models. The second part presents a sequence of concurrent data structures and techniques used in their implementations (coarse-grained, fine-grained, optimistic and lock-free synchronization). Recommended prerequisite: ECEN 3593. Same as ECEN 4313 and ECEN 5313 and CSCI 5313.
  • CSCI 4555 - Compiler Construction
    Primary Instructor - Spring 2022 / Spring 2023 / Spring 2024
    Introduces the principles and techniques for compiling high-level programming languages to assembly code. Topics include parsing, instruction selection, register allocation, and compiling high-level features such as polymorphism, first-class functions, and objects. Students build a complete compiler for a simple language. Same as ECEN 5523 and ECEN 4553 and CSCI 5525.
  • CSCI 4830 - Special Topics in Computer Science
    Primary Instructor - Fall 2019 / Fall 2020
    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 5313 - Concurrent Programming
    Primary Instructor - Fall 2023 / Fall 2024
    Introduces the theory and practice of multicore programming. The first part of the course presents foundations of concurrent programming: mutual exclusion, wait-free and lock-free synchronization, spin locks, monitors, memory consistency models. The second part presents a sequence of concurrent data structures and techniques used in their implementations (coarse-grained, fine-grained, optimistic and lock-free synchronization). Recommended prerequisite: ECEN 3593. Same as ECEN 5313 and ECEN 4313 and CSCI 4313.
  • CSCI 5525 - Compiler Construction
    Primary Instructor - Spring 2022 / Spring 2023 / Spring 2024
    Introduces the principles and techniques for compiling high-level programming languages to assembly code. Topics include parsing, instruction selection, register allocation, and compiling high-level features such as polymorphism, first-class functions, and objects. Students build a complete compiler for a simple language. Recommended prerequisites: CSCI 3155 and CSCI 2400 or ECEN 3350. Same as CSCI 4555 and ECEN 4553 and ECEN 5523.
  • ... more

Background

International Activities

Other Profiles