2009
DOI: 10.1007/978-3-642-03429-9_10
|View full text |Cite
|
Sign up to set email alerts
|

A Rewriting Logic Approach to Type Inference

Abstract: Abstract. Meseguer and Ros , u proposed rewriting logic semantics (RLS) as a programing language definitional framework that unifies operational and algebraic denotational semantics. RLS has already been used to define a series of didactic and real languages, but its benefits in connection with defining and reasoning about type systems have not been fully investigated. This paper shows how the same RLS style employed for giving formal definitions of languages can be used to define type systems. The same termre… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
13
0

Year Published

2011
2011
2023
2023

Publication Types

Select...
5
3
2

Relationship

1
9

Authors

Journals

citations
Cited by 15 publications
(13 citation statements)
references
References 31 publications
0
13
0
Order By: Relevance
“…In that respect, our definitions conceptually complement each other-his is better for formal proofs about C, while ours is better for searching for behaviors in programs (see Section 6.3.1). Proofs of program correctness [31] as well as semantics-level proofs [8] have already been demonstrated in the framework used by our semantics, but we have not yet applied these techniques to C.…”
Section: Comparison With Existing Formal C Semanticsmentioning
confidence: 99%
“…In that respect, our definitions conceptually complement each other-his is better for formal proofs about C, while ours is better for searching for behaviors in programs (see Section 6.3.1). Proofs of program correctness [31] as well as semantics-level proofs [8] have already been demonstrated in the framework used by our semantics, but we have not yet applied these techniques to C.…”
Section: Comparison With Existing Formal C Semanticsmentioning
confidence: 99%
“…As mentioned in Section 4.3, the rewriting semantics of a language can be extended and/or abstracted to provide other kinds of static and dynamic analysis, for example, for units of measurement [91,240], type checking [177], and runtime verification [407,421]. Two extensions of a programming language's rewriting logic semantics to model fault detection (resp.…”
Section: Programming Languagesmentioning
confidence: 99%
“…K has been used for designing type checkers/inferencers [25], for model checking executions with predicate abstraction [26], [27] and heap awareness [28], for symbolic execution [29]- [31], computing worst case execution times [32], [33], studying program equivalence [34], and runtime verification [24], [35]. Additionally, the C definition mentioned above has been used as a program undefinedness checker to analyze C programs [36].…”
Section: Current Progress Applications Further Readingmentioning
confidence: 99%