This is a list of suggested papers to discuss, which will persist term to term. If you present a paper, please remove it from this list when you add yourself to the schedule. Please add new suggestions to the top of the list.

A note on getting papers: Many of these are links to the authoritative publisher versions of the papers. Drexel has subscriptions, and accessing any of these links from on campus should “just work.” From off campus, you can either use the Drexel VPN, or drop the paper title into Google Scholar, and will usually find author-posted versions.

For an overview of what some of these venue abbreviations refer to, see the end of the page.

Venues in Programming Systems

“Programming Systems” is meant as an umbrella term for several research areas including programming languages and software engineering, two research areas that overlap, but are both broadly focused on different ways to make it easier to produce high-quality software systems faster. They tend to vary in terms of which particular aspects of software development they focus on, what techniques they bring to bear, and the expected timeline from conception to impact on the real world, but share the same overarching long-term goals. Many researchers work across both areas.

Below we list various venues that are definitely worth looking at for possible papers; this is not meant to be exclusive, but this list does reflect a number of the most prominent venues for these areas. The lists, acronym expansions, and further details are a work in progress

Many of the conferences below have associated workshops focused on narrower topics, which often also have interesting work.

Software Engineering Venues

  • ICSE = ACM International Conference on Software Engineering
  • FSE = ACM Conference on Foundations of Software Engineering
    • Sometimes also shows up as ESEC/FSE from some vestiges of kind of sort of merging with the European Software Engineering Conference
  • ASE = ACM Conference on Automated Software Engineering
  • ISSTA = ACM International Symposium on Software Testing and Analysis
  • TOSEM = ACM Transactions on Software Engineering and Methodology
  • TSE = IEEE Transactions on Software Engineering

Despite the fact that there are fewer major SE venues listed than PL venues, “Software Engineering” is a larger research area; there are many more people working under this banner, and the venues are larger (in the sense of publishing larger numbers of papers each year).

Programming Languages Venues

  • Now technically part of PACMPL = Transactions of the ACM on Programming Languages, but previously distinct conferences (there are still distinct events, but one journal collecting proceedings)
    • POPL = Principles of Programming Languages
    • PLDI = Programming Language Design and Implementation
    • ICFP = International Conference on Functional Programming
    • OOPSLA = Object-Oriented Programming, Systems, Languages, and Applications
  • ECOOP = European Conference on Object-Oriented Programming
    • Despite the name, this is a generalist PL conference, which simply happens to usually be located in Europe (except when every 7-10 years or so it’s in Shanghai or Seattle)
  • ESOP = European Symposium on Programming
    • Similarly a general PL venue that happens to be located in Europe every year, similar in flavor to POPL
  • TOPLAS = ACM Transactions on Programming Languages and Systems
  • JFP = Journal of Functional Programming
  • CAV = International Conference on Computer Aided Verification
  • CC = International Conference on Compiler Construction
  • LICS = ACM/IEEE Conference on Logic in Computer Science
  • LMCS = Logical Methods in Computer Science (journal)

Other Venues

  • CSUR = ACM Computing Surveys
    • A broad-coverage journal which publishes exclusively in-depth overview articles (survey papers) of various research areas

To be added: various SIGCHI and ML venues that sometimes have relevant work