Proceedings of the 14th ACM SIGPLAN International Symposium on Dynamic Languages 2018
DOI: 10.1145/3276945.3276946
|View full text |Cite
|
Sign up to set email alerts
|

A trustworthy mechanized formalization of R

Abstract: The R programming language is very popular for developing statistical software and data analysis, thanks to rich libraries, concise and expressive syntax, and support for interactive programming. Yet, the semantics of R is fairly complex, contains many subtle corner cases, and is not formally specified. This makes it difficult to reason about R programs. In this work, we develop a big-step operational semantics for R in the form of an interpreter written in the Coq proof assistant. We ensure the trustworthines… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
3
0

Year Published

2019
2019
2020
2020

Publication Types

Select...
3
1

Relationship

1
3

Authors

Journals

citations
Cited by 4 publications
(6 citation statements)
references
References 19 publications
0
3
0
Order By: Relevance
“…Finally, we compare our semantics to the work of Bodin et al [2018]. Our semantics makes no claims of being correct (there is no specification of R) or of being faithful to the language.…”
Section: Related Workmentioning
confidence: 99%
“…Finally, we compare our semantics to the work of Bodin et al [2018]. Our semantics makes no claims of being correct (there is no specification of R) or of being faithful to the language.…”
Section: Related Workmentioning
confidence: 99%
“…Many statistical and analysis programs of concern are written in languages that do not have as much support for program analysis and proofs of correctness, such as SAS, R, Stata, and Python. This is beginning with the R language, see Bodin, Diaz, and Tanter [25].…”
Section: Proof Of Correctnessmentioning
confidence: 99%
“…There are static analyzers for languages like R. The work of Bodin, Diaz, and Tanter [25] lays a strong foundation for further analyzers that are sound. Several static code analyzers handle Python, but they generally only detect low-level bugs.…”
Section: Sound and Heuristic Static Analyzersmentioning
confidence: 99%
“…I compare the small-step operational semantics to the work of Bodin, Diaz, and Tanter [4]. The semantics makes no claims of being correct (there is no specification of R) or of being faithful to the language.…”
Section: Semanticsmentioning
confidence: 99%
“…Furthermore, package loading and interaction with C code is not supported, thus packages from my corpus cannot be tested. I tried to match my semantics to theirs but their paper Bodin, Diaz, and Tanter [4] does not describe their treatment of laziness. Due to the size of the Coq codebase and lack of documentation, it is unclear how to align the two artifacts.…”
Section: Semanticsmentioning
confidence: 99%