The 4th International Conference on Code Quality

Sat 22 June 2024
Innopolis University, Russia

It’s a hybrid event, all speakers are welcome to either attend it in person or present their work remotely over Zoom.

The 4th International Conference on Code Quality (ICCQ) is a one-day computer science event focused on static and dynamic analysis, program verification, programming languages design, software bug detection, and software maintenance. ICCQ is organized in cooperation with Innopolis University and IEEE Computer Society.

ieee

Keynote

xin xia Xin Xia
SEAT Lab, Huawei, China
Prior to joining Huawei, Dr. Xia was an ARC DECRA Fellow and an assistant professor at the Faculty of Information Technology, Monash University (Australia). He received the ACM SIGSOFT Early Career Researcher Award in 2022. He co-authored multiple papers, among others, in TSE and TOSEM journals, in ICSE, ESEC/FSE, and ASE conferences.

Program Committee

anatoly shalyto Anatoly Shalyto (Chair)
ITMO University

And in alphabetical order:

vahid alizadeh Vahid Alizadeh
DePaul University

vijay anant athavale Vijay Anant Athavale
Walchand Institute of Technology

elisa baniassad Elisa Baniassad
University of British Columbia

pietro braione Pietro Braione
University of Milano-Bicocca

stephen chang Stephen Chang
UMass Boston

bernhard egger Bernhard Egger
Seoul National University

eduardo fernandes Eduardo Fernandes
University of Southern Denmark

yusuke izawa Yusuke Izawa
Tokyo Institute of Technology

javier luis canovas izquierdo Javier Luis Cánovas Izquierdo
Universitat Oberta de Catalunya

ranjit jhala Ranjit Jhala
University of California, San Diego
ACM Fellow

tetsuo kamina Tetsuo Kamina
Oita University

narges khakpour Narges Khakpour
Newcastle University

kais klai Kais Klai
University Sorbonne Paris Nord

antoine-mine Antoine Miné
Sorbonne Université

mkaouer mohamed Mohamed Wiem Mkaouer
Rochester Institute of Technology

magnus myreen Magnus Myreen
Chalmers University of Technology

francis palma Francis Palma
University of New Brunswick

henrique rebelo Henrique Rebêlo
Universidade Federal de Pernambuco

ilya sergey Ilya Sergey
National University of Singapore

yudai tanabe Yudai Tanabe
Tokyo Institute of Technology

didier verna Didier Verna
EPITA

guannan wei Guannan Wei
Purdue University

philip wadler Philip Wadler
University of Edinburgh
ACM Fellow

vadim zaytsev Vadim Zaytsev
University of Twente

steve zdancewic Steve Zdancewic
University of Pennsylvania

Important Dates

Paper/abstract submission:
18 Feb 3 Mar 2024 (anywhere on Earth)

Author notification:
1 May 2024 5 May 2024

Camera-ready submissions:
25 May 2024

Conference:
22 Jun 2024

Program / Agenda

Subscribe to our YouTube channel.

12:00 (Moscow time)
Yegor Bugayenko: Opening

12:10
Xin Xia: Keynote

12:40
Nikolai Kudasov:
Free Foil: Generating Efficient and Scope-Safe Abstract Syntax

13:00
Isabel Sampaio:
Replication of a Study about the Impact of Method Chaining and Comments on Readability and Comprehension

13:20
Denis Neumüller:
Exploring the Effectiveness of Abstract Syntax Tree Patterns for Algorithm Recognition

13:40
Zixian Zhang:
Assessing the Code Clone Detection Capability of Large Language Models

14:00 Closing

Accepted Papers

We received 23 submissions. 10 papers were desk rejected. 4 papers were accepted. Each paper received at least three reviews from PC members.

Free Foil: Generating Efficient and Scope-Safe Abstract Syntax Nikolai Kudasov, Renata Shakirova, Egor Shalagin, and Karina Tyulebaeva

Handling bound identifiers correctly and efficiently is critical in implementations of compilers, proof assistants, and theorem provers. When choosing a representation for abstract syntax with binders, implementors face a trade-off between type safety with intrinsic scoping, efficiency, and generality. The “foil” by Maclaurin, Radul, and Paszke combines an efficient implementation of the Barendregt convention with intrinsic scoping through advanced type system features in Haskell, such as rank-2 polymorphism and generalized algebraic data types. Free scoped monads of Kudasov, on the other hand, combine intrinsic scoping with de Bruijn indices as nested data types with Sweirstra’s data types à la carte approach to allow generic implementation of algorithms such as higher-order unification. In this paper, we suggest two approaches of making the foil more affordable. First, we marry free scoped monads with the foil, allowing to generate efficient, type-safe, and generic abstract syntax representation with binders for any language given its second-order signature. Second, we provide Template Haskell functions that allow generating the scope-safe representation from a naïve one under some modest assumptions. The latter approach enables us to use existing tools like BNF Converter to very quickly prototype complete implementation of languages, including parsing, pretty-printing, and efficient intrinsically scoped abstract syntax. We demonstrate both approaches using λπ with pairs and patterns as our example object language. Finally, we provide benchmarks comparing our implementation against the foil, free scoped monads with nested de Bruijn indices, and some traditional implementations.

