Demystifying Dependence
summary
Claims a first rigorous definition of software dependence, answers nine dependency puzzles (three shown) and shows dependence always ties to the property asked, the execution model, and permitted changes. Uses concrete examples — an iPhone app with an analytics abstraction, Ariane V, a round‑robin scheduler and payment fallback — and formal tools: causal graphs, counterfactuals and Halpern 2015 style actual causation, plus static vs dynamic vs program‑logic semantics, super‑spec/frame conditions to rule out spurious changes, and the claim dependence equals causation with a formal lifting to arbitrary programs and checkable criteria.
AI-written summary · about
chapters (6)
related talks
44mDependencies; Devil or Darling?
26mDependency Management in Clojure
42mConquering Your Dependencies, the Long Road to Organizational Agility
01mSoftware doesn't tolerate ambiguity
01h 27mWhoops! Where did my architecture go?
46m"The answer is... it depends"
28mWhat You See Is What It Does: A Structural Pattern for Legible Software
22mIt depends: A dialog about dependencies
