2017
DOI: 10.1145/3158117
|View full text |Cite
|
Sign up to set email alerts
|

Inference of static semantics for incomplete C programs

Abstract: Incomplete source code naturally emerges in software development: during the design phase, while evolving, testing and analyzing programs. Therefore, the ability to understand partial programs is a valuable asset. However, this problem is still unsolved in the C programming language. Difficulties stem from the fact that parsing C requires, not only syntax, but also semantic information. Furthermore, inferring types so that they respect C's type system is a challenging task. In this paper we present a technique… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1

Citation Types

0
3
0

Year Published

2018
2018
2024
2024

Publication Types

Select...
4
3
1

Relationship

1
7

Authors

Journals

citations
Cited by 17 publications
(3 citation statements)
references
References 43 publications
0
3
0
Order By: Relevance
“…E.g., Zhong et al [81] propose an approach that resolves unknown types and function calls for partial Java programs by analyzing the existing complete program versions. Melo et al [82] present a technique to support the compilation of incomplete C code.…”
Section: Partial Programsmentioning
confidence: 99%
“…E.g., Zhong et al [81] propose an approach that resolves unknown types and function calls for partial Java programs by analyzing the existing complete program versions. Melo et al [82] present a technique to support the compilation of incomplete C code.…”
Section: Partial Programsmentioning
confidence: 99%
“…Melo et al [3] develop PsycheC, with a similar goal as ours, but for the C language. They build a lattice structure for various standard C types to bind variables to them during constraint generation for type inference.…”
Section: Rq3: Time Complexity and Overheadmentioning
confidence: 99%
“…The analysis of code partially available makes it possible to test parts of a polyglot program in separate, in a way to produce a cohesive view of the entire system. This technique has been demonstrated to yield analyzable Java source code [37], and compilable C code [38]. Notice that this type of reconstruction is not restricted to high-level programming languages.…”
Section: Polyglot Programmingmentioning
confidence: 99%