ABSTRACT
Previous work presented a language called Rhodium for writing program analyses and transformations, in the form of declarative flow functions that propagate instances of user-defined dataflow fact schemas. Each dataflow fact schema specifies a semantic meaning, which allows the Rhodium system to automatically verify the correctness of the user's flow functions. In this work, we have reversed the roles of the flow functions and semantic meanings: rather than checking the correctness of the user-written flow functions using the facts' semantic meanings, we automatically infer correct flow functions solely from the meanings of the dataflow fact schemas. We have implemented our algorithm for inferring flow functions from fact schemas in the context of the Whirlwind compiler, and have used this implementation to infer flow functions for a variety of fact schemas. The automatically generated flow functions cover most of the situations covered by an earlier suite of handwritten rules.
- J. M. Andreoli. Logic programming with focusing proofs in linear logic. Journal of Logic and Computation, 1992.Google Scholar
Cross Ref
- Thomas Ball, Rupak Majumdar, Todd Millstein, and Sriram K. Rajamani. Automatic predicate abstraction of C programs. In Programming Language Design and Implementation (PLDI), June 2001. Google Scholar
Digital Library
- Robert Cartwright and Derek Oppen. The logic of aliasing. Technical Report STAN-CS-79-740, Stanford University, September 1979. Google Scholar
Digital Library
- R. L. Constable, S. F. Allen, H. M. Bromley, W. R. Cleaveland, J. F. Cremer, R. W. Harper, D. J. Howe, T. B. Knoblock, N. P. Mendler, P. Panangaden, J. T. Sasaki, and S. F. Smith. Implementing Mathematics with the Nuprl Proof Development System. Prentice-Hall, 1986. Google Scholar
Digital Library
- Patrick Cousot. Verification by abstract interpretation. In Verification Theory & Practice, volume 2772 of LNCS. Springer-Verlag, 2003.Google Scholar
- Satyaki Das, David L. Dill, and Seungjoon Park. Experience with predicate abstraction. In Computer Aided Verification (CAV), June 1999. Google Scholar
Digital Library
- David Detlefs, Greg Nelson, and James B. Saxe. Simplify: A theorem prover for program checking. Journal of the ACM, 52(3), May 2005. Google Scholar
Digital Library
- M.J.C. Gordon. HOL: A proof generating system for higher-order logic. In VLSI Specification Verification and Synthesis. Kluwer Academic Publishers, 1988.Google Scholar
Cross Ref
- Susanne Graf and Hassen Saidi. Construction of abstract state graphs of infinite systems with PVS. In Computer Aided Verification (CAV), June 1997. Google Scholar
Digital Library
- David Gries. The Science of Programming. Springer-Verlag, 1981. Google Scholar
Digital Library
- Thomas A. Henzinger, Ranjit Jhala, Rupak Majumdar, and Gregoire Sutre. Lazy abstraction. In Principles of Programming Languages (POPL), January 2002. Google Scholar
Digital Library
- M. Kauffmann and R. S. Boyer. The Boyer-Moore theorem prover and its interactive enhancement. Computers and Mathematics with Applications, 29(2), 1995.Google Scholar
- M. Kaufmann, P. Manolios, and J. S. Moore. Computer-Aided Reasoning: An Approach. Kluwer Academic Publishers, 2000. Google Scholar
Digital Library
- Shuvendu Lahiri, Thomas Ball, and Byron Cook. Predicate abstraction via symbolic decision procedures. In Computer Aided Verification (CAV), July 2005. Google Scholar
Digital Library
- Sorin Lerner. Automatically Proving the Correctness of Program Analyses and Transformations. PhD thesis, University of Washington, March 2006. Google Scholar
Digital Library
- Sorin Lerner, Todd Millstein, and Craig Chambers. Automatically proving the correctness of compiler optimizations. In Programming Language Design and Implementation (PLDI), June 2003. Google Scholar
Digital Library
- Sorin Lerner, Todd Millstein, Erika Rice, and Craig Chambers. Automated soundness proofs for dataflow analyses and transformations via local rules. In Principles of Programming Languages (POPL), January 2005. Google Scholar
Digital Library
- T. Lev-Ami and M. Sagiv. TVLA: A system for implementing static analyses. In Static Analysis Symposium (SAS), June 2000. Google Scholar
Digital Library
- S. Owre, J.M. Rushby, and N. Shankar. PVS: A prototype verification system. In Automated Deduction (CADE), volume 607 of LNAI. Springer-Verlag, 1992. Google Scholar
Digital Library
- L. C. Paulson. Isabelle: A generic theorem prover, volume 828 of LNCS. Springer-Verlag, 1994.Google Scholar
- F. Pfenning and C. Schurmann. Sytsem description: Twelf -- a metalogical framework for deductive systems. In Automated Deduction (CADE), volume 1632 of LNAI. Springer-Verlag, July 1999. Google Scholar
Digital Library
- John Regehr and Usit Duongsaa. Deriving abstract transfer functions for analyzing embedded software. In Languages, Compilers, and Tools for Embedded Systems (LCTES), June 2006. Google Scholar
Digital Library
- John Regehr and Alastair Reid. HOIST: A system for automatically deriving static analyzers for embedded systems. In Architectural Support for Programming Languages and Operating Systems (ASPLOS), October 2004. Google Scholar
Digital Library
- Thomas Reps, Mooly Sagiv, and Alexey Loginov. Finite differencing of logical formulas for static analysis. In European Symposium on Programming (ESOP), April 2003.Google Scholar
Cross Ref
- Thomas Reps, Mooly Sagiv, and Greta Yorsh. Symbolic implementation of the best transformer. In Verification, Model Checking, and Abstract Interpretation (VMCAI), January 2004.Google Scholar
- Erika Rice, Sorin Lerner, and Craig Chambers. Automatically inferring sound dataflow functions from dataflow fact schemas. In Workshop on Compiler Optimization Meets Compiler Verification (COCV), April 2005.Google Scholar
- Erika Rice, Sorin Lerner, and Craig Chambers. Automatic inference of dataflow analyses. Technical Report UW-CSE-2006-06-04, University of Washington, June 2006.Google Scholar
- C. Schurmann and F. Pfenning. Automated theorem proving in a simple metalogic for LF. In Automated Deduction (CADE), volume 1421 of LNCS. Springer-Verlag, July 1998. Google Scholar
Digital Library
- Greta Yorsh, Thomas Reps, and Mooly Sagiv. Symbolically computing most-precise abstract operations for shape analysis. In Tools and Algorithms for the Construction and Analysis of Systems(TACAS), March 2004.Google Scholar
Cross Ref
Index Terms
Automatic inference of optimizer flow functions from semantic meanings
Recommendations
Automatic inference of optimizer flow functions from semantic meanings
Proceedings of the 2007 PLDI conferencePrevious work presented a language called Rhodium for writing program analyses and transformations, in the form of declarative flow functions that propagate instances of user-defined dataflow fact schemas. Each dataflow fact schema specifies a semantic ...
Semantic flow networks: semantic interoperability in networks of ontologies
JIST'11: Proceedings of the 2011 joint international conference on The Semantic WebIn an open context such as the Semantic Web, information providers usually rely on different ontologies to semantically characterize contents. In order to enable interoperability at a semantic level, ontologies underlying information sources must be ...
TRIPLE - A Query, Inference, and Transformation Language for the Semantic Web
ISWC '02: Proceedings of the First International Semantic Web Conference on The Semantic WebThis paper presents TRIPLE, a layered and modular rule language for the Semantic Web [1]. TRIPLE is based on Horn logic and borrows many basic features from F-Logic [11] but is especially designed for querying and transforming RDF models [20].TRIPLE can ...







Comments