Skip to main content

Sunbeom So

Korea University · 情報科学

研究室紹介

Professor Sunbeom So's research lab specializes in program synthesis, verification, and automated feedback generation for educational and security-critical software systems. The lab focuses on developing intelligent tools that automatically synthesize correct programs—such as regular expressions, pattern generators, and smart contract patches—based on input examples or specifications. A key emphasis is on ensuring correctness, efficiency, and usability in real-world applications, particularly in functional programming education and Ethereum smart contract security. The lab combines techniques from symbolic execution, type-directed synthesis, and search-space pruning to build precise, scalable, and practical verification and synthesis systems.

program synthesissmart contract verificationautomated feedbackregular expression synthesisprogram repair

Research Overview

Papers
29
Total Citations
335
Papers (5y)
19
Primary Field
情報科学

Research Output Trend

Figures are computed from collected data and may differ slightly.

Publications per year (5y)
19total
2019
2020
2021
2023
2026
Citations per year (5y)
192total
20192020202120232026

Selected Papers

15
1
Article|137 citations·2020
VERISMART: A Highly Precise Safety Verifier for Ethereum Smart Contracts
Sunbeom So, Myungho Lee, Jisu Park, Heejo Lee, Hakjoo Oh
OA

We present VERISMART, a highly precise verifier for ensuring arithmetic safety of Ethereum smart contracts. Writing safe smart contracts without unintended behavior is critically important because smart contracts are immutable and even a single flaw can cause huge financial damage. In particular, ensuring that arithmetic operations are safe is one of the most important and common security concerns of Ethereum smart contracts nowadays. In response, several safety analyzers have been proposed over

Artificial IntelligenceComputer Science
2
Article|56 citations·2016
Synthesizing regular expressions from examples for introductory automata assignments
Mina Lee, Sunbeom So, Hakjoo Oh

We present a method for synthesizing regular expressions for introductory automata assignments. Given a set of positive and negative examples, the method automatically synthesizes the simplest possible regular expression that accepts all the positive examples while rejecting all the negative examples. The key novelty is the search-based synthesis algorithm that leverages ideas from over- and under-approximations to effectively prune out a large search space. We have implemented our technique in

Artificial IntelligenceComputer Science
3
Book Chapter|30 citations·2017
Synthesizing Imperative Programs from Examples Guided by Static Analysis
Sunbeom So, Hakjoo Oh
SJR Q2Lecture notes in computer science
SoftwareComputer Science
4
Article|25 citations·2021
SmarTest: Effectively Hunting Vulnerable Transaction Sequences in Smart Contracts through Language Model-Guided Symbolic Execution
Sunbeom So, Seongjoon Hong, Hakjoo Oh
Information SystemsComputer Science
5
Article|23 citations·2018
Automatic diagnosis and correction of logical errors for functional programming assignments
Junho Lee, Dowon Song, Sunbeom So, Hakjoo Oh
SJR Q1Proceedings of the ACM on Programming LanguagesOA

We present FixML, a system for automatically generating feedback on logical errors in functional programming assignments. As functional languages have been gaining popularity, the number of students enrolling functional programming courses has increased significantly. However, the quality of feedback, in particular for logical errors, is hardly satisfying. To provide personalized feedback on logical errors, we present a new error-correction algorithm for functional languages, which combines stat

SoftwareComputer Science
6
Article|18 citations·2016
Synthesizing regular expressions from examples for introductory automata assignments
Mina Lee, Sunbeom So, Hakjoo Oh
ACM SIGPLAN Notices

We present a method for synthesizing regular expressions for introductory automata assignments. Given a set of positive and negative examples, the method automatically synthesizes the simplest possible regular expression that accepts all the positive examples while rejecting all the negative examples. The key novelty is the search-based synthesis algorithm that leverages ideas from over- and under-approximations to effectively prune out a large search space. We have implemented our technique in

Artificial IntelligenceComputer Science
7
Article|17 citations·2023
SmartFix: Fixing Vulnerable Smart Contracts by Accelerating Generate-and-Verify Repair using Statistical Models
Sunbeom So, Hakjoo Oh

We present SmartFix, a new technique for repairing vulnerable smart contracts. There is an urgent need to develop automatic bug-repair techniques for smart contracts, as smart contracts are safety-critical software and manual debugging is burdensome and error-prone. While several repair approaches have been proposed recently, they are unsatisfactory since no existing techniques can achieve high repairability, full automation, and safety guarantee at the same time, posing significant problems for

Signal ProcessingComputer Science
8
Article|8 citations·2018
Synthesizing Pattern Programs from Examples
Sunbeom So, Hakjoo Oh
OA

We describe a programming-by-example system that automatically generates pattern programs from examples. Writing pattern programs, which produce various patterns of characters, is one of the most popular programming exercises for entry-level students. However, students often find it difficult to write correct solutions by themselves. In this paper, we present a method for synthesizing pattern programs from examples, allowing students to improve their programming skills efficiently. To that end,

Information SystemsComputer Science
9
Article|7 citations·2023
Diver: Oracle-Guided SMT Solver Testing with Unrestricted Random Mutations
Jongwook Kim, Sunbeom So, Hakjoo Oh

