연구실에서 최근에 진행되고 있는 관심 연구 분야
1
프로그래밍 언어 이론 및 정적 분석
프로그래밍 언어 이론 및 정적 분석 분야는 소프트웨어의 신뢰성과 효율성을 높이기 위해 필수적인 연구 분야입니다. 본 연구실에서는 다양한 프로그래밍 언어의 구조와 의미론, 그리고 이들 언어의 특성을 활용한 정적 분석 기법을 심도 있게 연구하고 있습니다. 특히 자바(Java)와 C/C++와 같은 주요 언어를 대상으로 예외 처리, 접근성 위반, 힙 사용 분석 등 다양한 프로그램 오류와 취약점을 자동으로 검출하는 방법론을 개발해왔습니다. 정적 분석은 소스코드를 실행하지 않고 코드의 구조와 흐름을 분석하여 잠재적인 오류나 보안 취약점을 사전에 발견하는 기술입니다. 본 연구실에서는 예외 흐름 분석, 프로그램 슬라이싱, 타입 시스템 확장 등 첨단 정적 분석 기법을 적용하여, 기존 컴파일러가 검출하지 못하는 다양한 오류를 효과적으로 탐지할 수 있도록 하고 있습니다. 이러한 연구는 소프트웨어 개발 과정에서의 품질 향상과 유지보수 비용 절감에 크게 기여합니다. 이와 더불어, CASE 도구 및 복합 문서 지원 기능, 객체지향 기술과의 융합 등 실용적인 소프트웨어 공학 도구 개발에도 힘쓰고 있습니다. 이러한 연구 성과는 실제 산업 현장과 교육 현장에서 널리 활용되고 있으며, 소프트웨어의 안전성과 신뢰성을 높이는 데 중요한 역할을 하고 있습니다.
2
소프트웨어 보안 및 응용 소프트웨어 테스팅
소프트웨어 보안은 현대 정보화 사회에서 매우 중요한 연구 주제입니다. 본 연구실에서는 웹 응용 프로그램의 문자열 삽입 취약성(SQL Injection, XSS) 분석, 심볼릭 링크 공격 탐지, 프로그램 표절 탐지 등 다양한 보안 취약점 분석 및 대응 기법을 개발하고 있습니다. 정적 분석기를 활용하여 자동으로 취약점을 탐지하고, 실험을 통해 높은 정밀도와 효율성을 입증하였습니다. 또한, 스마트 센서 응용 소프트웨어와 같은 임베디드 시스템의 테스팅을 위한 가상 센서 시스템을 제안하고 구현하였습니다. 실제 센서 데이터를 대체할 수 있는 가상 데이터를 생성하여, 다양한 상황에서 소프트웨어의 동작을 효율적으로 검증할 수 있도록 하였습니다. 이를 통해 테스트 데이터의 한계를 극복하고, 센서 기반 소프트웨어의 신뢰성을 크게 향상시켰습니다. 이러한 연구는 산업 현장에서의 소프트웨어 품질 보증, 보안 강화, 그리고 신뢰성 있는 시스템 구축에 직접적으로 기여하고 있습니다. 또한, 특허 출원 및 다양한 프로젝트 수행을 통해 실용적인 기술 이전과 산업적 파급 효과를 창출하고 있습니다.
3
머신러닝 및 인공지능 기반 소프트웨어 설계 자동화
최근 본 연구실은 머신러닝과 딥러닝 기술을 활용한 소프트웨어 설계 자동화 분야로 연구를 확장하고 있습니다. 변압기 설계 시스템에 머신러닝과 딥러닝을 적용하여, 다양한 설계 조건을 자동으로 탐색하고 최적의 설계안을 도출하는 시스템을 개발하였습니다. 이러한 연구는 전통적인 공학 설계 방식의 한계를 극복하고, 설계 효율성과 품질을 획기적으로 향상시키는 데 중점을 두고 있습니다. 머신러닝 기반 설계 시스템은 입력 변수의 조합을 자동으로 실험하고, 최적화된 결과를 도출함으로써 설계자의 부담을 줄이고, 설계 과정의 자동화와 지능화를 실현합니다. 본 연구실은 관련 특허를 다수 보유하고 있으며, 실제 산업 현장에 적용 가능한 소프트웨어 솔루션을 지속적으로 개발하고 있습니다. 이와 같은 연구는 인공지능 기술의 실질적 응용 사례로서, 소프트웨어 공학과 전통 공학 분야의 융합을 이끌고 있습니다. 앞으로도 다양한 산업 분야에 적용 가능한 인공지능 기반 소프트웨어 설계 자동화 기술 개발에 박차를 가할 예정입니다.