Proceedings of the 9th ACM SIGPLAN International Workshop on the State of the Art in Program Analysis 2020
DOI: 10.1145/3394451.3397205
|View full text |Cite
|
Sign up to set email alerts
|

Value and allocation sensitivity in static Python analyses

Abstract: Sound static analyses for large subsets of static programming languages such as C are now widespread. For example the Astrée static analyzer soundly overapproximates the behavior of C programs that do not contain any dynamic code loading, longjmp statements nor recursive functions. The sound and precise analysis of widely used dynamic programming languages like JavaScript and Python remains a challenge. This paper examines the variation of static analyses of Python-in precision, time and memory usage-by adapti… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
4
0

Year Published

2021
2021
2024
2024

Publication Types

Select...
3
2

Relationship

1
4

Authors

Journals

citations
Cited by 5 publications
(4 citation statements)
references
References 13 publications
0
4
0
Order By: Relevance
“…Aiming to enable the efficient deployment of Python applications in embedded systems and micro-controllers, the authors of [24] introduce a run-time system that allows the execution of high-level languages and they discuss the static memory allocation behavior of Python. Additionally, the work in [25] proposes an abstract garbage collector (AGC), which detects and removes unreachable abstract addresses and works as a tracing garbage collector. A similar approach in [26] describes a dynamic memory leak detection method for dynamic languages.…”
Section: Related Workmentioning
confidence: 99%
“…Aiming to enable the efficient deployment of Python applications in embedded systems and micro-controllers, the authors of [24] introduce a run-time system that allows the execution of high-level languages and they discuss the static memory allocation behavior of Python. Additionally, the work in [25] proposes an abstract garbage collector (AGC), which detects and removes unreachable abstract addresses and works as a tracing garbage collector. A similar approach in [26] describes a dynamic memory leak detection method for dynamic languages.…”
Section: Related Workmentioning
confidence: 99%
“…We assume the abstract semantics of Python and C are provided through E # p • , E # c • . These can be instantiated in practice using previous works [37,34]. We assume that each language's abstract state relies on an address allocation abstraction (such as the callsite abstraction or the recency abstraction [2]) and a numeric abstraction (such as intervals, octagons, …).…”
Section: Abstract Semanticsmentioning
confidence: 99%
“…A specific feature of Mopsa is to provide loosely-coupled abstract domains that the user combines through a configuration file to define the analysis. We were able to reuse off-the-shelf value analyses of C programs [37] and Python programs [34] already implemented into Mopsa. The only modification needed was to add a multilanguage domain, implementing the semantics of the operators at the boundary, just as our semantics (both concrete and abstract) do.…”
Section: Experimental Evaluationmentioning
confidence: 99%
See 1 more Smart Citation