The Research Papers track features presentations from authors of papers accepted at the upcoming The Art, Science, and Engineering of Programming journal. Interested authors should submit their papers to that journal, and choose this year’s Program Chair (Crista Lopes) as the handling editor for their papers.

In order to present at ‹Programming› 2017, papers must be submitted to either one of the first two issues of that journal. See Important Dates.

Dates
You're viewing the program in a time zone which is different from your device's time zone change time zone

Wed 5 Apr

Displayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change

10:45 - 12:15
Research Papers 1Research Papers at D0.07
Chair(s): Guido Salvaneschi TU Darmstadt
10:45
30m
Talk
Language Oriented Modularity: From Theory to Practice
Research Papers
Arik Hadas Open University, David H. Lorenz Open University and Technion IIT
Link to publication DOI
11:15
30m
Talk
A Module-System Discipline for Model-Driven Software Development
Research Papers
Sebastian Erdweg TU Delft, Klaus Ostermann University of Tübingen, Germany
Link to publication DOI
11:45
30m
Talk
User-Defined Operators Including Name Binding for New Language Constructs
Research Papers
Kazuhiro Ichikawa , Shigeru Chiba University of Tokyo
Link to publication DOI
13:30 - 15:00
Research Papers 2Research Papers at D0.07
Chair(s): Shigeru Chiba University of Tokyo
13:30
30m
Talk
TRIOT: Faster tensor manipulation in C++11
Research Papers
Oliver Serang Freie Univeristät Berlin, Florian Heyl Freie Universität Berlin
Link to publication DOI
14:00
30m
Talk
Effective Analysis of C Programs by Rewriting Variability
Research Papers
Alexandru Iosif-Lazar IT University of Copenhagen, Jean Melo IT University of Copenhagen, Aleksandar S. Dimovski IT University of Copenhagen, Denmark, Claus Brabrand IT University of Copenhagen, Denmark, Andrzej Wąsowski IT University of Copenhagen, Denmark
Link to publication DOI
14:30
30m
Talk
Transition Watchpoints: Teaching Old Debuggers New Tricks
Research Papers
Kapil Arya , Tyler Denniston , Ariel Rabkin Cloudera, Gene Cooperman Northeastern University
Link to publication DOI
15:30 - 17:00
Research Papers 3Research Papers at D0.07
Chair(s): Mario Südholt École des Mines de Nantes, France
15:30
30m
Talk
Relationship Maintenance in Software Language Repositories
Research Papers
Ralf Laemmel University of Koblenz-Landau, Germany
Link to publication DOI
16:00
30m
Talk
Open Programming Language Interpreters
Research Papers
Walter Cazzola Università degli Studi di Milano, Albert Shaqiri
Link to publication DOI
16:30
30m
Talk
Interconnected Linguistic Architecture
Research Papers
Johannes Härtel University of Koblenz-Landau, Germany, Lukas Härtel University of Koblenz-Landau, Germany, Ralf Laemmel University of Koblenz-Landau, Germany, Andrei Varanovich University of Koblenz-Landau, Germany, Marcel Heinz University of Koblenz-Landau, Germany
Link to publication DOI

Thu 6 Apr

Displayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change

10:45 - 12:15
Research Papers 4Research Papers at D0.07
Chair(s): Crista Lopes University of California, Irvine
10:45
30m
Talk
Application Embedding: A Language Approach to Declarative Web Programming
Research Papers
David H. Lorenz Open University and Technion IIT, Boaz Rosenan University of Haifa
Link to publication DOI
11:15
30m
Talk
Profunctor Optics: Modular Data Accessors
Research Papers
Matthew Pickering , Jeremy Gibbons Department of Computer Science, University of Oxford, Nicolas Wu University of Bristol
Link to publication DOI
11:45
30m
Talk
Miscomputation in software: Learning to live with errors
Research Papers
Tomas Petricek Alan Turing Institute
Link to publication DOI
13:30 - 15:00
Research Papers 5Research Papers at D0.07
Chair(s): Elisa Gonzalez Boix Vrije Universiteit Brussel
13:30
30m
Talk
Edit Transactions: Dynamically Scoped Change Sets for Controlled Updates in Live Programming
Research Papers
Toni Mattis Hasso Plattner Institute, Patrick Rein Hasso Plattner Institute, Robert Hirschfeld HPI
Link to publication DOI
14:00
30m
Talk
What Is the Best Way For Developers to Learn New Software Tools? An Empirical Comparison Between a Text and a Video Tutorial
Research Papers
Verena Käfer Universität Stuttgart, Daniel Kulesz Universität Stuttgart, Stefan Wagner Universität Stuttgart
Link to publication DOI
14:30
30m
Talk
An Analysis of Introductory Programming Courses at UK Universities
Research Papers
Ellen Murphy University of Bath, Tom Crick Cardiff Metropolitan University, James H. Davenport University of Bath
Link to publication DOI
15:30 - 17:00
Research Papers 6Research Papers at D0.07
Chair(s): Tijs van der Storm CWI
15:30
30m
Talk
The pragmatics of clone detection and elimination
Research Papers
Simon Thompson , Huiqing Li University of Kent, Andreas Schumacher Ericsson AB
Link to publication DOI
16:00
30m
Talk
Does Python Smell Like Java?
Research Papers
Nicole Vavrová University of Amsterdam, Netherlands, Vadim Zaytsev Raincode, Belgium
Link to publication DOI
16:30
30m
Talk
Active Expressions: Basic Building Blocks for Reactive Programming
Research Papers
Stefan Ramson Hasso Plattner Institute, Potsdam, Robert Hirschfeld HPI
Link to publication DOI

Presentations

Title
Active Expressions: Basic Building Blocks for Reactive Programming
Research Papers
Link to publication DOI
A Module-System Discipline for Model-Driven Software Development
Research Papers
Link to publication DOI
An Analysis of Introductory Programming Courses at UK Universities
Research Papers
Link to publication DOI
Application Embedding: A Language Approach to Declarative Web Programming
Research Papers
Link to publication DOI
Does Python Smell Like Java?
Research Papers
Link to publication DOI
Edit Transactions: Dynamically Scoped Change Sets for Controlled Updates in Live Programming
Research Papers
Link to publication DOI
Effective Analysis of C Programs by Rewriting Variability
Research Papers
Link to publication DOI
Interconnected Linguistic Architecture
Research Papers
Link to publication DOI
Language Oriented Modularity: From Theory to Practice
Research Papers
Link to publication DOI
Miscomputation in software: Learning to live with errors
Research Papers
Link to publication DOI
Open Programming Language Interpreters
Research Papers
Link to publication DOI
Profunctor Optics: Modular Data Accessors
Research Papers
Link to publication DOI
Relationship Maintenance in Software Language Repositories
Research Papers
Link to publication DOI
The pragmatics of clone detection and elimination
Research Papers
Link to publication DOI
Transition Watchpoints: Teaching Old Debuggers New Tricks
Research Papers
Link to publication DOI
TRIOT: Faster tensor manipulation in C++11
Research Papers
Link to publication DOI
User-Defined Operators Including Name Binding for New Language Constructs
Research Papers
Link to publication DOI
What Is the Best Way For Developers to Learn New Software Tools? An Empirical Comparison Between a Text and a Video Tutorial
Research Papers
Link to publication DOI

Call for Papers

Scope

The Art, Science, and Engineering of Programming accepts papers that advance knowledge of programming. Almost anything about programming is in scope, but in each case there should be a clear relevance to the act and experience of programming. Additionally, papers must be written in a scholarly form. Scholarly works are those that describe ideas in the context of other ideas that are already known, so to contribute to the systematic and long-standing chaining of knowledge. Papers that fail to properly contextualize the work will not be considered.

We accept descriptions of work under different perspectives:

  • Art: knowledge and technical skills acquired through practice and personal experiences. Examples include libraries, frameworks, languages, APIs, programming models and styles, programming pearls, and essays about programming.

  • Science (Theoretical): knowledge and technical skills acquired through mathematical formalisms. Examples include formal programming models and proofs.

  • Science (Empirical): knowledge and technical skills acquired through experiments and systematic observations. Examples include user studies and programming-related data mining.

  • Engineering: knowledge and technical skills acquired through designing and building large systems and through calculated application of principles in building those systems. Examples include measurements of artifacts’ properties, development processes and tools, and quality assurance methods.

Almost anything about programming is in scope, but in each case there should be a clear and direct relevance to the act and experience of programming. Essays reflecting on topics closely related to programming are likewise welcome.

Topics

