Catálogo de publicaciones - libros
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
2006
Información sobre derechos de publicación
© Springer-Verlag Berlin Heidelberg 2006
Cobertura temática
Tabla de contenidos
doi: 10.1007/11924661_21
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
doi: 10.1007/11924661_22
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
doi: 10.1007/11924661_23
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
doi: 10.1007/11924661_24
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
doi: 10.1007/11924661_25
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