We present Diver, a novel technique for effectively finding critical bugs in SMT solvers. Ensuring the correctness of SMT solvers is becoming increasingly important as many applications use solvers as a foundational basis. In response, several approaches for testing SMT solvers, which are classified into differential testing and oracle-guided approaches, have been proposed until recently. However, they are still unsatisfactory in that (1) differential testing approaches cannot validate unique ye

SoftwareComputer Science
10
Preprint|6 citations·2017
Synthesizing Imperative Programs from Examples Guided by Static Analysis
Sunbeom So, Hakjoo Oh
arXiv (Cornell University)OA

We present a novel algorithm that synthesizes imperative programs for introductory programming courses. Given a set of input-output examples and a partial program, our algorithm generates a complete program that is consistent with every example. Our key idea is to combine enumerative program synthesis and static analysis, which aggressively prunes out a large search space while guaranteeing to find, if any, a correct solution. We have implemented our algorithm in a tool, called SIMPL, and evalua

Computer Science ApplicationsComputer Science
11
Preprint|5 citations·2019
VeriSmart: A Highly Precise Safety Verifier for Ethereum Smart Contracts
Sunbeom So, Myungho Lee, Jisu Park, Heejo Lee, Hakjoo Oh
arXiv (Cornell University)OA

We present VeriSmart, a highly precise verifier for ensuring arithmetic safety of Ethereum smart contracts. Writing safe smart contracts without unintended behavior is critically important because smart contracts are immutable and even a single flaw can cause huge financial damage. In particular, ensuring that arithmetic operations are safe is one of the most important and common security concerns of Ethereum smart contracts nowadays. In response, several safety analyzers have been proposed over

Artificial IntelligenceComputer Science
12
Article|2 citations·2017
Synthesizing imperative programs for introductory programming assignments
Sunbeom So, Hakjoo Oh
arXiv (Cornell University)OA
Computer Science ApplicationsComputer Science
13
paratext|1 citations·2023
Diver: Oracle-Guided SMT Solver Testing with Unrestricted Random Mutations
Jong-Wook Kim, Sunbeom So, Hakjoo Oh
Zenodo (CERN European Organization for Nuclear Research)OA

Diver is <strong>a black-box fuzzer for testing SMT Solvers</strong>. We provide the technical details of Diver in our paper "Diver: Oracle-Guided SMT Solver Testing with Unrestricted Random Mutations" accepted in ICSE 2023. The detailed instructions of the tool is available on the Github repository: https://github.com/kupl/Diver-Artifact

Information Systems and ManagementDecision Sciences
14
Article|0 citations·2017
Synthesizing Imperative Programs from Examples
Sunbeom So, Tae-Hyoung Choi, Jun Jung, Hakjoo Oh
Journal of KIISE

본 논문에서는 주어진 입 · 출력 예제로부터 명령형 프로그램을 합성하는 방법을 제시한다. 프로그램 합성기의 입력으로 (1) 입 · 출력 예제, (2) 불완전한 프로그램, (3) 사용될 변수 및 정수가 주어지면, 합성기는 주어진 입 · 출력 예제를 모두 만족하는 완성된 프로그램을 출력한다. 기본 알고리즘은 정답 프로그램을 찾을 때까지, 가능한 모든 프로그램을 나열하는 것이다(enumerative search). 이 경우 탐색 공간이 매우 크므로 오랜 시간이 걸린다는 문제점이 있다. 시간을 효과적으로 단축하기 위한 우리의 방법은, 코드 최적화 기법을 이용해 문법은 다르지만 같은 의미의 프로그램들을 확인함으로써, 불필요한 중복탐색을 피하는 것이다. 20개의 입문자 교육용 프로그래밍 문제들을 대상으로 합성 알고리즘 성능을 평가한 결과, 우리의 방법이 기본 탐색 알고리즘의 성능을 약 10배 향상시킴을 확인하였다.

Hardware and ArchitectureComputer Science
15
Article|0 citations·2017
예제로부터 명령형 프로그램을 합성하는 방법
소순범, 최태형, 정준, 오학주

본 논문에서는 주어진 입・출력 예제로부터 명령형 프로그램을 합성하는 방법을 제시한다. 프로그램 합성기의 입력으로 (1) 입・출력 예제, (2) 불완전한 프로그램, (3) 사용될 변수 및 정수가 주어지면, 합성기는 주어진 입・출력 예제를 모두 만족하는 완성된 프로그램을 출력한다. 기본 알고리즘은 정답 프로그램을 찾을 때까지, 가능한 모든 프로그램을 나열하는 것이다(enumerative search). 이 경우 탐색 공간이매우 크므로 오랜 시간이 걸린다는 문제점이 있다. 시간을 효과적으로 단축하기 위한 우리의 방법은, 코드최적화 기법을 이용해 문법은 다르지만 같은 의미의 프로그램들을 확인함으로써, 불필요한 중복탐색을 피하는 것이다. 20개의 입문자 교육용 프로그래밍 문제들을 대상으로 합성 알고리즘 성능을 평가한 결과, 우리의 방법이 기본 탐색 알고리즘의 성능을 약 10배 향상시킴을 확인하였다.

Research Areas

Artificial IntelligenceSoftwareInformation Systems and ManagementInformation SystemsComputer Science ApplicationsSignal Processing

Sunbeom Soの研究をNubintでさらに深く

この研究室の論文をアプリで開き、AIと共に読み、要約し、引用しましょう。