Code Sophistication: From Code Recommendation to Logic Recommendation

01/19/2022
by   Jessie Galasso, et al.
0

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.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
11/13/2018

FrAngel: Component-Based Synthesis with Control Structures

In component-based program synthesis, the synthesizer generates a progra...
research
11/09/2017

Active Learning of Points-To Specifications

When analyzing programs, large libraries pose significant challenges to ...
research
09/20/2022

Assisted Specification of Code Using Search

We describe an intelligent assistant based on mining existing software r...
research
05/13/2022

A Hoare Logic with Regular Behavioral Specifications

We present a Hoare logic that extends program specifications with regula...
research
02/07/2020

RHLE: Relational Reasoning for Existential Program Verification

Reasoning about nondeterministic programs requires a specification of ho...
research
03/30/2023

Synthesis of Mathematical programs from Natural Language Specifications

Several decision problems that are encountered in various business domai...
research
06/21/2023

Automatic Inference of Resource Leak Specifications

A resource leak occurs when a program fails to free some finite resource...

Please sign up or login with your details

Forgot password? Click here to reset