Catálogo de publicaciones - libros

Compartir en
redes sociales


Programming Languages and Systems: 4th Asian Symposium, APLAS 2006, Sydney, Australia, November 8-10, 2006, Proceedings

Naoki Kobayashi (eds.)

En conferencia: 4º Asian Symposium on Programming Languages and Systems (APLAS) . Sydney, NSW, Australia . November 8, 2006 - November 10, 2006

Resumen/Descripción – provisto por la editorial

No disponible.

Palabras clave – provistas por la editorial

No disponibles.

Disponibilidad
Institución detectada Año de publicación Navegá Descargá Solicitá
No detectada 2006 SpringerLink

Información

Tipo de recurso:

libros

ISBN impreso

978-3-540-48937-5

ISBN electrónico

978-3-540-48938-2

Editor responsable

Springer Nature

País de edición

Reino Unido

Fecha de publicación

Información sobre derechos de publicación

© Springer-Verlag Berlin Heidelberg 2006

Tabla de contenidos

A Pushdown Machine for Recursive XML Processing

Keisuke Nakano; Shin-Cheng Mu

XML transformations are most naturally defined as recursive functions on trees. A naive implementation, however, would load the entire input XML tree into memory before processing. In contrast, programs in stream processing style minimise memory usage since it may release the memory occupied by the processed prefix of the input, but they are harder to write because the programmer is left with the burden to maintain a state. In this paper, we propose a model for XML stream processing and show that all programs written in a particular style of recursive functions on XML trees, the macro forest transducer , can be automatically translated to our stream processors. The stream processor is declarative in style, but can be implemented efficiently by a pushdown machine. We thus get the best of both worlds — program clarity, and efficiency in execution.

- Session 7 | Pp. 340-356

XML Validation for Context-Free Grammars

Yasuhiko Minamide; Akihiko Tozawa

String expression analysis conservatively approximates the possible string values generated by a program. We consider the validation of a context-free grammar obtained by the analysis against XML schemas and develop two algorithms for deciding inclusion L ( G _1) ⊆  L ( G _2) where G _1 is a context-free grammar and G _2 is either an XML-grammar or a regular hedge grammar. The algorithms for XML-grammars and regular hedge grammars have exponential and doubly exponential time complexity, respectively. We have incorporated the algorithms into the PHP string analyzer and validated several publicly available PHP programs against the XHTML DTD. The experiments show that both of the algorithms are efficient in practice although they have exponential complexity.

Palabras clave: Regular Expression; Inclusion Problem; Tree Automaton; Tree Transducer; Validation Algorithm.

- Session 7 | Pp. 357-373

A Practical String Analyzer by the Widening Approach

Tae-Hyoung Choi; Oukseh Lee; Hyunha Kim; Kyung-Goo Doh

The static determination of approximated values of string expressions has many potential applications. For instance, approximated string values may be used to check the validity and security of generated strings, as well as to collect the useful string properties. Previous string analysis efforts have been focused primarily on the maxmization of the precision of regular approximations of strings. These methods have not been completely satisfactory due to the difficulties in dealing with heap variables and context sensitivity. In this paper, we present an abstract-interpretation-based solution that employs a heuristic widening method. The presented solution is implemented and compared to JSA. In most cases, our solution gives results as precise as those produced by previous methods, and it makes the additional contribution of easily dealing with heap variables and context sensitivity in a very natural way. We anticipate the employment of our method in practical applications.

Palabras clave: String Operator; Regular Expression; Widening Operator; Abstract Domain; Context Sensitivity.

- Session 7 | Pp. 374-388

A Bytecode Logic for JML and Types

Lennart Beringer; Martin Hofmann

We present a program logic for virtual machine code that may serve as a suitable target for different proof-transforming compilers. Compilation from JML-specified source code is supported by the inclusion of annotations whose interpretation extends to non-terminating computations. Compilation from functional languages, and the communication of results from intermediate level program analysis phases are facilitated by a new judgement format that admits the compositionality of type systems to be reflected in derivations. This makes the logic well suited to serve as a language in which proofs of a PCC architecture are expressed. We substantiate this claim by presenting the compositional encoding of a type system for bounded heap consumption. Both the soundness proof of the logic and the derivation of the type system have been formally verified by an implementation in Isabelle/HOL.

Palabras clave: Program Logic; Type System; Operational Semantic; Proof System; Program Point.

- Session 8 | Pp. 389-405

On Jones-Optimal Specializers: A Case Study Using Unmix

Johan Gade; Robert Glück

Jones optimality is a criterion for assessing the strength of a program specializer. Here, the elements required in a proof of Jones optimality are investigated and the first formal proof for a non-trivial polyvariant specializer (Unmix) is presented. A simplifying element is the use of self-application. Variations of the original criterion are discussed.

Palabras clave: Residual Program; Partial Evaluation; Residual Function; Goal Function; Source Program.

- Session 8 | Pp. 406-422