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
- Prof. Jaehyuk Huh
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)
- Prof. Moonzoo Kim
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]
- S. Hong, J. Ahn, S. Park, M. Kim, and M. J. Harrold, Testing Concurrent Programs to Achieve High Synchronization Coverage, Intl. Symp. on Software Testing and Analysis (ISSTA), 2012
- S.Hong, M.Staats, J.Ahn, M.Kim, and G.Rothermel, The Impact of Concurrent Coverage Metrics on Testing Effectiveness, IEEE International Conference on Software Testing, Verification and Validation (ICST), Mar 18-22, 2013
- Mutation testing by Stuart Anderson
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
- M.Kim, S.Hong, C.Hong and T.Kim,Model-based Kernel Testing for Concurrency Bugs through Counter Example Replay, Model-based Testing (ENTCS vol 253, no 2), pages 21-36, York, UK, Mar 22 2009
June 21: Fianl exam (9-11AM)