튜토리얼

박찬진

Obzen

chanjin.park@obzen.com

산업 AI를 위한 소프트웨어 공학

  많은 기업들이 AI 기술 확보 노력을 많이 하고 있으나, 실세계 문제에 적용하여 성과를 얻고 있는 기업은 많지 않은 것 같다. 이미지 분류, 얼굴 인식, 언어 변역 등의 많은 AI 기술 사례는 AI가 할 수 있는 많은 일이 있음을 보여주고 있지만, 이들 기술이 실제 공정이나 환경에 적용되어 성과를 얻기 위해서는 많은 엔지니어링 차원의 문제를 극복해야 한다. AI에게 일을 맡기기 전에 신뢰가 중요하다. AI 시스템은 데이터로부터 학습된 새로운 타입의 소프트웨어 시스템이므로 통합, 테스팅, 배포, 모니터링 및 유지보수 (AI 모델의 재학습과 업그레이드)와 같은 소프트웨어 엔지니어링 활동이 필수적이다. 하지만, AI 시스템 엔지니어링에 대한 체계적인 방법론은 아직 정립되어 있지 않은 것으로 보인다.
  이 튜토리얼에서는 반도체 기업에서 AI 과제를 추진하면서 직면했던 엔지니어링 문제들과 이에 대한 극복 내용을 다룬다. 또한, AI 모델을 만들고 이를 현장에 적용하면 얻은 교훈을 공유하고자 한다. 본 튜토리얼은 크게 네 부분으로 구성되어 있으며, 먼저, 제조 디지털 혁신을 위해 소프트웨어 공학 기술이 적극적으로 활용되고 있음을 소개하고, 두번째로는 AI 개발과 전통적 SW 개발 간의 차이와 AI 개발 방법론의 필요성을 설명한다. 세번째로, 반도체 불량 시각 검사 자동화 과제에 AI 적용을 통해 배운 교훈을 소개하며 특히 현장에 AI가 활용되기 위해서는 AI 모델 개발 뿐만 아니라 AI의 운영 시스템화가 중요함을 강조한다. 마지막으로 불량 검사 AI는 불량 분류 모델 하나 만으로 완성되지 않으며 다양한 모델의 조합이 필요함을 설명한다.

2021 ~ 현재: 오브젠, 상무, AI Lab
2017 ~ 2020: SK Hynix, 상무, Data Science Team, 데이터사이언스 담당
2014 ~ 2016: 서울대 차세대 융합기술원 , 책임연구원, 공공데이터센터,
융합연구과제 텍스트분석, 전력수요예측, 빅데이터 인프라 및 분석 플랫폼
2006 ~ 2014: LG 전자, 수석연구원, LG webOS TV 아키텍트로 설계 및 성능 개선 리더
2006: 서울대학교 전기 컴퓨터 공학부 박사 (소프트웨어 공학)
2000: 서울대학교 전산학과 석사 (소프트웨어 공학)
1994 ~ 1998: LG Software, 주임연구원, 소프트웨어 개발
1994: 서울대학교 계산통계학과 졸업
박사논문: 객체지향 프로그램을 위한 층위구조 아키텍처 복구 및 일치성 검사 방법.
A Recovery and Conformance Checking Technique of Layered Architecture
for Object-Oriented Programs
한국소프트웨어공학회 이사

김진대

서울과학기술대학교

jindae.kim@seoultech.ac.kr

경험적 연구를 위한 GitHub 오픈소스 소프트웨어 데이터 수집

  GitHub은 가장 성공적인 오픈소스 소프트웨어 호스팅 서비스 중의 하나로, 막대한 양의 프로젝트를 포함하고 있는 데이터의 보고입니다.
  따라서 경험적 연구를 위해 소프트웨어 개발과 관련된 데이터를 수집할 때 반드시 고려해 보아야 할 선택지라고 할 수 있습니다.
  본 튜토리얼에서는 이런 GitHub에서 어떻게 유용한 소프트웨어 관련 데이터를 수집할 수 있는지, 또 그 과정에서 주의해야 할 점은 무엇인지 연구과정에서 겪었던 경험을 공유하고자 합니다

-서울과학기술대학교 컴퓨터공학과 조교수
- PhD in CSE, Hong Kong University of Science and Technology
- 서울대학교 소프트웨어공학 석사
- 서울대학교 물리학/컴퓨터공학 학사

홍신

한동대학교

hong.shin@handong.edu

Unit Test Fuzzing for C/C++

  최근 Greybox 퍼징 기법이 고도화되고 완성도 높은 오픈소스 퍼징 도구가 개발됨에 따라 퍼징을 통한 자동 테스팅이 새로운 품질 보장 관행으로 빠르게 자리매김하고 있다.
  이번 튜토리얼에서는 C/C++ 프로그램 대상 퍼징 도구로 널리 사용되고 있는 libFuzzer 도구를 중심으로 Greybox 퍼징의 원리를 소개하며, libFuzzer를 활 용하여 C/C++ 프로그램에 대해 유닛 테스팅 수준에서 퍼징을 적용하는 방법을 실습과 함께 소개한다.

2016~현재: 한동대학교 전산전자공학부 조교수
2011 ~ 2015: KAIST 전산학 박사
2007 ~ 2010: KAIST 전산학 석사
2003 ~ 2007: KAIST 전산학 학사