CV

Education

  • Ph.D., Computer Science, 2007.2 - 2013.8
    Korea Advanced Institute of Science and Technology (KAIST), Daejon, South Korea
    Thesis: Identification and Selection of Refactorings for Improving Maintainability of Object-Oriented Software [PDF] [Slide]
    Advisor: Prof. Doo-Hwan Bae

  • M.S., Computer Science, 2004.9 - 2007.2
    Korea Advanced Institute of Science and Technology (KAIST), Daejon, South Korea
    Thesis: Behavioral Dependency Measurement in UML 2.0 Sequence Diagrams for Change-proneness Prediction
    Advisor: Prof. Doo-Hwan Bae

  • B.E., Computer Science, 2000.2 - 2004.2
    Sogang University, Seoul, South Korea
    Magna Cum Laude

Work Experience

  • Oct 2018 - Aug 2019, Springboard, online bootcamp in the US
    Data Science Career Track (Deep Learning Specialization)
  • Sep 2013 - Apr 2018, Korea University, Seoul, South Korea
    Position: Research Professor
    • Led the research projects for automating the refactoring identification process as a sole Principal Investigator
    • Advised graduate students to develop research topics and conduct the experiments
    • Published the research results to the top tier journal, IEEE Transactions on Software Engineering
  • Mar. 2005 - Aug. 2013, Korea Advanced Institute of Science and Technology (KAIST), Daejeon, South Korea
    Position: Research and Teaching Assistant
    • Played an active role in setting up assignments and taught a few classes for several computer science subjects, Introduction to Programming (CS101), Advanced Software Engineering (CS650), Computer Science Project (CS408), and Principles of Software Engineering (SEP521)
    • Developed the method to improve the efficiency of refactoring identification process by devising an efficient algorithm for calculating the impacts of the application for a large number of refactoring candidates
    • Developed the tool for automated refactoring identification with Java and Python
  • Aug. 2004 - Oct. 2004, Peace Corps (Headquarters), Washington D.C., USA
    Position: Intern
    • Served in organizing and populating the intranet web pages in the Technical Infrastructure and Support Team under the Office of the Chief Information Officer (Funded by Human Resources Development Service of Korea)
    • Happy memories can be found: photos.
  • Feb. 2004 - Apr. 2004, Zio Interactive (acquired by Neowiz Mobile), Seoul, South Korea
    Position: Software Developer Intern
    • Worked in the mobile game company and contributed solely to porting an existing soccer game to a new game development environment (SDK from Qualcomm BREW (KT) to SK-VM (SKT))

Skills

  • Data Analysis, Visualization, and Modeling:
    Pandas, Numpy, Scipy, Matplotlib, Pyplot, Seaborn, Scikit-Learn, PySpark, NLTK

  • Statistical Methods and Machine Learning:
    Classification, Regression, Clustering, Hypothesis Testing, Keras, Tensorflow, Deep Learning

  • Programming Languages and Tools:
    Python, SQL, Java, R, UML, Fortran, Assembly, Markdown, Latex, SPSS, Jupyter Notebook, Visual Studio Code

  • Research Areas:
    Software Engineering, Software Quality Driven Development, Change Impact Analysis, Metrics, Software Quality Assessment, Software Design Improvement, Refactoring, Design Patterns, Prediction, Optimization, Natural Language Processing

  • Language:
    English and Korean

Publications

Journals

Conferences

Dissertation

Funded Projects

  • Nov. 2014 - Apr. 2017, An Approach to Automating Refactoring for Evolvable Software
    (Individual Basic Science & Engineering Research Program)
    Nov. 2013 - Oct. 2014, Research on Automated Software Maintainability Improvement
    (Post-Doctoral Fellowship Grant)
    sole Principal Investigator
    National Research Foundation of Korea (NRF), Daejeon, South Korea
    • Developed the method to improve the efficiency of refactoring identification process by devising an efficient algorithm for calculating the impacts of the application for a large number of refactoring candidates
    • Led to develop tools for automating the refactoring identification process and performed several empirical studies on large-scale open sources
    • Published the results to the top tier Software Engineering conferences and journals
  • Jul. 2008 - Dec. 2008, Software Process Improvement and Capability Analysis based on K-Model
    Korea IT Industry Promotion Agency, Seoul, Korea
    • Develop metrics for analyzing improvement and capability of the software processes that are applied on the targeting companies
    • Provide guidelines for collecting data
    • Analyze the software process improvement and capability according to the characteristics of the projects, organizations, and companies
  • Jan. 2007 - Oct. 2008, Power Consumption Estimation Framework for UML-based Embedded Software Models
    Software Engineering Laboratory, KAIST, Daejeon, Korea
    • Develop the power consumption estimation technique that can be used at the early stage of software development
    • Estimate the power consumption for model elements (e.g., function, component, etc.) of UML-based embedded software models
    • Develop the visualizing method for the obtained results
  • Mar. 2006 - Feb. 2008, Process Tailoring Techniques for Defense Software
    Agency for Defense Development, Daejeon, Korea
    • Develop the methods for making process knowledge as assets and categorizing those process knowledge
    • Develop the methods for constructing and managing process knowledge repository
    • Develop the systematic method of process tailoring for automation
  • Mar. 2005 - Jan. 2007, Embedded Software Design and Verification Techniques for Multiprocessor System-on-Chip (MPSoC)
    Ministry of Information and Communication, Seoul, Korea
    • Develop the modeling methodology for embedded software
    • Develop the static analysis and behavior simulation techniques for embedded software models
    • Develop the partitioning technique of embedded software models
    • Develop the verification and functional simulation techniques for partitioned embedded software models

