Code Sophistication: From Code Recommendation to Logic Recommendation
Jessie Galasso, Michalis Famelis, Houari Sahraoui

TL;DR
This paper introduces the concept of code sophistication, focusing on detecting and recommending missing or atypical behaviors in code without explicit specifications, to assist developers in completing program logic.
Contribution
It proposes a new approach to recommend missing behaviors based on code structure and input usage, addressing a gap in existing coding assistants.
Findings
Early results show feasibility of logic completion using code structure.
Leverages input parameter usage to identify missing behaviors.
Abstract
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…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Engineering Research · Advanced Malware Detection Techniques · Software Reliability and Analysis Research