Independent of the type of work, ‹Programming› accepts submissions covering several areas of expertise, including but not limited to:

  • General-purpose programming
  • Distributed systems programming
  • Parallel and multi-core programming
  • Graphics and GPU programming
  • Security programming
  • User interface programming
  • Database programming
  • Visual and live programming
  • Data mining and machine learning programming, and for programming
  • Interpreters, virtual machines, and compilers
  • Modularity and separation of concerns
  • Model-based development
  • Metaprogramming and reflection
  • Testing and debugging
  • Program verification
  • Programming education
  • Programming environments
  • Social coding

Upon submission, authors are requested to state what type of paper they are submitting and what areas of expertise are covered by the paper. These two classifications, combined, are used to select reviewers and to apply suitable assessment criteria for the papers. They are not used beyond that purpose. Misclassification by the authors may lead to negative assessments from reviewers.

Paper Selection

The following criteria are used when evaluating submitted papers:

  • Novelty and Importance: The paper presents new insights or results, and contributes significantly to the advancement, analysis, or synthesis of knowledge in the field.
  • Scholarship and Clarity: The paper places its ideas and results appropriately and clearly within the context established by previous research in the field.

More specific criteria for assessing papers depends on the type of the paper:

Papers submitted as “The Art” should include a very solid contextualization of the work, and, when applicable, they should include the artifacts themselves. Papers submitted as “Science” should describe the methods or formalisms in detail, as well as any data and scripts used to analyze it. Papers submitted as “Engineering” should present the methods in detail, unveil results that are clearly better than some accepted baseline, and include the artifacts used to reach the conclusions.

Artifacts are recommended, but not required, for the initial submission. Depending on the papers, reviewers may take the existence of artifacts as a positive signal about the work. Also depending on the papers, artifacts may be required as a condition for publication.

Reviewing and Selection Process

There are two rounds of review. The first round assesses the papers according to the quality criteria stated above, and results in the selection of a subset of submissions that are either accepted as-is or are deemed potentially acceptable. All other papers are rejected. Authors of potentially acceptable papers are requested to improve specific aspects of the research and the paper. Authors are given a specified period of time to perform the revisions and re-submit the paper. During the second and final reviewing round, the same reviewers assess how well the revision requests have been addressed by the authors, and whether the final paper maintains or improves the level of contribution of the original submission. Revisions that significantly lessen the contribution of the work or that fail to adequately address the reviewers’ original concerns will result in the paper’s rejection.

Papers rejected in either the first or second phases may be resubmitted one more time to the journal. The resubmission will be treated as a new submission, and the paper may be assigned to new reviewers. After a second rejection, subsequent submissions of the same paper will be desk-rejected.

Submission

Use the the online submission system at EasyChair.

Typesetting

Submissions must use the LaTeX template of the journal. Please download the template package; a manual is included.

The template is also available in Overleaf.

Language and Page Limits

Papers must be written in English using high standards of writing. Papers that show poor mastery of the English language will be rejected without review.

The main part of the paper should not exceed 22 pages (in the provided style), but there is no limit for bibliography and appendices. The page limit for the main part of the paper is in place in order to keep the paper on focus and to avoid overloading the reviewers. Authors are encouraged to move important details to appendices, which may be consulted by the reviewers. In some cases, if authors feel that the main part requires substantially more pages, they should explain the reasons why in the additional comments field of the submission form; examples of these cases may include papers with substantial source code listings, and essays. Papers whose length is incommensurate with their contribution will be rejected.

The submission is required to contain an ACM subject classification.

Abstract

Each submission must be accompanied by a plain-language abstract of up to 500 words that presents the key points in the paper in a manner understandable by experienced practitioners and researchers in nearby disciplines. The abstract should avoid mathematical symbols whenever possible, and it must address the following:

  • Context: What is the broad context of the work? What is the importance of the general research area?
  • Inquiry: What problem or question does the paper address? How has this problem or question been addressed by others (if at all)?
  • Approach: What was done that unveiled new knowledge?
  • Knowledge: What new facts were uncovered? If the research was not results oriented, what new capabilities are enabled by the work?
  • Grounding: What argument, feasibility proof, artifacts, or results and evaluation support this work?
  • Importance: Why does this work matter?

NOTE: The absence of an abstract conforming to this specification is grounds for the rejection of the paper without review.

Attribution, Prior Papers, and Concurrent Submissions

Submitted papers must present original work made by the authors, must not overlap significantly with the authors’ previously published work, and must not be under review on another journal or conference.