본교 SW 기자단에서는 분기당 1개의 S-Lab 탐방을 진행하고 있습니다.

이번 S-Lab 탐방에서는 다양한 머신러닝 테크닉을 활용하는 남재창 교수님의 Intelligent Software Engineering Lab(ISEL) 랩장인 신대호 대학원생을 만나보았습니다.

  1. S-Lab의 이름과 뜻은 무엇인가요?

저희 S-Lab의 이름은 ISEL [ɑɪzl, 아이즐] 이고 Intelligent Software Engineering Lab 의 약자입니다. 지능형 소프트웨어 연구실로써 다양한 머신러닝 테크닉들을 활용하여 자동화된 품질 보증 연구들을 진행하고 있습니다.

2. 지도교수님에 대해서 소개해주세요. 

저희 교수님이신 남재 교수님은 한동대학교 98학번 선배님이십니다. 저희 교수님은 항상 학생들이 더 열심히 연구 할 수 있도록 배려를 많이 해주십니다. 많은 사람들이 이미 알고 있겠지만 편한 선배같은 교수님이시기도 합니다.


3. 구성원들과 S-Lab의 장점을 소개해주세요.

저희 랩실의 구성원들은 교수님, 대학원생 2명, 학부생 11명으로 구성이 되어있습니다.

교수님께서는 아이즐 데이(ISEL Day)라 하여 한학기에 한 번씩 집으로 초대해주셔서 식사도 함께하고, 영화를 보는 날도 있습니다. 또한, 교수님께서 진행하시는 성경공부 IGBS (ISEL Group Bible Study)도 장점이라 할 수 있습니다.

또 다른 장점은 랩실입니다. 단독으로 사용하는 랩실의 특성상 랩실원들과 친해지기 수월하고, 다른 랩실로부터 방해 받을 일이 없으며, 랩실에 필요한 여러 장비들은 연구비로 지원이 되기도 합니다. 그리고 학기 중에는 랩실 사람들끼리 자발적으로 스터디를 만들어 서로 학업에 도움을 주기도 합니다.

 

4. S-Lab의 주된 분야와 목표를 소개해주세요.

저희는 소프트웨어 공학이라는 큰 주제 안에 깃허브와 같은 저장소에서 코드들의 정보들을 추출하여 (Mining Software Repository) 머신러닝 알고리즘등 인공지능 기술을 이용하여 개발자들이 좋은 환경에서 더 편하게 개발 할 수 있도록 도와주는 연구들을 합니다.


5. 현재 진행중인 S-Lab 프로젝트들에 대해서 소개해주세요.

현재 진행되고 있는 프로젝트들은 다음과 같습니다:

– Just-in-time (JIT) Defect Prediction

– Practical Bug Detector

– Defect Prediction Based on Developer Profile

– Improving SZZ algorithm

– JIT Patch Suggestion

– N-Gram Log Probability Metric for Defect Prediction

6. 현재까지 완성된 S-Lab 프로젝트 중 하나를 소개해주세요.

캡스톤 프로젝트로 진행되었던 프로젝트 중 GAN 알고리즘을 사용하여 코드 메트릭에 대한 인스턴스들을 생성한 프로젝트가 있습니다. 버그 예측에서 코드메트릭들을 사용하여 파일에 버그가 있는지 없는지 예측하게 되는데 학습데이터는 불균형이 심하다는 문제 점이 있습니다. 버그 코드 보다 버그가 없는 코드비율이 더 많기 때문이죠. 그런 문제를 해결하기 위해 GAN알고리즘을 사용하여 모델이 버그 코드의 메트릭들을 학습하여 생성하게 되면 부족한 버그코드의 비율을 높일 수 있게 됩니다.

또한, GitHub 프로젝트 수집 도구, 버그 정보 수집 도구, 소프트웨어 메트릭 수집 도구(코드 메트릭, 프로세스 메트릭, NGLP, etc.) 와 같은 버그 예측을 위한 다양한 도구들도 구현하는 프로젝트들을 진행했었습니다.

7. S-Lab에 참여하고 싶으면 어떻게 해야하나요? 제약사항 같은것이 있나요?

코딩과 글쓰기를 좋아하고 개발자들을 섬겨야 할 이웃으로 생각하는 마음이 있는 분, 소프트웨어 개발의 불편함들을 연구를 통해 해결하고 싶거나 대학원 진학에 관심이 있는 분들은 남재 교수님께 메일 문의 후 면담을 통해 참여 하시면 됩니다.

SW기자단 정수산나

[S-Lab 탐방] ISEL – 남재창 교수님