Personal tools
You are here: Home Courses CS492B Analysis of Concurrent Programs, Spring 16

CS492B Analysis of Concurrent Programs, Spring 16

Announcement

  • The lectures on April 5 and 7 will be given by Prof. Moonzoo Kim on the concurrent program testing techniques
  • Classes on May 17 and 19 will be taught by Prof. Jaehyuk Hur
  • No class on May 5 due to the national holiday (children's day)
  • Quiz on May 24
  • No class on May 26 due to graduate program entrance interview exam (makeup class on May 26 8-9 pm )
  • Noah BBS on CS492B will be re-created soon (Noah BBS was crashed due to HW failure last week)

 Administrative Information

Office: 4406  

Phone:042-350-3515

E-mail: jhhuh @ k a i s t . a c. k r 

Office hour: TBD

(reservation e-mail would be preferred)

Office: 2434 (located at the east wing)

Phone:042-350-3543

E-mail: moonzoo @ c s . k a i s t . a c . k r

Office hour: TBD

(reservation e-mail would be preferred)

  • Teaching assistants:   Bokyeong Kim (bokyeong at calab.kaist.ac.kr)
  • Lecture hours:  Tue/Thur 9-10:15 
  • Lecture room: N1 Rm# 112 
  • Prerequisite:Equivalent knowledge obtained in System Programming class (i.e., experience in C/C++/Java as well as unix/linux programming)
  • Grading: attendance, class participation, and quiz: 10%, HW: 50%,  exam:40%
  • Late HW is accepted with 10% penalty of the max score in 1 day, 30% penalty of the max score in 3 days. HW will not be accepted after then.
  • HW should be submitted both in hardcopy and softcopy (through email to TA). 10% penalty for missing hardcopy or softcopy. 
  • More than 8 absences of class may get F grade  (to start class on time, late attendance is considered as 1/3 absence). 
  • Note: The official language in the class is English. All students should submit homeworks and answer exam/quiz in English; 10% penalty otherwise 
  • Questions and answers can be done through Noah BBS

Syllubus

This class teaches concurrent programming techniques and concurrent program analysis techniques for shared memory based target systems in C/C++ or Java programming language. This  class will be co-taught by Prof. Jaehyuk Huh and Prof. Moonzoo Kim. Prof. Huh will teach concurrent programming techniques in the first half of the semester and Prof. Kim will teach concurrent program analysis techniques in the second half.

Course Material

  • Reading list
  • Related tool list
    • Spin home page
      • Installation guideline for the windows platforms
        • cygwin for Spin verification
          • download the 32bit version (because the distributed spin binary is 32 bit version) and
          • check and install devel->gcc-core at the installation step
          • add the cygwin bin directory (e.g., c:\cygwin\bin) and the spin directory (e.g.,c:\spin) to the system path environment variable
        • activeTCL for Spin GUI

Course Schedule

March : Introduction, intro. to quality concurrent SW testing [pdf]

March : Parallelism and Shared Memory

Mar : Pthread and OpenMP I

Mar : Pthread and OpenMP II

Mar : Multi-core Memory Hierarchy

Mar : Coherence

Mar : No class

Mar : Consistency

Mar : Lock Basics

April:  Transactional Memory

April :  CUDA Overview

April :  CUDA Thread and Memory Model

April :  CUDA Performance

April :  Execution Replay for Multiprocessor Virtual Machines

April : Midterm exam

April : Concurrency Analysis for Correct Concurrent Programs [pdf]

Apr : Deadlock detection/prediction technique [pdf]

Apr 28: Race bug detection techniques [pdf]

May 3: Atomicity bug detection techniques [pdf]

May 10: Calfuzzer framework to analyze concurrent Java programs  [pdf]

May 24, 26: Concurrency coverage-based testing [pdf]

May 31 : Model checker SPIN part I [pdf]

June 2: Model checker SPIN part II  [pdf]

June 7, 9: Linear temporal logic (LTL) for requirement specification

June 14: Model-based concurrent program testing

June 21: Fianl exam (9-11AM)

Homeworks

Document Actions