Skip to main content

허정길 교수

Chung-Kil Hur

서울대학교 · 컴퓨터과학

연구실 소개

허정길 교수의 연구실은 동시성 프로그래밍의 정당성과 컴파일러 검증에 초점을 맞춘 합리적이고 구현 가능한 메모리 모델을 개발하고 있습니다. 특히 C++11의 동시성 모델에 내재된 문제점을 진단하고, 이를 보완한 'RC11' 메모리 모델을 제안함으로써 프로그래머의 직관과 하드웨어의 효율성을 동시에 충족시키는 기반을 마련했습니다. 또한, 컴파일러 검증의 모듈성과 타당성을 확보하기 위한 구성적 검증 기법과, 공리적 추론 기반의 고급 프로그래밍 언어 의미 이론을 개발하고 있습니다. 이는 신뢰할 수 있는 소프트웨어 개발을 위한 종합적 기반을 제공합니다.

메모리 모델컴파일러 검증동시성 프로그래밍논리적 관계공리적 추론

연구 현황

논문 수
77
총 인용 수
2,025
최근 5년 논문
15
주요 분야
컴퓨터과학

연구 성과 추이

표시된 성과는 수집된 데이터 기준으로 산출되며, 일부 차이가 있을 수 있습니다.

5개년 연도별 논문 게재 수
15총합
2022
2023
2024
2025
2026
5개년 연도별 피인용 수
54총합
20222023202420252026

주요 논문

15
1
논문|인용수 155·2017
Repairing sequential consistency in C/C++11
Ori Lahav, Viktor Vafeiadis, Jeehoon Kang, Chung-Kil Hur, Derek Dreyer
FWCI 14.4

The C/C++11 memory model defines the semantics of concurrent memory accesses in C/C++, and in particular supports racy "atomic" accesses at a range of different consistency levels, from very weak consistency ("relaxed") to strong, sequential consistency ("SC"). Unfortunately, as we observe in this paper, the semantics of SC atomic accesses in C/C++11, as well as in all proposed strengthenings of the semantics, is flawed, in that (contrary to previously published results) both suggested compilati

Hardware and ArchitectureComputer Science
2
논문|인용수 136·2016
A promising semantics for relaxed-memory concurrency
Jeehoon Kang, Chung-Kil Hur, Ori Lahav, Viktor Vafeiadis, Derek Dreyer
FWCI 16.4

Despite many years of research, it has proven very difficult to develop a memory model for concurrent programming languages that adequately balances the conflicting desiderata of programmers, compilers, and hardware. In this paper, we propose the first relaxed memory model that (1) accounts for a broad spectrum of features from the C++11 concurrency model, (2) is implementable, in the sense that it provably validates many standard compiler optimizations and reorderings, as well as standard compi

Hardware and ArchitectureComputer Science
3
논문|인용수 124·2019
Interaction trees: representing recursive and impure programs in Coq
Li-yao Xia, Yannick Zakowski, Paul He, Chung-Kil Hur, Gregory Malecha, Benjamin C. Pierce, Steve Zdancewic
SJR Q1FWCI 5.6Proceedings of the ACM on Programming LanguagesOA

Interaction trees (ITrees) are a general-purpose data structure for representing the behaviors of recursive programs that interact with their environments. A coinductive variant of “free monads,” ITrees are built out of uninterpreted events and their continuations. They support compositional construction of interpreters from event handlers , which give meaning to events by defining their semantics as monadic actions. ITrees are expressive enough to represent impure and potentially nonterminating

Artificial IntelligenceComputer Science
4
논문|인용수 119·2009
Biorthogonality, step-indexing and compiler correctness
Nick Benton, Chung-Kil Hur
FWCI 17.7

We define logical relations between the denotational semantics of a simply typed functional language with recursion and the operational behaviour of low-level programs in a variant SECD machine. The relations, which are defined using biorthogonality and stepindexing, capture what it means for a piece of low-level code to implement a mathematical, domain-theoretic function and are used to prove correctness of a simple compiler. The results have been formalized in the Coq proof assistant.

Artificial IntelligenceComputer Science
5
논문|인용수 93·2013
The power of parameterization in coinductive proof
Chung-Kil Hur, Georg Neis, Derek Dreyer, Viktor Vafeiadis
FWCI 13.9

