Abstract
This paper reconstructs and extends the automatic verification technique of Le Métayer, Proving properties of programs defined over recursive data structures (ACM PEPM ’95), based on a backward abstract interpretation.
To show the effectiveness of extensions, we show two examples of the declarative specifications of sorting and formatting programs, which are directly and concisely expressed in our specification language.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Abramsky, S., Hankin, C. (eds.): Abstract interpretation of declarative languages. Ellis Horwood Limited (1987)
Arts, T., Gisel, J.: Termination of term rewriting using dependency pairs. Theoretical Computer Science (1999) (to appear)
Benton, P.N.: Strictness properties of lazy algebraic datatypes. In: Cousot, P., Filé, G., Falaschi, M., Rauzy, A. (eds.) WSA 1993. LNCS, vol. 724, pp. 206–217. Springer, Heidelberg (1993)
Bourdoncle, F.: Abstract debugging of higher-order imperative programs. In: ACM SIGPLAN PLDI 1993, pp. 46–55 (1993)
Bourdoncle, F.: Assertion-based debugging of imperative programs by abstract interpretation. In: Sommerville, I., Paul, M. (eds.) ESEC 1993. LNCS, vol. 717, pp. 501–516. Springer, Heidelberg (1993)
Bueno, F., et al.: On the role of semantic approximations in validation and diagnosis of constraint logic programs. In: Proc. AADEBUG 1997, pp. 155–169 (1997)
Burn, G.L.: Lazy Functional Languages: Abstract Interpretation and Compilation. MIT Press, Cambridge (1991)
Comini, M., Levi, G., Meo, M.C., Vitiello, G.: Proving properties of logic programs by abstract diagnosis. In: Dam, M. (ed.) LOMAPS-WS 1996. LNCS, vol. 1192, pp. 22–50. Springer, Heidelberg (1997)
Cortesi, A., Filé, G., Winsborough, W.: Prop revisited: Propositional formula as abstract domain for groundness analysis. In: Proc. 6th LICS, pp. 322–327 (1991)
Cortesi, A., Le Charlier, B., Rossi, S.: Specification-based automatic verification of Prolog programs. In: Gallagher, J.P. (ed.) LOPSTR 1996. LNCS, vol. 1207, pp. 38–57. Springer, Heidelberg (1997)
Cousot, P., Cousot, R.: Abstract interpretation: A unified lattice model for static analysis of programs by construction of approximation of fixpoints. In: Proc. 4th ACM POPL, pp. 238–252 (1977)
Dershowitz, N., Jouannaud, J.-P.: Rewrite systems. In: van Leeuwen, J. (ed.) ch. 6. Handbook of Theoretical Computer Science, vol. B, pp. 243–320. Elsevier Science Publishers, Amsterdam (1990)
Detlefs, D., Forgaard, R.: A procedure for automatically proving the termination of a set of rewrite rules. In: Jouannaud, J.-P. (ed.) RTA 1985. LNCS, vol. 202, pp. 255–270. Springer, Heidelberg (1985)
Dybjer, P.: Inverse image analysis generalizes strictness analysis. Information and Computation 90(2), 194–216 (1991)
Ernoult, C., Mycroft, A.: Uniform ideals and strictness analysis. In: Leach Albert, J., Monien, B., Rodríguez-Artalejo, M. (eds.) ICALP 1991. LNCS, vol. 510, pp. 47–59. Springer, Heidelberg (1991)
Gisel, J.: Termination of nested and mutually recursive algorithms. Journal of Automated Reasoning 19, 1–29 (1997)
Jensen, T.P.: Abstract interpretation over algebraic data types. In: Proc. Int. Conf. on Computer Languages, pp. 265–276. IEEE, Los Alamitos (1994)
Le Charlier, B., Leclère, C., Rossi, S., Cortesi, A.: Automatic verification of behavioral properties of Prolog programs. In: Shyamasundar, R.K. (ed.) ASIAN 1997. LNCS, vol. 1345, pp. 225–237. Springer, Heidelberg (1997)
Le Métayer, D.: Proving properties of programs defined over recursive data structures. In: Proc. ACM PEPM 1995, pp. 88–99 (1995)
Levi, G., Volpe, P.: Derivation of proof methods by abstract interpretation. In: Palamidessi, C., Meinke, K., Glaser, H. (eds.) ALP 1998 and PLILP 1998. LNCS, vol. 1490, pp. 102–117. Springer, Heidelberg (1998)
Ogawa, M., Ono, S.: Deriving inductive properties of recursive programs based on least-fixpoint computation. Journal of Information Processing 32(7), 914–923 (1991) (in japanese)
Ogawa, M., Ono, S.: Transformation of strictness-related analyses based on abstract interpretation. IEICE Trans. E 74(2), 406–416 (1991)
Paulson, L.C.: ML for the working programmer, 2nd edn. Cambridge University Press, Cambridge (1996)
Van Oostrom, V.: Confluence for Abstract and Higher-Order Rewriting. PhD thesis, Vrije universiteit, Amsterdam (1994)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1999 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Ogawa, M. (1999). Automatic Verification Based on Abstract Interpretation. In: Middeldorp, A., Sato, T. (eds) Functional and Logic Programming. FLOPS 1999. Lecture Notes in Computer Science, vol 1722. Springer, Berlin, Heidelberg. https://doi.org/10.1007/10705424_9
Download citation
DOI: https://doi.org/10.1007/10705424_9
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-66677-6
Online ISBN: 978-3-540-47950-5
eBook Packages: Springer Book Archive