TY - GEN
T1 - A rewriting logic semantics approach to modular program analysis
AU - Hills, Mark
AU - Roşu, Grigore
PY - 2010
Y1 - 2010
N2 - The K framework, based on rewriting logic semantics, provides a powerful logic for defining the semantics of programming languages. While most work in this area has focused on defining an evaluation semantics for a language, it is also possible to define an abstract semantics that can be used for program analysis. Using the SILF language (Hills, Serbanuta and Rosu, 2007), this paper describes one technique for defining such a semantics: policy frameworks. In policy frameworks, an analysis-generic, modular framework is first defined for a language. Individual analyses, called policies, are then defined as extensions of this framework, with each policy defining analysis-specific semantic rules and an annotation language which, in combination with support in the language frontend, allows users to annotate program types and functions with information used during program analysis. Standard term rewriting techniques are used to analyze programs by evaluating them in the policy semantics.
AB - The K framework, based on rewriting logic semantics, provides a powerful logic for defining the semantics of programming languages. While most work in this area has focused on defining an evaluation semantics for a language, it is also possible to define an abstract semantics that can be used for program analysis. Using the SILF language (Hills, Serbanuta and Rosu, 2007), this paper describes one technique for defining such a semantics: policy frameworks. In policy frameworks, an analysis-generic, modular framework is first defined for a language. Individual analyses, called policies, are then defined as extensions of this framework, with each policy defining analysis-specific semantic rules and an annotation language which, in combination with support in the language frontend, allows users to annotate program types and functions with information used during program analysis. Standard term rewriting techniques are used to analyze programs by evaluating them in the policy semantics.
KW - K
KW - Program analysis
KW - Rewriting logic semantics
UR - http://www.scopus.com/inward/record.url?scp=84861649190&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=84861649190&partnerID=8YFLogxK
M3 - Conference contribution
AN - SCOPUS:84861649190
SN - 9783939897187
T3 - Leibniz International Proceedings in Informatics, LIPIcs
SP - 151
EP - 160
BT - Proceedings of the 21st International Conference on Rewriting Techniques and Applications, RTA 2010
T2 - 21st International Conference on Rewriting Techniques and Applications, RTA 2010
Y2 - 11 July 2010 through 13 July 2010
ER -