류석영 교수
SukYoung Ryu
KAIST 전산학부 · 컴퓨터과학
연구실 소개
류석영 교수의 연구실은 프로그래밍 언어 설계, 정적 분석 및 언어 기반 도구 개발을 중심으로 활동하고 있습니다. 특히 다중 프로그래밍 언어를 지원하는 선언적 정적 분석 기법, 다중 스레드 환경에서의 예외 처리 분석, Fortress와 같은 고성능 과학 계산용 언어의 구문 분석 및 정적 분석 기법 개발에 초점을 맞추고 있습니다. GPU 기반 고성능 이미징 처리 기술을 활용한 의료 영상 분석도 함께 진행 중이며, 기능형 프로그래밍과 객체 지향 프로그래밍의 융합을 위한 언어 기반 기법 개발도 연구하고 있습니다.
연구 현황
연구 성과 추이
표시된 성과는 수집된 데이터 기준으로 산출되며, 일부 차이가 있을 수 있습니다.
주요 논문
15fill(f : I → E) : ReadableArrayJE, IK abstract fill(v :E) : ReadableArrayJE, IK abstract copy() : ReadableArrayJE, IK Create a fresh array structurally identical to the present one, but holding elements of type U . abstract replicaJUK() : ReadableArrayJU, IK opr =(self, other : HasRank): Boolean end trait ImmutableArrayJE, IK extends {ReadableArrayJE, IK } excludes {ArrayJE, IK } abstract opr [r : RangeJIK] : ImmutableArrayJE, IK abstract opr [ : OpenRangeJAnyK] : ImmutableArrayJE, IK abstract i
Summary Declarative static program analysis has become one of the widely‐used program analysis techniques. Declarative static analyzers perform three steps: creating databases of facts from program source code, evaluating rules to generate new facts, and running queries over facts to extract all information related to specific properties via query systems. Declarative static analyzers can easily target diverse programming languages by modifying only databases and rules for new languages. Because
In this paper, we report our experience with parsing the syntax of the Fortress programming language. Fortress is a new programming language designed for scientific and high-performance computing. Features include: implicit parallelism, transactions, and concrete syntax that emulates mathematical notation. Fortress is intended to grow over time to accommodate the changing needs of its users.
While object-oriented languages are designed for information hiding and data encapsulation, intensive data manipulation often calls for pattern matching, one of the main features of functional programming languages. Pattern matching provides a concise way to describe specific structures or conditions of objects so that programmers can clearly identify and easily access the corresponding objects. The need for both object information hiding and pattern matching over objects, which are seemingly co
This paper presents a static analysis that estimates uncaught exceptions in multithreaded Java programs. In Java, throwing exceptions across threads is deprecated because of the safely problem. Instead of restricting programmers' freedom, we extend the Java language to support multithreaded exception handling and propose a tool to detect uncaught exceptions in the input programs. Our analysis consists of two steps. The analysis firstly, estimates concurrently evaluated expressions of the multith
Frequency domain optical coherence tomography (FD-OCT) has become one of the important clinical tools for intracoronary imaging to diagnose and monitor coronary artery disease, which has been one of the leading causes of death. To help more accurate diagnosis and monitoring of the disease, many researchers have recently worked on visualization of various coronary microscopic features including stent struts by constructing three-dimensional (3D) volumetric rendering from series of cross-sectional
We demonstrate a novel hybrid-beam scanning-based quantitative optical coherence tomography angiography (OCTA) that provides high-speed wide dynamic range blood flow speed imaging. The hybrid-beam scanning scheme enables multiple OCTA image acquisitions with a wide range of multiple time intervals simultaneously providing wide dynamic range blood flow speed imaging independent of the blood vessel orientation, which was quantified over a speed range of 0.6∼104 mm/s through the blood flow phantom
We present our journey to analyze and find bugs in JavaScript web applications in the wild. We describe technical challenges in analyzing them and our solutions to address the challenges via a series of open source analysis frameworks, the scalable analysis framework for ECMAScript (SAFE) family.
Changes of retinal blood vessel calibers may reflect various retinal diseases and even several non-retinal diseases. We propose a new method to estimate retinal vessel calibers from 3D optical coherence tomography angiography (OCTA) images based on 3D modeling using superellipsoids. Taking advantage of 3D visualization of the retinal tissue microstructures in vivo provided by OCTA, our method can detect retinal blood vessels precisely, estimate their calibers reliably, and show the relative flow
Programming languages grow over time that requires frequent changes in language manipulations such as compilation, interpretation, and analysis. Because the very first step of most language manipulations is parsing, whether parsing can adapt to changes easily, quickly, and correctly, it affects the scalability of language manipulations. Even though various parsing techniques have been well studied theoretically, their practical experiences in scalable frameworks have not been available. In this
In object-oriented programs, objects often provide methods whose parameter types or return types are the object types themselves. For example, the parameter types of binary methods are the types of their receiver objects, and the return types of some factory methods are the types of their enclosing objects. However, most object-oriented languages do not support such methods precisely because their type systems do not support explicit recursive types, which lead to a mismatch between subclassing
Proposing a new approach to programming language development.
대표 연구 분야
류석영 교수의 연구를 Nubint에서 더 깊이 살펴보세요
이 연구실의 논문을 앱에서 열어 AI와 함께 읽고, 핵심을 요약하고, 내 글에 인용하세요.