Open AccessPosted Content
JCoffee: Using Compiler Feedback to Make Partial Code Snippets Compilable
TL;DR: JCoffee as discussed by the authors leverages compiler feedback to convert partial Java programs into their compilable counterparts by simulating the presence of missing surrounding code, which works with any well-typed code snippet (class, function or even an unenclosed group of statements) while making minimal changes to the input code fragment.
read more
Abstract: Static program analysis tools are often required to work with only a small part of a program's source code, either due to the unavailability of the entire program or the lack of need to analyze the complete code. This makes it challenging to use static analysis tools that require a complete and typed intermediate representation (IR). We present JCoffee, a tool that leverages compiler feedback to convert partial Java programs into their compilable counterparts by simulating the presence of missing surrounding code. It works with any well-typed code snippet (class, function, or even an unenclosed group of statements) while making minimal changes to the input code fragment. A demo of the tool is available here: this https URL
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
Citations
Code Search based on Context-aware Code Translation
Weisong Sun,Chunrong Fang,Yuchen Chen,Guanhong Tao,Ting Han,Quanjun Zhang +5 more
- 16 Feb 2022
TL;DR: A novel context-aware code translation technique that translates code snippets into natural language descriptions (called translations) and significantly outperforms state-of-the-art techniques in terms of MRR.
Prompt-tuned Code Language Model as a Neural Knowledge Base for Type Inference in Statically-Typed Partial Code
Qing Huang,Zhiqiang Yuan,Zhenchang Xing,Xiwei Xu,Liming Zhu,Qinghua Wu +5 more
- 10 Aug 2022
TL;DR: This paper fine-tunes a code masked language model (MLM) as a neural knowledge base of code elements with a novel “pre-train, prompt and predict” paradigm from raw source code, and formulates type inference as a cloze-style fill-in-blank language task.
48
•Posted Content
Modeling Functional Similarity in Source Code with Graph-Based Siamese Networks
TL;DR: A prototype tool HOLMES is developed, based on the novel approach to semantic code clone detection, and empirically evaluated it on popular code clone benchmarks, showing thatholMES performs considerably better than the other state-of-the-art tool, TBCCD.
26
SEED: Semantic Graph Based Deep Detection for Type-4 Clone
01 Jan 2022
TL;DR: SEED as mentioned in this paper constructs a semantic graph of each code snippet based on intermediate representation to represent the code semantic more precisely compared to the representations based on lexical and syntactic analysis.
FQN Inference in Partial Code by Prompt-tuned Language Model of Code
Qing Huang,Zhiqiang Yuan,Zhenchang Xing,Xin Peng,Xiwei Xu,Qinghua Lu +5 more
TL;DR: POME infers the FQNs syntax and usage knowledge encapsulated in prompt-tuned code MLM through a colze-style fill-in-blank strategy, which is lightweight and has minimal requirements on code compilation.
1
References
The program dependence graph and its use in optimization
TL;DR: An intermediate program representation, called the program dependence graph (PDG), that makes explicit both the data and control dependences for each operation in a program, allowing transformations to be triggered by one another and applied only to affected dependences.
The program Dependence Graph and its Use in Optimization
Jeanne Ferrante,Karl J. Ottenstein,Joe D. Warren +2 more
- 17 Apr 1984
TL;DR: An intermediate program representation, called a program dependence graph or PDG, which summarizes not only the data dependences of each operation but also summarizes the control dependence of the operations, which allows transformations such as vectorization to be performed in a manner which is uniform for both data and control dependence.
Towards a Big Data Curated Benchmark of Inter-project Code Clones
Jeffrey Svajlenko,Judith F. Islam,Iman Keivanloo,Chanchal K. Roy,Mohammad Mamun Mia +4 more
- 29 Sep 2014
TL;DR: A Big Data clone detection benchmark that consists of known true and false positive clones in a Big Data inter-project Java repository and it is shown how the benchmark can be used to measure the recall and precision of clone detection techniques.
Recommending Adaptive Changes for Framework Evolution
TL;DR: In a study of the evolution of the Eclipse JDT framework and three client programs, the approach recommended relevant adaptive changes with a high level of precision, and detected non-trivial changes typically undiscovered by current refactoring detection techniques.
Enabling static analysis for partial java programs
Barthélémy Dagenais,Laurie Hendren +1 more
- 19 Oct 2008
TL;DR: This work presents a framework that performs partial type inference and uses heuristics to recover the declared type of expressions and resolve ambiguities in partial Java programs and produces a complete and typed IR suitable for further static analysis.