Comments in italics are mine and express my own views, thoughts and opinions
Developer’s Guide to Debugging by M. Wloka, et al.:
An application as a set of processes (p. 103)
strace (Linux) and truss (Solaris) to trace OS calls (pp. 104 - 106) - On Windows we can trace API while debugging using WinDbg extensions: http://www.dumpanalysis.org/blog/index.php/2007/01/03/tracing-win32-api-while-debugging-a-process/. Process Monitor can also be used to trace API subsets like File and Registry I/O.
Compiler bugs (pp. 106 - 107)
Debugger and compiler incompatibilities (p. 107)
Link-time bugs (Chapter 9)
Missing symbols (pp. 112 - 113) - On Windows search strategies like Explorer Search and dumpbin can be useful for dynamic linking errors
Advanced Windows Debugging by M. Hewardt and D. Pravat:
The importance of lazy initialization and associated impersonation bugs (pp. 347 - 354)
Concurrent Programming on Windows by J. Duffy:
.NET programs are multithreaded from the start (gc runs on a separate thread) (p. 79) - We can see this in WinDbg when attaching it to a .NET app container
Thread as a virtual processor metaphor (p. 80)
Thread as an execution context (p. 81)
Non-local transfer of control; context switch, exception handling, hardware interrupt (borrows kernel stack), DPC and APC (pp. 84 - 85)
DPC and APC run in the context of the current thread (p. 85)
The differences of CLR (managed) threads: just additional CLR information is stored on per OS thread basis (p. 86)
Explicit threading: explicit thread creation (p. 87) with thread pool alternative (p.88)
Software Factories by J. Greenfield, et. al.:
Failure of enterprise data modeling during terminal era of 70s - 80s (p. 13)
Bifurcation of of software into personal and enterprise with the advent of PCs (pp. 15 - 16)
The notion of the phenomenon of cheaper products eventually displacing market leaders after improvement over time (p. 16)
Thick client: business rules on both tiers (p. 17)
The growth of packaged application industry and outsourcing after client-server era (pp. 18 - 21)
Software Engineering Foundations: A Software Science Perspective, by Y. Wang:
SE principles to counter SE constraints (cognitive, organizational and resource) (p. 2)
Software as a unique abstract structure (p. 7)
The notion of the intelligent behavioural metaphor (p. 7)
Inductive math-based methodology of theoretical software problems vs. deductive experiment-driven for empirical problems: both must be used for SE problems (1st Law of SE) (p.
The need for mathematical modeling of software system architecture and software behaviours (p. 9)
- Dmitry Vostokov @ SoftwareGeneralist.com -