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