系统软件与软件安全
Lecture 1: (June 27 th ) Introduction (Lec1.pdf,Lec1-6in1.pdf)
Lecture 2: (June 28 th ) Bug Detection in Multi-Threaded Software (Lec2.pdf,Lec2-6in1.pdf, process.c.txt,race.c.txt, race_syn.c.txt)
Lecture 3: (June 29 th ) Failure Handling in Multi-Threaded Software (Lec3_diagnosis.pdf,Lec3_diagnosis-6in1.pdf, Lec3_recovery.pdf,Lec3_recovery-6in1.pdf)
Lecture 4: (June 30 th ) Bug Fixing, Performance Bug Detection (Lec4_fix.pdf,Lec4_fix-6in1.pdf, Lec4_perf_detect.pdf,Lec4_perf_detect-6in1.pdf)
Lecture 5: (July 1 st ) Handling Performance Bugs, Tackling Bugs in Distributed Systems (Lec5_perf_diagnosis.pdf,Lec5_perf_diagnosis-6in1.pdf, Lec5_cloudbugs.pdf,Lec5_cloudbugs-6in1.pdf)
(一) Lecture 1: (June 27 th ) Introduction
(1) An overview of software reliability and reliability research
(2) Background for multi-threaded software systems
(3) An overview of common software bugs
Reference:
“High-availability computer system”, Jim Gray and Daniel P. Siewiorek
Computer 24, 9 (September, 1991), pages 39-48.
“ARIANE 5 Flight 501 Failure: Report by the Inquiry Board”, Jacques-Louis Lions, Lennart Lebeck, Jean-Luc Fauquembergue, Gilles Kahn, Wolfgang Kubbat, Stefan Levedag, Leonardo Mazzini, Didier Merle Thomson, Colin O'Halloran
European Space Agency Report, Paris, July 1996.
“Concurrency: An Introduction” and “Thread API”, R. Arpaci-Dusseau and A. Arpaci-Dusseap.
Operating Systems: Three Easy Pieces , Chapter 26—27.
“Bug Characteristics in Open Source Software”, Lin Tan, Chen Liu, Zhenmin Li, Xuanhui Wang, Yuanyuan Zhou, and Chengxiang Zhai.
The Springer Empirical Software Engineering, December 2014, Volume 19, Issue 6.
“ Learning from mistakes: a comprehensive study on real world concurrency bug characteristics ”, Shan Lu, Soyeon Park, Eunsoo Seo, Yuanyuan Zhou.
Proceedings of the 13th international conference on Architectural support for programming languages and operating systems (ASPLOS), 2008
(二) Lecture 2: (June 28 th ) Bug Detection & Fixing in Multi-Threaded Software
(1) Detecting Concurrency Bugs in Multi-Threaded Software
(2) Fixing Concurrency Bugs in Multi-Threaded Software
Reference:
“ Time, clocks, and the ordering of events in a distributed system ”, Leslie Lamport.
Communication of ACM, 21(7):558-565, 1978.
“Eraser: a dynamic data race detector for multi-threaded programs”, Stefan Savage, Michael Burrows, Greg Nelson, Patrick Sobalvarro, Thomas Anderson.
Proceedings of the sixteenth ACM symposium on Operating systems principles (SOSP) 1997.
“ AVIO: detecting atomicity violations via access interleaving invariants ”, Shan Lu, Joseph Tucek, Feng Qin, Yuanyuan Zhou
Proceedings of the 12th international conference on Architectural support for programming languages and operating systems (ASPLOS), 2006
“ConSeq: detecting concurrency bugs through sequential errors”, Wei Zhang, Junghee Lim, Ramya Olichandran, Joel Scherpelz, Guoliang Jin, Shan Lu, Thomas Reps.
Proceedings of the sixteenth international conference on Architectural support for programming languages and operating systems (ASPLOS), 2011
“Automated Concurrency-Bug Fixing”, Guoliang Jin, Wei Zhang, Dongdong Deng, Ben Liblit, and Shan Lu.
Proceedings of 10th USENIX Symposium on Operating Systems Design and Implementation (OSDI), 2012.
(三) Lecture 3: (June 29 th ) Failure Handling in Multi-Threaded Software
(1) Preventing & Recovering Concurrency Bug Failures in Multi-Threaded Software
(2) Diagnosing Concurrency Bug Failures in Multi-Threaded Software
Reference:
“Rx: Treating Bugs as Allergies -- A Safe Method to Survive Software Failures”, Feng Qin, Joseph Tucek, Jagadeesan Sundaresan, and Yuanyuan Zhou.
Proceedings of the 20th ACM Symposium on Operating Systems Principles (SOSP), 2005.
“ ConAir: featherweight concurrency bug recovery via single-threaded idempotent execution ”, Wei Zhang, Marc de Kruijf, Ang Li, Shan Lu, Karthikeyan Sankaralingam
Proceedings of the eighteenth international conference on Architectural support for programming languages and operating systems (ASPLOS), 2013
“AI: a lightweight system for tolerating concurrency bugs”, Mingxing Zhang, Yongwei Wu, Shan Lu, Shanxiang Qi, Jinglei Ren, Weimin Zheng.
Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering (FSE), 2014
“ Instrumentation and sampling strategies for cooperative concurrency bug isolation ”, Guoliang Jin, Aditya Thakur, Ben Liblit, Shan Lu.
Proceedings of the ACM international conference on Object oriented programming systems languages and applications (OOPSLA), 2010
“ Production-run software failure diagnosis via hardware performance counters ”, Joy Arulraj, Po-Chun Chang, Guoliang Jin, Shan Lu.
Proceedings of the eighteenth international conference on Architectural support for programming languages and operating systems (ASPLOS), 2013
(四) Lecture 4: (June 30 st ) Tackling Performance & Energy Bugs
(1).Understanding real-world performance bugs
(2). Detecting, diagnosing, and fixing performance bugs
(3). Understanding and handling energy bugs
Reference:
“Understanding and detecting real-world performance bugs”, Guoliang Jin, Linhai Song, Xiaoming Shi, Joel Scherpelz, Shan Lu.
Proceedings of the 33rd ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), 2012
“ Toddler: Detecting Performance Problems via Similar Memory-Access Patterns ”, Adrian Nistor, Linhai Song, Darko Marinov, and Shan Lu.
Proceedings of 35th International Conference on Software Engineering (ICSE), 2013
“ CARAMEL: Detecting and Fixing Performance Problems That Have Non-Intrusive Fixes ”, Adrian Nistor, Po-Chun Chang, Cosmin Radoi, and Shan Lu.
Proceedings of the 37th International Conference on Software Engineering (ICSE), 2015.
“Statistical debugging for real-world performance problems”, Linhai Song, Shan Lu.
Proceedings of the 2014 ACM International Conference on Object Oriented Programming Systems Languages & Applications (OOPSLA), 2014
“ What is keeping my phone awake? Characterizing and Detecting No-Sleep Energy Bugs in Smartphone Apps ”. Abhinav Pathak, Abhilash Jindal, Y. Charlie Hu, and Samuel Midkiff.
Proceedings of ACM MobiSys, 2012.
“Limplock: Understanding the Impact of Limpware on Scale-Out Cloud Systems”, Thanh Do, Mingzhe Hao, Tanakorn Leesatapornwongsa, Tiratat Patana-anake, Haryadi S. Gunawi.
Proceedings of the 4th ACM Symposium on Cloud Computing (SoCC), 2013
(五) Lecture 5: (July 1st) Tackling Bugs in Distributed Systems
(1) Background about distributed systems
(2) Background about failure-tolerance in distributed systems
(3) Understanding bugs in distributed systems
(4) Detecting bugs in distributed systems
Reference:
“ MapReduce: simplified data processing on large clusters ”, J. Dean and S. Ghemawat.
Proceedings of the 6th conference on Symposium on Opearting Systems Design & Implementation (OSDI) , 2004
“What Bugs Live in the Cloud? A Study of 3000+ Issues in Cloud Systems”, Haryadi S. Gunawi, Mingzhe Hao, Tanakorn Leesatapornwongsa, Tiratat Patana-anake, Thanh Do, Jeffry Adityama, Kurnia J. Eliazar, Agung Laksono, Jeffrey F. Lukman, Vincentius Martin, Anang D. Satria.
Proceedings of the 5th ACM Symposium on Cloud Computing (SoCC), 2014
“ SAMC: Semantic-Aware Model Checking for Fast Discovery of Deep Bugs in Cloud Systems ”, Tanakorn Leesatapornwongsa, Mingzhe Hao, Pallavi Joshi, Jeffrey F. Lukman, Haryadi S. Gunawi.
Proceedings of 11th USENIX Symposium on Operating Systems Design and Implementation (OSDI), 2014.
“ TaxDC: A Comprehensive Taxonomy of Non-Deterministic Concurrency Bugs in Cloud Distributed Systems ”, Jeffrey F. Lukman, Tanakorn Leesatapornwongsa, Shan Lu, and Haryadi S. Gunawi.
Proceedings of the 21st International Conference on Architectural Support for Programming Languages and Operating Systems(ASPLOS), 2016.
地址:安徽省合肥市蜀山区黄山路443号 电话:0551-63603804 Email:yuzhang@ustc.edu.cn
中国科学技术大学网络信息中心制作维护