Replication of a Study about the Impact of Method Chaining and Comments on Readability and Comprehension Isabel Sampaio and Alberto Sampaio

It is well known that readability is an essential feature of quality code, and that many factors can affect the readability of code. This paper presents a conceptual replication of a previous experimental study that evaluated two practices associated with source code readability, namely, use of comments and method chaining. The replication study has the same research questions as the original study and involved almost all students of an OOP course of an informatics engineering program. The research process is presented, alongside decisions made and differences from the original study. Concerning perceived readability, our study found no significant differences between method chaining variants and between comment variants. The original study did find a significant difference for comments variants. In the case of comprehension, we found no significant differences between the method chaining variants but found a significant difference for an α = 0.1% among comments variants, both as opposed to the original study.

Exploring the Effectiveness of Abstract Syntax Tree Patterns for Algorithm Recognition Denis Neumüller, Florian Sihler, Raphael Straub, and Matthias Tichy

The automated recognition of algorithm implementations can support many software maintenance and re-engineering activities by providing knowledge about the concerns present in the code base. Moreover, recognizing inefficient algorithms like Bubble Sort and suggesting superior alternatives from a library can help in assessing and improving the quality of a system. Approaches from related work suffer from usability as well as scalability issues and their accuracy is not evaluated. In this paper, we investigate how well our approach based on the abstract syntax tree of a program performs for automatic algorithm recognition. To this end, we have implemented a prototype consisting of: A domain-specific language designed to capture the key features of an algorithm and used to express a search pattern on the abstract syntax tree, a matching algorithm to find these features, and an initial catalog of ready to use patterns. To create our search patterns we performed a web search using the algorithm name and described key features of the found reference implementations with our domain-specific language. We evaluate our prototype on a subset of the BigCloneEval benchmark containing algorithms like Fibonacci, Bubble Sort, and Binary Search. We achieve an average F1-score of 0.68 outperforming the large language model Codellama which attains 0.35. Additionally, we use multiple code clone detection tools as a baseline for comparison, achieving a recall of 0.54 while the best-performing tool reaches 0.20.

Assessing the Code Clone Detection Capability of Large Language Models Zixian Zhang and Takfarinas Saber

This study aims to assess the performance of two advanced Large Language Models (LLMs), GPT-3.5 and GPT-4, in the task of code clone detection. The evaluation involves testing the models on a variety of code pairs of different clone types and levels of similarity, sourced from two datasets: BigCloneBench (human-made) and GPTCloneBench (LLM-generated). Findings from the study indicate that GPT-4 consistently surpasses GPT-3.5 across all clone types. A correlation was observed between the GPTs’ accuracy at identifying code clones and code similarity, with both GPT models exhibiting low effectiveness in detecting the most complex Type-4 code clones. Additionally, GPT models demonstrate a higher performance identifying code clones in LLM-generated code compared to humans-generated code. However, they do not reach impressive accuracy. These results emphasize the imperative for ongoing enhancements in LLM capabilities, particularly in the recognition of code clones and in mitigating their predisposition towards self-generated code clones—which is likely to become an issue as software engineers are more numerous to leverage LLM-enabled code generation and code refactoring tools.

Instructions for Authors

sigplan

Submissions must be in PDF, printable in black and white on US Letter sized paper. All submissions must adhere to the acmart sigplan template (two columns, 11pt font size).

In LaTeX, compile it with this formatting:

\documentclass[sigplan,11pt,nonacm=true,anonymous]{acmart}
\settopmatter{printfolios=false,printccs=false,printacmref=false}
\usepackage{natbib}
\begin{document}
...
\bibliographystyle{ACM-Reference-Format}
\bibliography{main}
\end{document}

Submitted papers must be at least 6 and at most 20 pages long, including bibliographical references and appendices.

Submissions that do not meet the above requirements will be rejected without review.

Click here to submit via EasyChair.

Partners

innopolis university Innopolis University

spbu St. Petersburg University

hse Higher School of Economics

Organizers

These people are making ICCQ 2024:

yegor bugayenko Yegor
Bugayenko
(Chair)

sergey belov Sergey
Belov

irina grashkina Irina
Grashkina

sergei prokhorov Sergei
Prokhorov

If you are interested in helping us and joining the team of organizers, please email team@iccq.ru.

Registration

The conference will be streamed live on our YouTube channel and you will be able to watch it without registration. However, registration is mandatory if you want to attend the event and enjoy a tasty lunch with some of our speakers.

Registration is free of charge.