Skip to main content

Research Overview

The Software Testing Lab at Kyungpook National University studies how software actually fails once it is placed in a real environment. Our subject is not a single miswritten line but the interaction between components, the drift between a design model and its implementation, and wrong assumptions about the hardware and environment a system runs on.

Research Lines

The lab started in 1994 with Petri net analysis of a distributed process model. Since then both what we verify and how we verify it have widened.

  • 1990s: Petri nets and formal methods. Feature interaction detection in telecom services, use case integration analysis at the requirements stage
  • 2000s: Component-based development and model-based verification. EJB component identification and interface testing, UML state machine simulation, LTS-based compositional safety and timing analysis
  • 2010s: Embedded and mobile testing. Integration testing driven by global variables and data flow, virtual prototypes and SiL simulation, Android GUI and inter-component communication testing
  • 2020s: Learning-based automation and virtual verification. Dependency identification from usage logs, reinforcement learning playtesting, automatic grading from execution logs, virtual verification platforms combining data and CAE

Research Areas

Intelligent Test Automation and Optimization

Reinforcement learning agents play a game themselves to find defects, leaving bug reports and input-sequence logs behind. We also predict the causes of novice programmers' errors from learning data and grade practice code automatically by running it in a simulator.

Formal Methods and Embedded System Verification

We move requirements and designs into Petri nets and LTS to analyse reachability and safety. Real code is verified against behaviour models recovered from usage logs and through SiL simulation, with the indirect dependencies between components as the target.

UML-Based System Modeling and Static Verification

We extract class models from requirement sentences and generate framework-independent code from state machine diagrams. Where a model and its implementation have drifted apart, and where an Android manifest is misconfigured, we find it by static analysis.

Digital Twin Simulation and Autonomous System Verification

Hardware is replaced by virtual prototypes, and scattered components are tied into one simulation through relative time synchronisation. This carries over into flight testing of unmanned aerial vehicles and virtual verification platforms for textile materials.

Publication Record

The full list of papers, patents, software registrations, research projects, and courses is in the Archive, filterable by category and year.

Most record titles and author names are kept in their original language, so a large part of the archive is in Korean even on this page.

Collaboration

Research centers. We take part in the Center for Self-Organizing Software Platform (CSOS) and the Center for IT-Automotive Convergence (CITAC) at Kyungpook National University, where we handled embedded software development environments and modeling and testing technology for automotive software.

Industry. We have transferred simulator tools and testing technology to, or consulted for, LG Electronics (Changwon), Fusion Soft, M2Lab, TryCat, Rainbow Lab, and Jiwell. Individual records are under Tech Transfer & Consulting.

Education programs. We have participated in the SW-Oriented University program, the employment-contract MS program, and the Intelligence Convergence Software Education Research Group.