Coinduction is one of the most basic concepts in computer science. It is therefore surprising that the commonly-known lattice-theoretic accounts of the principles underlying coinductive proofs are lacking in two key respects: they do not support compositional reasoning (i.e. breaking proofs into separate pieces that can be developed in isolation), and they do not support incremental reasoning (i.e. developing proofs interactively by starting from the goal and generalizing the coinduction hypothe

Artificial IntelligenceComputer Science
6
논문|인용수 91·2015
Pilsner: a compositionally verified compiler for a higher-order imperative language
Georg Neis, Chung-Kil Hur, Jan-Oliver Kaiser, Craig McLaughlin, Derek Dreyer, Viktor Vafeiadis
FWCI 17.0

Compiler verification is essential for the construction of fully verified software, but most prior work (such as CompCert) has focused on verifying whole-program compilers. To support separate compilation and to enable linking of results from different verified compilers, it is important to develop a compositional notion of compiler correctness that is modular (preserved under linking), transitive (supports multi-pass compilation), and flexible (applicable to compilers that use different interme

Artificial IntelligenceComputer Science
7
논문|인용수 89·2014
R2: An Efficient MCMC Sampler for Probabilistic Programs
Aditya Nori, Chung-Kil Hur, Sriram K. Rajamani, Selva Samuel
FWCI 8.5Proceedings of the AAAI Conference on Artificial IntelligenceOA

We present a new Markov Chain Monte Carlo (MCMC) sampling algorithm for probabilistic programs. Our approach and tool, called R2, has the unique feature of employing program analysis in order to improve the efficiencyof MCMC sampling. Given an input program P, R2 propagates observations in P backwards to obtaina semantically equivalent program P' in which every probabilistic assignment is immediately followed by an observe statement. Inference is performed by a suitably modified version of the M

Artificial IntelligenceComputer Science
8
논문|인용수 86·2021
Alive2: bounded translation validation for LLVM
Nuno P. Lopes, Juneyoung Lee, Chung-Kil Hur, Zhengyang Liu, John Regehr
FWCI 7.0

We designed, implemented, and deployed Alive2: a bounded translation validation tool for the LLVM compiler’s intermediate representation (IR). It limits resource consumption by, for example, unrolling loops up to some bound, which means there are circumstances in which it misses bugs. Alive2 is designed to avoid false alarms, is fully automatic through the use of an SMT solver, and requires no changes to LLVM. By running Alive2 over LLVM’s unit test suite, we discovered and reported 47 new bugs,

Artificial IntelligenceComputer Science
9
논문|인용수 76·2011
Strongly Typed Term Representations in Coq
Nick Benton, Chung-Kil Hur, Andrew Kennedy, Conor McBride
SJR Q2FWCI 7.5Journal of Automated Reasoning
Artificial IntelligenceComputer Science
10
논문|인용수 69·2011
A kripke logical relation between ML and assembly
Chung-Kil Hur, Derek Dreyer
FWCI 8.0ACM SIGPLAN Notices

There has recently been great progress in proving the correctness of compilers for increasingly realistic languages with increasingly realistic runtime systems. Most work on this problem has focused on proving the correctness of a particular compiler, leaving open the question of how to verify the correctness of assembly code that is hand-optimized or linked together from the output of multiple compilers. This has led Benton and other researchers to propose more abstract, compositional notions o

Artificial IntelligenceComputer Science
11
논문|인용수 60·2011
A kripke logical relation between ML and assembly
Chung-Kil Hur, Derek Dreyer
FWCI 8.0

There has recently been great progress in proving the correctness of compilers for increasingly realistic languages with increasingly realistic runtime systems. Most work on this problem has focused on proving the correctness of a particular compiler, leaving open the question of how to verify the correctness of assembly code that is hand-optimized or linked together from the output of multiple compilers. This has led Benton and other researchers to propose more abstract, compositional notions o

Artificial IntelligenceComputer Science
12
논문|인용수 59·2012
The marriage of bisimulations and Kripke logical relations
Chung-Kil Hur, Derek Dreyer, Georg Neis, Viktor Vafeiadis
FWCI 8.9

There has been great progress in recent years on developing effective techniques for reasoning about program equivalence in ML-like languages---that is, languages that combine features like higher-order functions, recursive types, abstract types, and general mutable references. Two of the most prominent types of techniques to have emerged are *bisimulations* and *Kripke logical relations (KLRs)*. While both approaches are powerful, their complementary advantages have led us and other researchers

Artificial IntelligenceComputer Science
13
논문|인용수 47·2014
Slicing probabilistic programs
Chung-Kil Hur, Aditya V. Nori, Sriram K. Rajamani, Selva Samuel
FWCI 11.8

Probabilistic programs use familiar notation of programming languages to specify probabilistic models. Suppose we are interested in estimating the distribution of the return expression r of a probabilistic program P. We are interested in slicing the probabilistic program P and obtaining a simpler program Sli(P) which retains only those parts of P that are relevant to estimating r, and elides those parts of P that are not relevant to estimating r. We desire that the Sli transformation be both cor

SoftwareComputer Science
14
논문|인용수 47·2016
Lightweight verification of separate compilation
Jeehoon Kang, Yoonseung Kim, Chung-Kil Hur, Derek Dreyer, Viktor Vafeiadis
FWCI 10.7

Major compiler verification efforts, such as the CompCert project, have traditionally simplified the verification problem by restricting attention to the correctness of whole-program compilation, leaving open the question of how to verify the correctness of separate compilation. Recently, a number of sophisticated techniques have been proposed for proving more flexible, compositional notions of compiler correctness, but these approaches tend to be quite heavyweight compared to the simple "closed

Artificial IntelligenceComputer Science
15
논문|인용수 40·2012
The marriage of bisimulations and Kripke logical relations
Chung-Kil Hur, Derek Dreyer, Georg Neis, Viktor Vafeiadis
FWCI 8.0ACM SIGPLAN Notices

There has been great progress in recent years on developing effective techniques for reasoning about program equivalence in ML-like languages---that is, languages that combine features like higher-order functions, recursive types, abstract types, and general mutable references. Two of the most prominent types of techniques to have emerged are *bisimulations* and *Kripke logical relations (KLRs)*. While both approaches are powerful, their complementary advantages have led us and other researchers

Artificial IntelligenceComputer Science

대표 연구 분야

Artificial IntelligenceHardware and ArchitectureSoftwareComputational Theory and MathematicsComputer Networks and CommunicationsAerospace Engineering

허정길 교수의 연구를 Nubint에서 더 깊이 살펴보세요

이 연구실의 논문을 앱에서 열어 AI와 함께 읽고, 핵심을 요약하고, 내 글에 인용하세요.