Yanyan's Wiki 操作系统 (2022)

阅读列表

低年级/入门课程

高年级/研究生课程

  • 数学/理论计算机科学
    • The Princeton Companion to Mathematics (Timothy Gowers Ed.)
    • Probability and Computing (Michael Mitzenmacher and Eli Upfal)
    • Quantum Computing Since Democritus (Scott Aaronson)
    • The Nature of Computation (Cristopher Moore and Stephan Mertens)
    • Computational Complexity: A Modern Approach (Sanjeev Arora and Boaz Barak)
    • Principles of Distributed Computing (Roger Wattenhofer)
    • Ideas That Created the Future Classic Papers of Computer Science (Harry R. Lewis Ed.)
  • 算法与最优化
    • The Art of Computer Programming (Donald E. Knuth)
    • The Art of Multiprocessor Programming (Maurice Herlihy and Nir Shavit)
    • Convex Optimization (Stephen Boyd and Lieven Vandenberghe)
    • Combinatorial Optimization: Algorithms and Complexity (Christos H. Papadimitriou and Kenneth Steiglitz)
    • Heuristic Search: Theory and Applications (Stefan Edelkamp and Stefan Schroedl)
  • 程序设计语言
    • Logic in Computer Science: Modelling and Reasoning about Systems. (Michael Huth and Mark Ryan)
    • Software Foundations 系列
    • Static Program Analysis (Anders Møller and Michael I. Schwartzbach)
    • Theories of Programming Languages (John C. Reynolds)
    • Types and Programming Languages (Benjamin C. Pierce)
  • 计算机系统
    • Computer Architecture: A Quantitative Approach (John L. Hennessy and David A. Patterson)
    • Parallel and Distributed Computing: Numerical Methods (Dimitri P. Bertsekas and John N. Tsitsiklis)
    • Is Parallel Programming Hard, And, If So, What Can You Do About It? (Paul E. McKenny Ed.)
    • The Design and Implementation of the 4.4BSD Operating System (Marshall Kirk McKusick, Keith Bostic, Michael J. Karels, and John S. Quarterman)
  • 数据库

研究生阅读

重要的合集

社区维护的合集 (还有很多)

其他

