
Re-Imagining the “Programming Paradigms” Course
How can we refocus and modernize the undergraduate “programming paradigms” course?
How can we refocus and modernize the undergraduate “programming paradigms” course?
The authors of POPL’s 2019 most influential paper reflect on lessons learned: (i) in research, ask daring questions far beyond current capabilities; (ii) develop compositional techniques, which confer important benefits that increase impact; (iii) work in PL theory: now is a great time for it!
Telling the truth about all program behaviors collectively is hard. Can an analysis say something useful and true without making assumptions that are violated by nearly all real programs?
The wealth of code now available on-line is fertile ground to enable machine learning to be applied to programming tasks. This post discusses the promise of and some progress on the problem “deep code.” It is the first in a series.
The purpose of a program analysis is to infer whether a certain property of a program execution can be observed at runtime. The notion of an analysis’ soundness defines how much confidence one should put in its results. The notion is not uniform and is determined by whether the analysis is intended to be used as a testing or as a verification tool.