RnDCircle Logo
이주용 연구실
울산과학기술원 컴퓨터공학과
이주용 교수
기본 정보
연구 분야
프로젝트
논문
구성원

이주용 연구실

울산과학기술원 컴퓨터공학과 이주용 교수

이주용 연구실은 소프트웨어 품질관리와 프로그램 명세·검증을 중심으로 자동 프로그램 수정, 패치 적합성 확인, 형식 검증, 퍼즈 테스팅, 보안 취약점 패치 기술을 연구하며, 테스트·정적분석·기호실행·제약기반 추론을 결합해 신뢰할 수 있는 소프트웨어 유지보수와 자동 디버깅 기술을 개발하고 있다.

대표 연구 분야
연구 영역 전체보기
자동 프로그램 수정과 패치 적합성 검증 thumbnail
자동 프로그램 수정과 패치 적합성 검증
연구 성과 추이
표시된 성과는 수집된 데이터 기준으로 산출되며, 일부 차이가 있을 수 있습니다.

5개년 연도별 논문 게재 수

14총합

5개년 연도별 피인용 수

46총합
주요 논문
3
논문 전체보기
1
article
|
인용수 0
·
2025
Proactive Debugging of Memory Leakage Bugs in Single Page Web Applications
Arooba Shahoor, Satbek Abdyldayev, Hyesoo Hong, Jooyong Yi, Dongsun Kim
IEEE Transactions on Software Engineering
Developing modern web applications often relies on web-based application frameworks such as React, Vue.js, and Angular. Although the frameworks accelerate the development of web applications with several useful and predefined components, they are inevitably vulnerable to unmanaged memory consumption as the frameworks often produce monolithic web pages, socalled, Single Page Applications (SPAs), in which no page refresh actions are made during navigation.Web applications can be alive for hours and days with behavior loops, in such cases, even a single memory leak in an SPA can cause performance degradation on the client side. However, recent debugging techniques for web applications focus on memory leak detection, which requires manual tasks and produces imprecise results, rather than proactively repairing memory leaks. <p xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">We propose LEAKPAIR, a technique to proactively repair memory leaks in SPAs rather than following a classical and reactive debugging process. Given the insight that memory leaks are mostly non-functional bugs and fixing them might not change the behavior of an application, the technique is designed to proactively generate patches to fix memory leaks, without leak detection, which is often heavy and tedious. Thus, the proactive technique can significantly reduce the time and effort necessary to fix the memory leaks. To generate effective patches, LEAKPAIR follows the idea of pattern-based program repair since the automated repair strategy shows successful results in many recent studies. We extensively evaluate the technique on 60 open-source projects without using explicit leak detection. The patches generated by our technique are also submitted to the projects as pull requests (PRs). The results of PRs show that LEAKPAIR can generate effective patches to reduce memory consumption that are acceptable to developers. In addition, we execute the test suites given by the projects after applying the patches, and it turns out that the patches do not cause any functionality breakage; this might imply that LEAKPAIR can generate non-intrusive patches for memory leaks. Furthermore, we compare the performance of LEAKPAIR with that of GPT-4 as recent studies show that large language models are successful with program repair tasks. Our results show that our technique outperforms the language model.
https://doi.org/10.1109/tse.2025.3571192
Computer science
Debugging
Memory leak
Software bug
Operating system
Leakage (economics)
Web page
Embedded system
Programming language
World Wide Web
2
article
|
인용수 7
·
2023
Poracle: Testing Patches under Preservation Conditions to Combat the Overfitting Problem of Program Repair
Elkhan Ismayilzada, Md Mazba Ur Rahman, Dongsun Kim, Jooyong Yi
IF 6.6 (2023)
ACM Transactions on Software Engineering and Methodology
To date, the users of test-driven program repair tools suffer from the overfitting problem; a generated patch may pass all available tests without being correct. In the existing work, users are treated as merely passive consumers of the tests. However, what if they are willing to modify the test to better assess the patches obtained from a repair tool? In this work, we propose a novel semi-automatic patch-classification methodology named Poracle . Our key contributions are three-fold. First, we design a novel lightweight specification method that reuses the existing test. Specifically, the users extend the existing failing test with a preservation condition —the condition under which the patched and pre-patched versions should produce the same output. Second, we develop a fuzzer that performs differential fuzzing with a test containing a preservation condition. Once we find an input that satisfies a specified preservation condition but produces different outputs between the patched and pre-patched versions, we classify the patch as incorrect with high confidence. We show that our approach is more effective than the four state-of-the-art patch classification approaches. Last, we show through a user study that the users find our semi-automatic patch assessment method more effective and preferable than the manual assessment.
https://doi.org/10.1145/3625293
Overfitting
Computer science
Fuzz testing
Test case
Machine learning
Key (lock)
Test (biology)
Artificial intelligence
Computer security
Software
3
preprint
|
green
·
인용수 2
·
2022
Verifix: Verified Repair of Programming Assignments
Umair Z. Ahmed, Zhiyu Fan, Jooyong Yi, Omar I. Al-Bataineh, Abhik Roychoudhury
IF 4.4 (2022)
ACM Transactions on Software Engineering and Methodology
Automated feedback generation for introductory programming assignments is useful for programming education. Most works try to generate feedback to correct a student program by comparing its behavior with an instructor’s reference program on selected tests. In this work, our aim is to generate verifiably correct program repairs as student feedback. A student-submitted program is aligned and composed with a reference solution in terms of control flow, and the variables of the two programs are automatically aligned via predicates describing the relationship between the variables. When verification attempt for the obtained aligned program fails, we turn a verification problem into a MaxSMT problem whose solution leads to a minimal repair. We have conducted experiments on student assignments curated from a widely deployed intelligent tutoring system. Our results show that generating verified repair without sacrificing the overall repair rate is possible. In fact, our implementation, Verifix, is shown to outperform Clara, a state-of-the-art tool, in terms of repair rate. This shows the promise of using verified repair to generate high confidence feedback in programming pedagogy settings.
https://doi.org/10.1145/3510418
Computer science
USable
Equivalence (formal languages)
Point (geometry)
Variable (mathematics)
Control flow
Control (management)
Programming language
Software engineering
Artificial intelligence
최신 정부 과제
14
과제 전체보기
1
2024년 12월-2025년 12월
|20,000,000
퍼즈 테스팅과 자동 프로그램 수정의 보완적 통합을 통한 제로 데이 공격 원천 차단 기술 선제 연구
● 연구 목표: 본 연구 과제의 주요 목표는 그간 별도로 연구되어온 퍼즈 테스팅과 자동 프로그램 수정을 통합하여 보안 취약성의 탐지와 수정을 함께 달성하는 데에 있음.● 단순 나열식 통합은 지양하며 상호 시너지가 일어날 수 있는 통합 기술 개발을 목표로 함 (그림 1 참조) 일례로, 자동 프로그램 수정을 통해 얻어진 패치를 퍼즈 테스팅을 통해 철저하게 테스...
제로 데이 공격
퍼즈 테스팅
자동 프로그램 수정
2
2024년 3월-2026년 12월
|1,573,575,000
SW공급망 운영환경에서 역공학 한계를 넘어서는 자동화된 마이크로 보안 패치 기술 개발
○ SW공급망 관리를 통해 식별된 SW 취약성에 대해서 바이너리기반 최소 패치 생성 및 적용 기술 개발을 목표로 하며, 보다 세부적으로 다음의 속성을 만족시키고자 함.● 역공학의 불완전성 및 부정확성에 구애받지 않음.● 생성된 패치에 대한 보안성과 안전성이 담보됨.
취약점 자동 패칭
실시간 패칭
SW 공급망
바이너리 역공학
인공지능 기반 취약성 분석
3
2024년 3월-2026년 12월
|1,524,240,000
SW공급망 운영환경에서 역공학 한계를 넘어서는 자동화된 마이크로 보안 패치 기술 개발
○ SW공급망 관리를 통해 식별된 SW 취약성에 대해서 바이너리기반 최소 패치 생성 및 적용 기술 개발을 목표로 하며, 보다 세부적으로 다음의 속성을 만족시키고자 함.● 역공학의 불완전성 및 부정확성에 구애받지 않음.● 생성된 패치에 대한 보안성과 안전성이 담보됨.
취약점 자동 패칭
실시간 패칭
SW 공급망
바이너리 역공학
인공지능 기반 취약성 분석
최신 특허
특허 전체보기
상태출원연도과제명출원번호상세정보
공개2023퍼징 관점에서의 자동 프로그램 수정 방법 및 이를 수행하는 프로그램이 기록된 컴퓨터 판독이 가능한 기록매체1020230190956
등록2022탐색 기법을 이용한 제약 조건 기반의 프로그램 수정 방법 및 장치1020220106241
전체 특허

퍼징 관점에서의 자동 프로그램 수정 방법 및 이를 수행하는 프로그램이 기록된 컴퓨터 판독이 가능한 기록매체

상태
공개
출원연도
2023
출원번호
1020230190956

탐색 기법을 이용한 제약 조건 기반의 프로그램 수정 방법 및 장치

상태
등록
출원연도
2022
출원번호
1020220106241

주식회사 디써클

대표 장재우,이윤구서울특별시 강남구 역삼로 169, 명우빌딩 2층 (TIPS타운 S2)대표 전화 0507-1312-6417이메일 info@rndcircle.io사업자등록번호 458-87-03380호스팅제공자 구글 클라우드 플랫폼(GCP)

© 2026 RnDcircle. All Rights Reserved.