Programmers are told “depend on interfaces, not implementations.” But, given a program, is it possible even to assess objectively whether such advice has been followed?
Programmers frequently talk in ways like this about dependence, but the very term, like many used in software engineering, has hitherto eluded precise definition. In this work, we resolve a variety of confusions about dependence, and present a formal definition unifying multiple varieties of software dependence, grounded in Halpern and Pearl’s theory of actual causation. This definition is parameterized by the formal system characterizing the property of interest, and by constraints on “reasonable changes” to the program. By picking different choices of formal system, one can specialize our definition to characterize several notions of dependence, including build, correctness, and performance dependences. Overall, our work provides a path to making conversations about software dependence fully objective, and might serve as a basis for future work that automatically checks forms of dependence that were previously too abstract or high-level to be candidates for tools.
Wed 20 OctDisplayed time zone: Central Time (US & Canada) change
13:50 - 15:10 | OOPSLA and Onward! 2020 Papers 2SIGPLAN Papers at Zurich G Chair(s): Michael Coblenz University of Maryland at College Park | ||
13:50 15mTalk | Programming and Reasoning with Partial Observability SIGPLAN Papers Eric Atkinson Massachusetts Institute of Technology, Michael Carbin Massachusetts Institute of Technology | ||
14:05 15mTalk | Pomsets with Preconditions: A Simple Model of Relaxed Memory SIGPLAN Papers | ||
14:20 15mTalk | Koord: a language for programming and verifying distributed robotics applications SIGPLAN Papers Ritwika Ghosh University of Illinois at Urbana-Champaign, Chiao Hsieh University of Illinois at Urbana-Champaign, Sasa Misailovic University of Illinois at Urbana-Champaign, Sayan Mitra University of Illinois at Urbana-Champaign | ||
14:35 15mPaper | Demystifying Dependence SIGPLAN Papers Link to publication Pre-print | ||
14:50 20mLive Q&A | Discussion, Questions and Answers SIGPLAN Papers |