Sungmin Kang
KAIST 전기 및 전자공학부 · 컴퓨터과학
강성민 교수의 연구실은 소프트웨어 테스팅과 버그 디버깅 자동화를 핵심으로 하며, 특히 대규모 언어 모델(Large Language Models)을 활용한 지능형 디버깅 기법 개발에 주력하고 있습니다. 테스트 케이스 자동 생성, 버그 재현, 장애 원인 진단 등에서 인간 개발자의 사고 방식을 모방한 과학적 추론 기반 접근을 도입하여, 자동화된 결과에 대한 신뢰성과 설명 가능성을 높이고자 합니다. 특히 자연어 기반 버그 리포트에서 테스트 케이스를 생성하고, 디버깅 과정의 이면에 있는 논리적 근거를 생성하는 데에 초점을 맞추고 있습니다.
표시된 성과는 수집된 데이터 기준으로 산출되며, 일부 차이가 있을 수 있습니다.
Many automated test generation techniques have been developed to aid developers with writing tests. To facilitate full automation, most existing techniques aim to either increase coverage, or generate exploratory inputs. However, existing test generation techniques largely fall short of achieving more semantic objectives, such as generating tests to reproduce a given bug report. Reproducing bugs is nonetheless important, as our empirical study shows that the number of tests added in open source
Industrial lotsizing and scheduling pose very difficult analytical problems. We propose an unconventional model that deals with sequence-dependent setup costs in a multiple-machine environment. The sequence-splitting model splits an entire schedule into subsequences, leading to tractable subproblems. An optimization approach based on a column generation/branch and bound methodology is developed, and heuristically adapted to test problems including five real-world problem instances gathered from
Fault Localization (FL), in which a developer seeks to identify which part of the code is malfunctioning and needs to be fixed, is a recurring challenge in debugging. To reduce developer burden, many automated FL techniques have been proposed. However, prior work has noted that existing techniques fail to provide rationales for the suggested locations, hindering developer adoption of these techniques. With this in mind, we propose A uto FL, a Large Language Model (LLM)-based FL technique that ge
The testing of Deep Neural Networks (DNNs) has become increasingly important as DNNs are widely adopted by safety critical systems. While many test adequacy criteria have been suggested, automated test input generation for many types of DNNs remains a challenge because the raw input space is too large to randomly sample or to navigate and search for plausible inputs. Consequently, current testing techniques for DNNs depend on small local perturbations to existing inputs, based on the metamorphic
Abstract Automated debugging techniques have the potential to reduce developer effort in debugging. However, while developers want rationales for the provided automatic debugging results, existing techniques are ill-suited to provide them, as their deduction process differs significantly froof human developers. Inspired by the way developers interact with code when debugging, we propose Automated Scientific Debugging ( AutoSD ), a technique that prompts large language models to automatically gen
Bug reproduction is a critical developer activity that is also challenging to automate, as bug reports are often in natural language and thus can be difficult to transform to test cases consistently. As a result, existing techniques mostly focused on crash bugs, which are easier to automatically detect and verify. In this work, we overcome this limitation by using large language models (LLMs), which have been demonstrated to be adept at natural language processing and code generation. By prompti
While Genetic Improvement (GI) is a useful paradigm to improve functional and nonfunctional aspects of software, existing techniques tended to use the same set of mutation operators for differing objectives, due to the difficulty of writing custom mutation operators. In this work, we suggest that Large Language Models (LLMs) can be used to generate objective-tailored mutants, expanding the possibilities of software optimizations that GI can perform. We further argue that LLMs and the GI process
Fault Localization (FL), in which a developer seeks to identify which part of the code is malfunctioning and needs to be fixed, is a recurring challenge in debugging. To reduce developer burden, many automated FL techniques have been proposed. However, prior work has noted that existing techniques fail to provide rationales for the suggested locations, hindering developer adoption of these techniques. With this in mind, we propose AutoFL, a Large Language Model (LLM)-based FL technique that gene
Due to the rapid adoption of Deep Neural Networks (DNNs) into larger software systems, testing of DNN-based systems has received much attention recently. While many different test adequacy criteria have been suggested, we lack effective test input generation techniques. Inputs such as images of real-world objects and scenes are not only expensive to collect but also difficult to randomly sample. Consequently, current testing techniques for DNNs tend to apply small local perturbations to existing
Microfluidic paper-based analytical devices (μPADs) have been developed for use in a variety of diagnosis and analysis fields. However, conventional μPADs with an open-channel system have limitations for application as analytical platforms mainly because of the evaporation and contamination of the sample solution. This study demonstrates the design and fabrication of an enclosed three-dimensional(3D)-μPAD and its application as a primary early analysis platform for ionic contaminants. To generat
As the size of data increases, it becomes important to identify properties by analyzing big data. In this paper, we propose a k-Means based efficient clustering technique, called MCSKMeans (Multi centroid set k-Means), using distributed parallel processing framework MapReduce. A problem with the k-Means algorithm is that the accuracy of clustering depends on initial centroids created randomly. To alleviate this problem, the MCSK-Means algorithm reduces the dependency of initial centroids using s
Single Root Input/Output Virtualization (SR-IOV) is a key feature in the PCI Express (PCIe) specifications, which facilitates the shared use of the same device in a virtualized environment by different virtual machines (VMs) and enables network traffic to bypass the usual virtualization stack, reducing interference among Virtual Functions (VFs). However, guaranteeing Quality of Service (QoS) as mandated by Service Level Agreements (SLAs) in these environments is challenging due to the host stack
Bug reproduction is a critical developer activity that is also challenging to automate, as bug reports are often in natural language and thus can be difficult to transform to test cases consistently. As a result, existing techniques mostly focused on crash bugs, which are easier to automatically detect and verify. In this work, we overcome this limitation by using large language models (LLMs), which have been demonstrated to be adept at natural language processing and code generation. By prompti