K:System understanding and rationale
System understanding and rationale
Editorial topic mappings connect related questions across sources and book chapters.
SE@PoliMi bibliography 30
- W032 — Understanding the Impact of AI Code Assistants on Security API Usage
Mousavi · 2026 - W050 — Understanding the (In)Security of Vibe-Coded Applications
Deng · 2026 - W086 — Quality Evaluation of Modern Code Reviews Through Intelligent Biometric Program Comprehension
Hijazi · 2023 - W090 — Decoding the Representation of Code in the Brain: An fMRI Study of Code Review and Expertise
Floyd · 2017 - W092 — Complacency and Bias in Human Use of Automation: An Attentional Integration
Parasuraman · 2010 - W094 — AI Slop is DDoSing Open Source: Understanding the Impact of AI-Generated Contributions on Open Source Sustainability
Afroz · 2026 - W096 — Go Home Copilot, You're Drunk: Understanding Developer Responses to Agent-Generated Code Review Comments
Cynthia · 2026 - W113 — I Would Have Written My Code Differently: Beginners Struggle to Understand LLM-Generated Code
Zi · 2025 - W116 — Using Biometrics to Understand AI-Assisted Coding Performance and its Perception
Burelli · 2026 - W122 — AI Didn't Make Programming Easier. It Just Made It Differently Difficult
Osborn · 2026 - W146 — McKinsey Technology Trends Outlook 2026
Chui · 2026 - W154 — Comprehension Debt in GenAI-Assisted Software Engineering Projects
Ahmad · 2026 - W155 — ChatGPT: Friend or Foe When Comprehending and Changing Unfamiliar Code
Anderson · 2026 - W156 — LACY: Simulating Expert Mentoring for Software Onboarding with Code Tours
Kara · 2026 - W162 — 40 Years of Designing Code Comprehension Experiments: A Systematic Mapping Study
Wyrich · 2024 - W164 — Program Comprehension and Code Complexity Metrics: An fMRI Study
Peitek · 2021 - W166 — Comprehension of computer code relies primarily on domain-general executive brain regions
Ivanova · 2020 - W167 — A Look into Programmers' Heads
Peitek · 2020 - W169 — Simultaneous Measurement of Program Comprehension with fMRI and Eye Tracking: A Case Study
Peitek · 2018 - W170 — Measuring Program Comprehension: A Large-Scale Field Study with Professionals
Xia · 2018 - W172 — Measuring neural efficiency of program comprehension
Siegmund · 2017 - W176 — I Know What You Did Last Summer — An Investigation of How Developers Spend Their Time
Minelli · 2015 - W179 — A systematic literature review on the usage of eye-tracking in software engineering
Sharafi · 2015 - W181 — Understanding understanding source code with functional magnetic resonance imaging
Siegmund · 2014 - W183 — Moving into a New Software Project Landscape
Dagenais · 2010 - W186 — Maintaining Mental Models: A Study of Developer Work Habits
LaToza · 2006 - W188 — The Ramp-Up Problem in Software Projects: A Case Study of How Software Immigrants Naturalize
Sim · 1998 - W189 — The Substrate Collapse: AI Code Generation Invalidates Authorship-Based Knowledge Metrics
Wheeler · 2026 - W190 — How do Humans and LLMs Process Confusing Code?
Abdelsalam · 2025 - W191 — Where Do AI Coding Agents Fail? An Empirical Study of Failed Agentic Pull Requests in GitHub
Ehsani · 2026
Addy Osmani 8
- O002 — Brownfield Agentic Engineering
Addy Osmani · 2026-09-14 - O017 — The 80% Problem in Agentic Coding
Addy Osmani · 2026-01-28 - O022 — 21 Lessons from 14 Years at Google
Addy Osmani · 2025-12-04 - O023 — Treat AI-Generated code as a draft
Addy Osmani · 2025-11-25 - O027 — How modern browsers work
Addy Osmani · 2025-09-13 - O031 — Context Engineering: Bringing Engineering Discipline to Prompts
Addy Osmani · 2025-07-13 - O042 — Beyond the 70%: Maximizing the human 30% of AI-assisted coding
Addy Osmani · 2025-03-13 - O048 — Future-proofing your Software Engineering career
Addy Osmani · 2024-12-23
The Pragmatic Engineer 7
- P014 — How AI-assisted coding will change software engineering: hard truths
Gergely Orosz; Addy Osmani · 2025-01-05 - P018 — Are LLMs making StackOverflow irrelevant?
Gergely Orosz · 2025-01-21 - P040 — Stack overflow is almost dead
Gergely Orosz · 2025-05-15 - P043 — Vibe Coding as a software engineer
Gergely Orosz; Elin Nilsson · 2025-06-03 - P047 — Learnings from two years of using AI tools for software engineering
Gergely Orosz; Birgitta Böckeler · 2025-06-24 - P080 — When AI writes almost all code, what happens to software engineering?
Gergely Orosz · 2026-01-06 - P092 — “How to be a 10x engineer” – interview with a standout dev
Gergely Orosz · 2026-03-24
Martin Fowler’s website 6
- F009 — Onboarding to a 'legacy' codebase with the help of AI
Birgitta Böckeler · 2024-08-15 - F014 — Guiding an LLM for Robust Java ByteBuffer Code
Unmesh Joshi · 2025-04-17 - F017 — Building Custom Tooling with LLMs
Unmesh Joshi · 2025-05-14 - F019 — I still care about the code
Birgitta Böckeler · 2025-07-09 - F020 — Partner with the AI, throw away the code
Matteo Vaccari · 2025-07-31 - F035 — When Software Meets Hardware
Kuldeep Singh · 2026-10-15
Earlier Non-Deterministic books 44
- B005 — Vibe Coding vs. AI-Assisted Engineering
Enrico Papalini · - B014 — PART II: Quality Assurance
Enrico Papalini · - B018 — Antipatterns: What Not to Do
Enrico Papalini · - B019 — Tools \& Practices
Enrico Papalini · - B022 — Static Context Engineering: Teaching AI About Your Project
Enrico Papalini · - B023 — Dynamic Context Engineering: Real-Time Information
Enrico Papalini · - B024 — Context Flow Control: Managing Complex Sessions
Enrico Papalini · - B026 — Development Practices Enhanced by AI
Enrico Papalini · - B030 — Common Pitfalls to Avoid
Enrico Papalini · - B034 — Implementation Guide and Solutions
Enrico Papalini · - B039 — The Process
Enrico Papalini · - B041 — The Integration
Enrico Papalini · - B042 — Advanced Patterns
Enrico Papalini · - B043 — Limitations and Judgment
Enrico Papalini · - B044 — Templates
Enrico Papalini · - B045 — Complete Implementation Examples
Enrico Papalini · - B046 — Playbook Quick Reference
Enrico Papalini · - B050 — The Process: Four Phases, Four Gates
Enrico Papalini · - B051 — Anatomy of an AI SDD Framework
Enrico Papalini · - B053 — The Lightweight Protocols: GSD v1 and GSD-2
Enrico Papalini · - B054 — The Specification Toolkits: Spec Kit and OpenSpec (openspec.dev)
Enrico Papalini · - B055 — The Agentic Orchestrators: BMAD Method and AI-RPI Protocol
Enrico Papalini · - B061 — Automation and Extensibility: CLI, Modules, and MCP
Enrico Papalini · - B064 — Limitations and Professional Judgment
Enrico Papalini · - B067 — Playbooks
Enrico Papalini · - B068 — Template Reference
Enrico Papalini · - B071 — Spec Kit
Enrico Papalini · - B072 — OpenSpec (openspec.dev)
Enrico Papalini · - B074 — AI-RPI Protocol
Enrico Papalini · - B075 — ralph-copilot
Enrico Papalini · - B077 — GSD v1
Enrico Papalini · - B078 — GSD-2
Enrico Papalini · - B080 — Agent Skills
Enrico Papalini · - B086 — The Philosophy of Deterministic Failure
Enrico Papalini · - B088 — The Ralph Loop Pattern
Enrico Papalini · - B089 — Task Decomposition for Machines
Enrico Papalini · - B090 — Memory and Context Engineering
Enrico Papalini · - B092 — Advanced Prompting for Autonomous Systems
Enrico Papalini · - B094 — Scheduling and Overnight Execution
Enrico Papalini · - B104 — Non-Deterministic Loop Engineering: A Critical Assessment
Enrico Papalini · - B105 — The Organization Becomes a Loop
Enrico Papalini · - B107 — The Ralph Loop: Persistent Progress Through Fresh Context
Enrico Papalini · - B108 — Building a Full Local AI Loop
Enrico Papalini · - B111 — Glossary
Enrico Papalini ·
Software Engineering Practices 13
- PAT:006 — Context Window Anxiety Management
- PAT:007 — Compounding Engineering
- PAT:008 — Agent-Powered Codebase Q&A and Onboarding
- PAT:016 — Structured Drift Detection
- PAT:020 — File-System as State Machine
- PAT:028 — Skills and Context Engineering: Remove Intent Debt
- PAT:029 — Memory and Retrieval: Read What the Model Could Not Know
- PAT:038 — Duplicate detection
- PAT:041 — Changelog drafter
- PAT:047 — Context Engineering
- PAT:053 — Legacy Code Navigation
- PAT:062 — Research Artifact Preservation
- PAT:072 — Handoff Chain