‹Programming› 2023
Mon 13 - Fri 17 March 2023 Tokyo, Japan

The International Conference on the Art, Science, and Engineering of Programming is a new conference focused on programming topics including the experience of programming. We have named it ‹Programming› for short.

‹Programming› seeks for papers that advance knowledge of programming on any relevant topic, including programming practice and experience.

In order to present at ‹Programming› 2023, papers must be submitted to the first, second or third issue of Volume 7 of the ‹Programming› journal (see details of the timeline).

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

Wed 15 Mar

Displayed time zone: Osaka, Sapporo, Tokyo change

09:00 - 10:30
Research Papers 1Research Papers at Faculty of Engineering Building 2, Room 212
Chair(s): Philipp Haller KTH Royal Institute of Technology
09:00
30m
Talk
A Functional Programming Language with VersionsVol. 6
Research Papers
Yudai Tanabe Tokyo Institute of Technology, Luthfan Anshar Lubis , Tomoyuki Aotani Tokyo Institute of Technology, Hidehiko Masuhara Tokyo Institute of Technology
Link to publication
09:30
30m
Talk
Compilation Forking: A Fast and Flexible Way of Generating Data for Compiler-Internal Machine Learning TasksVol. 7
Research Papers
Raphael Mosaner JKU Linz, David Leopoldseder Oracle Labs, Wolfgang Kisling Johannes Kepler University Linz, Lukas Stadler Oracle Labs, Austria, Hanspeter Mössenböck JKU Linz
Link to publication
10:00
30m
Talk
Black Boxes, White Noise: Similarity Detection for Neural FunctionsVol. 7remote
Research Papers
Farima Farmahinifarahani University of California at Irvine, Crista Lopes University of California, Irvine
Link to publication
10:30 - 11:00
10:30
30m
Break
Break
Breaks

12:00 - 14:00
12:00
2h
Break
Lunch Break
Breaks

14:00 - 15:30
Research Papers 2Research Papers at Faculty of Engineering Building 2, Room 212
Chair(s): Sebastian Kloibhofer Johannes Kepler University Linz
14:00
30m
Talk
Continuation-Passing Style, Defunctionalization, Accumulations, and AssociativityVol. 6
Research Papers
Jeremy Gibbons Department of Computer Science, University of Oxford
Link to publication
14:30
30m
Talk
Consistency types for replicated data in a higher-order distributed programming languageVol. 5
Research Papers
Xin Zhao KTH Royal Institute of Technology, Philipp Haller KTH Royal Institute of Technology
Link to publication
15:00
30m
Talk
A Theory of Composing ProtocolsVol. 7
Research Papers
Laura Bocchi University of Kent, Dominic Orchard University of Kent, UK, A. Laura Voinea University of Kent, UK
Link to publication
15:30 - 16:00
15:30
30m
Break
Break
Breaks

16:00 - 17:30
Research Papers 3Research Papers at Faculty of Engineering Building 2, Room 212
Chair(s): Ian Sweet Galois, Inc.
16:00
30m
Talk
Little Tricky Logic: Misconceptions in the Understanding of LTLVol. 7remote
Research Papers
Ben Greenman Brown University, Sam Saarinen Brown University, Tim Nelson Brown University, Shriram Krishnamurthi Brown University, United States
Link to publication
16:30
30m
Talk
Building a Secure Software Supply Chain with GNU GuixVol. 7remote
Research Papers
Ludovic Courtès Inria, France
Link to publication
17:00
30m
Talk
Technical Dimensions of Programming SystemsVol. 7remote
Research Papers
Joel Jakubovic University of Kent, Jonathan Edwards Independent, Tomas Petricek Charles University
Link to publication
18:00 - 21:00
BanquetSocial Events at Restaurant Gonpachi

We will move to a restaurant by bus from the conference venue just after the last session ends. Please come to the entrance of the room 212 at 17:30.

18:00
3h
Social Event
Banquet at Gonpachi
Social Events

Thu 16 Mar

Displayed time zone: Osaka, Sapporo, Tokyo change

09:00 - 10:30
Research Papers 4Research Papers at Faculty of Engineering Building 2, Room 212
Chair(s): Joel Jakubovic University of Kent
09:00
30m
Talk
Control Flow Duplication for Columnar Arrays in a Dynamic CompilerVol. 7
Research Papers
Sebastian Kloibhofer Johannes Kepler University Linz, Lukas Makor JKU Linz, David Leopoldseder Oracle Labs, Daniele Bonetta Oracle Labs, Lukas Stadler Oracle Labs, Austria, Hanspeter Mössenböck JKU Linz
Link to publication
09:30
30m
Talk
Gradual Soundness: Lessons from Static PythonVol. 7remote
Research Papers
Kuang-Chen Lu Brown University, USA, Ben Greenman Brown University, USA, Carl Meyer Meta, Dino Viehland Meta, Aniket Panse Meta, Shriram Krishnamurthi Brown University, United States
Link to publication
10:00
30m
Talk
Symphony: Expressive Secure Multiparty Computation with CoordinationVol. 7remote
Research Papers
Ian Sweet Galois, Inc., David Darais Galois, David Heath University of Illinois Urbana-Champaign, Ryan Estes University of Vermont, William Harris Galois, Inc., Michael Hicks University of Maryland; Amazon
Link to publication
10:30 - 11:00
10:30
30m
Break
Break
Breaks

