SELGPLJan 19, 2022

Code Sophistication: From Code Recommendation to Logic Recommendation

arXiv:2201.07674v1
AI Analysis

This addresses the challenge for developers in predicting and coding atypical conditions that are often omitted in program specifications, representing an incremental advancement in coding assistants.

The paper tackles the problem of detecting and recommending missing unspecified behaviors in code, termed code sophistication, by leveraging code structure and input parameter usage to complete program logic.

A typical approach to programming is to first code the main execution scenario, and then focus on filling out alternative behaviors and corner cases. But, almost always, there exist unusual conditions that trigger atypical behaviors, which are hard to predict in program specifications, and are thus often not coded. In this paper, we consider the problem of detecting and recommending such missing behaviors, a task that we call code sophistication. Previous research on coding assistants usually focuses on recommending code fragments based on specifications of the intended behavior. In contrast, code sophistication happens in the absence of a specification, aiming to help developers complete the logic of their programs with missing and unspecified behaviors. We outline the research challenges to this problem and present early results showing how program logic can be completed by leveraging code structure and information about the usage of input parameters.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes