Static Program Analysis for String Manipulation Languages
Vincenzo Arceri (University of Verona, Department of Computer Science,, Verona, Italy), Isabella Mastroeni (University of Verona, Department of, Computer Science, Verona, Italy)

TL;DR
This paper introduces a new static analysis approach for string manipulation in dynamic languages, addressing challenges like imprecision and obfuscation to improve security and correctness in code analysis.
Contribution
It proposes a novel semantics for string analysis using abstract interpretation, specifically tailored to handle dynamic language string features.
Findings
Enhanced analysis precision for string features in dynamic languages
Better detection of obfuscated malicious code
Foundation for future static analysis tools
Abstract
In recent years, dynamic languages, such as JavaScript or Python, have been increasingly used in a wide range of fields and applications. Their tricky and misunderstood behaviors pose a hard challenge for static analysis of these programming languages. A key aspect of any dynamic language program is the multiple usage of strings, since they can be implicitly converted to another type value, transformed by string-to-code primitives or used to access an object-property. Unfortunately, string analyses for dynamic languages still lack precision and do not take into account some important string features. Moreover, string obfuscation is very popular in the context of dynamic language malicious code, for example, to hide code information inside strings and then to dynamically transform strings into executable code. In this scenario, more precise string analyses become a necessity. This paper…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