12:00 - 14:00
12:00
2h
Break
Lunch Break
Breaks

14:00 - 15:30
14:00
30m
Talk
Primrose: Selecting Container Data Types by their PropertiesVol. 7
Research Papers
Xueying Qin The University of Edinburgh, Liam O'Connor University of Edinburgh, Michel Steuwer University of Edinburgh
Link to publication
14:30
30m
Talk
Revisiting Language Support for Generic Programming: When Genericity is a Core Design GoalVol. 7
Research Papers
Benjamin Chetioui University of Bergen, Norway, Jaakko Järvi University of Turku, Magne Haveraaen University of Bergen, Norway
Link to publication
15:00
30m
Talk
Profiling and Optimizing Java StreamsVol. 7
Research Papers
Eduardo Rosales University of Lugano, Switzerland, Matteo Basso Università della Svizzera italiana, Andrea Rosà USI Lugano, Walter Binder USI Lugano
Link to publication
15:30 - 16:00
15:30
30m
Break
Break
Breaks

16:00 - 17:00
Research Papers 6Research Papers at Faculty of Engineering Building 2, Room 212
Chair(s): Jeremy Gibbons Department of Computer Science, University of Oxford
16:00
30m
Talk
Transparent Compiler and Runtime Specializations for Accelerating Managed Languages on FPGAsVol. 5
Research Papers
Michail Papadimitriou OctoML, Juan Fumero University of Manchester, UK, Athanasios Stratikopoulos The University of Manchester, Foivos S. Zakkak Red Hat, Inc., Christos Kotselidis KTM Innovation / The University of Manchester
Link to publication
16:30
30m
Talk
Out-of-Things Debugging: A Live Debugging Approach for Internet of ThingsVol. 7
Research Papers
Carlos Rojas Castillo Vrije Universiteit Brussel, Matteo Marra Vrije Universiteit Brussel, Jim Bauwens Vrije Universiteit Brussel, Elisa Gonzalez Boix Vrije Universiteit Brussel
Link to publication

Accepted Papers

Title
A Functional Programming Language with VersionsVol. 6
Research Papers
Link to publication
A Theory of Composing ProtocolsVol. 7
Research Papers
Link to publication
Black Boxes, White Noise: Similarity Detection for Neural FunctionsVol. 7remote
Research Papers
Link to publication
Building a Secure Software Supply Chain with GNU GuixVol. 7remote
Research Papers
Link to publication
Compilation Forking: A Fast and Flexible Way of Generating Data for Compiler-Internal Machine Learning TasksVol. 7
Research Papers
Link to publication
Consistency types for replicated data in a higher-order distributed programming languageVol. 5
Research Papers
Link to publication
Continuation-Passing Style, Defunctionalization, Accumulations, and AssociativityVol. 6
Research Papers
Link to publication
Control Flow Duplication for Columnar Arrays in a Dynamic CompilerVol. 7
Research Papers
Link to publication
Gradual Soundness: Lessons from Static PythonVol. 7remote
Research Papers
Link to publication
Little Tricky Logic: Misconceptions in the Understanding of LTLVol. 7remote
Research Papers
Link to publication
Notes on “Notes on the Synthesis of Form”: Dawning Insights in Early Christopher AlexanderVol. 7remote
Research Papers
Link to publication
Out-of-Things Debugging: A Live Debugging Approach for Internet of ThingsVol. 7
Research Papers
Link to publication
Primrose: Selecting Container Data Types by their PropertiesVol. 7
Research Papers
Link to publication
Profiling and Optimizing Java StreamsVol. 7
Research Papers
Link to publication
Revisiting Language Support for Generic Programming: When Genericity is a Core Design GoalVol. 7
Research Papers
Link to publication
Symphony: Expressive Secure Multiparty Computation with CoordinationVol. 7remote
Research Papers
Link to publication
Technical Dimensions of Programming SystemsVol. 7remote
Research Papers
Link to publication
Transparent Compiler and Runtime Specializations for Accelerating Managed Languages on FPGAsVol. 5
Research Papers
Link to publication

Call for Papers

Upcoming Submission Deadlines

Submission instructions here

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.

Independent of the type of work, the journal 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.

Typesetting

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

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.

Single-Blind Review

Currently, review uses a traditional process where author names are visible to reviewers. Submissions do not need to be anonymized to hide author names.