Teaching and Mentoring

  • December 11, 2013, Invited Speaker, Software Engineering course, Korea University
    • Lecture on Making an evolvable software: Refactoring [ppt]
  • Spring 2007, Teaching Assistant, Advanced Software Engineering (CS650)
  • Fall 2011 and Spring 2012, Teaching Assistant, Principles of Software Engineering (SEP521), KAIST
  • Fall 2009, Teaching Assistant, Computer Science Project (CS408), KAIST
  • Spring 2008, Mentoring the high school student participating in the Intel International Science and Engineering Fair (ISEF)
    • I mentored the high school student who had participated the ISEF 2008 with the project titled Real-Time Water Wave Simulation with Surface Advection. He won the Grand Award in the area of Computer Science
  • Summer 2005, Lecturer, Lecture for college professors: Design and Implementation for High Quality Software, KAIST
    • I had a chance to give the lectures on Software Engineering courses such as Object-Oriented design principles, Unified Modeling Language, refactoring, and design patterns.
  • Fall 2005 and Spring 2006, Teaching Assistant, Introduction to Programming (CS101) using JAVA, KAIST

Awards and Activities

Grants

Awards

  • 2016, Best Paper Award
    Software Engineering Society of Korean Institute of Information Scientists and Engineers (KIISE)
    Prize: $1,000 [PDF]

  • 2015, Best Paper Award
    Korea Conference on Software Engineering [PDF]

  • 2011 - 2012, SAMSUNG Scholarship Program
    SAMSUNG Electronics by Video Display Division, Suwon, South Korea

  • 2008, Invitation to the Special Issue for Journal of Systems and Software
    Top-quality papers of the IEEE International Conference on Computer Software and Applications

  • 2005 - 2010, Korean Government Scholarship Program for Graduate Students
    KAIST

  • 2004, Magna Cum Laude, Bachelor of Science
    Sogang University

  • 2000 - 2002, Academic Excellence Scholarship
    Sogang University

  • 2000, Admission Excellence Scholarship
    Sogang University

Reviewers

  • 2017, 2 papers, Journal of Systems and Software (JSS) (Invited from Editor)
  • 2016, International Journal of Software Engineering and Knowledge Engineering (IJSEKE)
  • 2015, The 37th International Conference on Software Engineering (ICSE), Demonstrations Track (ICSE 2015) (External Reviewer)
  • 2013, Expert Systems With Application (ESWA) (Invited from Editor)
  • 2013, Information and Software Technology (IST) (Invited from Editor)
  • 2013, The 29th IEEE International Conference on Software Maintenance (ICSM 2013)
  • 2013, The 25th International Conference on Software Engineering and Knowledge Engineering (SEKE 2013)
  • 2012, Journal of Systems and Software (JSS) (Invited from Editor)
  • 2012, The 19th Asia Pacific Software Engineering Conference (APSEC)
  • 2012, The 27th IEEE/ACM International Conference on Automated Software Engineering (ASE)
  • 2012, International Conference on Advanced Software Engineering & Its Applications (ASEA 2012)
  • 2010, The fourth IEEE International Conference on Secure Software Integration and Reliability Improvement (SSIRI)
  • 2010, The 25th Symposium on Applied Computing (SAC)
  • 2009, The 16th Asia Pacific Software Engineering Conference (APSEC)
  • 2009, IEEE Software

Societies

  • 2008 - Present, Member, Institute of Electrical and Electronics Engineers (IEEE)
  • 2007 - Present, Member, Korea Institute of Information Scientists and Engineers (KIISE)