### 测试/编译器 ### 测试/并发 * Madanlal Musuvathi, Shaz Qadeer, and Thomas Ball. CHESS: A Systematic Testing Tool for Concurrent Software. SOSP'05. * Cormac Flanagan and Stephen N. Freund. FastTrack: Efficient and precise dynamic race detection. PLDI'09. * Sebastian Burckhardt, Pravesh Kothari, Madanlal Musuvathi, and Santosh Nagarakatte. A randomized scheduler with probabilistic guarantees of finding bugs. ASPLOS'10. * Michael Emmi, Shaz Qadeer, and Zvonimir Rakamarić. Delay-bounded scheduling. POPL'11. * Jeff Huang. Stateless model checking concurrent programs with maximal causality reduction. PLDI'15. * Dileep Kini, Umang Mathur, and Mahesh Viswanathan. Dynamic race prediction in linear time. PLDI'17. * Rupak Majumdar and Filip Niksic. Why is random testing effective for partition tolerance bugs? POPL'18. ### 测试/其他 * David Saff, Shay Artzi, Jeff H. Perkins, and Michael D. Ernst. Automatic test factoring for Java. ASE'05. * Maysam Yabandeh, Nikola Knezevic, Dejan Kostic and Viktor Kuncak. CrystalBall: Predicting and preventing inconsistencies in deployed distributed systems. NSDI'09. * Junfeng Yang, Tisheng Chen, Ming Wu, Zhilei Xu, Xuezheng Liu, Haoxiang Lin, Mao Yang, Fan Long, Lintao Zhang, Lidong Zhou. MODIST: Transparent model checking of unmodified distributed systems. NSDI'09. ### 编译器/优化 * Cliff Click, Michael Paleczny. A simple graph-based intermediate representation. IR'95. * Cliff Click. Global code motion / global value numbering. PLDI'95. * Jong-Deok Choi, Manish Gupta, Mauricio J. Serrano, Vugranam C. Sreedhar and Samuel P. Midkiff. Escape analysis for Java. OOPSLA'99. ### 编译器/Runtime * Urs Hölzle, Craig Chambers, David M. Ungar. Debugging optimized code with dynamic deoptimization. PLDI'92. * Feng Qin, Joseph Tucek, Jagadeesan Sundaresan, Yuanyuan Zhou. Rx: Treating bugs as allergies---A safe method to survive software failures. SOSP'05. ### 合成/PBE * Sumit Gulwani. Automating string processing in spreadsheets using input-output examples. POPL'11. * Oleksandr Polozov and Sumit Gulwani. FlashMeta: A framework for inductive program synthesis. OOPSLA'15. * Chenglong Wang, Alvin Cheung, and Rastislav Bodik. Synthesizing highly expressive SQL queries from input-output examples. PLDI'17. * Rajeev Alur, Arjun Radhakrishna, and Abhishek Udupa. Scaling enumerative program synthesis via divide and conquer. TACAS'17. * Yu Feng, Ruben Martins, Osbert Bastani, and Isil Dillig. Program synthesis using conflict-driven learning. PLDI'18. * Woosuk Lee, Kihong Heo, Rajeev Alur, and Mayur Naik. Accelerating search-based program synthesis using learned probabilistic models. PLDI'18. * Kensen Shi, Jacob Steinhardt, and Percy Liang. FrAngel: Component-based Synthesis with Control Structures. POPL'19. * Qiaochu Chen, Xinyu Wang, Xi Ye, Greg Durrett, and Isil Dillig. Multi-modal Synthesis of Regular Expressions. PLDI'20. ### 合成/修复 * Sergey Mechtaev, Jooyong Yi, and Abhik Roychoudhury. Angelix: Scalable multiline program patch synthesis via symbolic analysis. ICSE'16. ### 未分类 ## 闲书/杂书 * *Fire in the Valley: The Brith and Death of the Personal Computer* (Michael Swaine and Paul Freiberger) * *[The UNIX-Haters Handbook](http://web.mit.edu/~simsong/www/ugh.pdf)* (Simon Garfinkel, Daniel Weise, Steven Strassmann Ed.) * Junfeng Yang, Can Sar, and Dawson Engler. eXplode: A lightweight, general system for finding serious storage system errors. OSDI'06. - Guoliang Jin, Linhai Song, Xiaoming Shi, Joel Scherpelz, and Shan Lu. Understanding and detecting real-world performance bugs. PLDI'12. - Carlos Pacheco, Shuvendu K. Lahiri, Michael D. Ernst, and Thomas Ball. Feedback-directed random test generation. ICSE'07. - George Candea, Shinichi Kawamoto, Yuichi Fujiki, Greg Friedman, and Armando Fox. Microreboot – A technique for cheap recovery. OSDI'04. * Rx ## Debugging - James A. Jones, Mary Jean Harrold, and John Stasko. Visualization of test information to assist fault localization. ICSE'02. - Andreas Zeller and Ralf Hildebrandt. Simplifying and isolating failure-inducing input. IEEE Transactions on Software Engineering (TSE), 28(2), 2002. ## Testing - Koushik Sen. Race directed random testing of concurrent programs. PLDI'08. - ASE05 test case factoring. ## ?? - Shan Lu, Soyeon Park, Eunsoo Seo, and Yuanyuan Zhou. Learning from mistakes — A comprehensive study on real world concurrency bug characteristics. ASPLOS'08. - setuid demystified - Zuoning Yin, Ding Yuan, Yuanyuan Zhou, Shankar Pasupathy, and Lakshmi Bairavasundaram. How do fixes become bugs? A comprehensive characteristic study on incorrect fixes in commercial and open source operating systems. FSE'11. - Abram Hindle, Earl Barr, Mark Gabel, Zhendong Su, and Prem Devanbu. On the naturalness of software. ICSE'12. - James C. King. Symbolic execution and program testing. Communications of the ACM (CACM), 19(7), 1976. - Patrice Godefroid. Model checking for programming languages using VeriSoft. POPL'97. - Cristian Cadar, Daniel Dunbar, and Dawson Engler. KLEE: Unassisted and automatic generation of high-coverage tests for complex systems programs. OSDI'08. - Leonid Ryzhyk, Peter Chubb, Ihor Kuz, Etienne Le Sueur, Gernot Heiser. Automatic device driver synthesis with Termite. SOSP'09. - Thanassis Avgerinos, Alexandre Rebert, Sang Kil Cha, and David Brumley. Enhancing symbolic execution with VeriTesting. ICSE'14. - Sergey Mechtaev, Jooyong Yi, and Abhik Roychoudhury. Angelix: Scalable multiline program patch synthesis via symbolic analysis. ICSE'16. ---- - CrystalBall. NSDI'09. - Konstantin Serebryany, Derek Bruening, Alexander Potapenko, and Dmitry Vyukov. AddressSanitizer: A fast address sanity checker. USENIX ATC'12. - Dawson Engler, David Yu Chen, Seth Hallem, Andy Chou, and Benjamin Chelf. Bugs as deviant behavior: A general approach to inferring errors in systems code. SOSP'01. # GSER Pending List - An analysis of performance evolution of Linux’s core operations (SME/Empirical) SOSP'19 https://dl.acm.org/citation.cfm?id=3359640 - Julien Brunel, Damien Doligez, René Rydhof Hansen, Julia L. Lawall, and Gilles Muller. A foundation for flow-based program matching: Using temporal logic and model checking. POPL'09. Databases Distributed System (6.824) Advanced Data Structure 6.851 Onur Mutlu's [Memory Systems and Memory-Centric Computing Systems: Fundamentals and Recent Research](https://safari.ethz.ch/memory_systems/TUWien2019/doku.php)
Creative Commons License    苏 ICP 备 2020049101 号