Static analysis is increasingly recognized as a fundamental reasearch area aimed at studying and developing tools for high performance implementations and v- i cation systems for all programming language paradigms. The last two decades have witnessed substantial developments in this eld, ranging from theoretical frameworks to design, implementation, and application of analyzers in optim- ing compilers. Since 1994, SAS has been the annual conference and forum for researchers in all aspects of static analysis. This volume contains the proceedings of the 6th International Symposium on Static Analysis (SAS’99) which was held in Venice, Italy, on 22{24 September 1999. The previous SAS conferences were held in Namur (Belgium), Glasgow (UK), Aachen (Germany), Paris (France), and Pisa (Italy). The program committee selected 18 papers out of 42 submissions on the basis of at least three reviews. The resulting volume o ers to the reader a complete landscape of the research in this area. The papers contribute to the following topics: foundations of static analysis, abstract domain design, and applications of static analysis to di erent programming paradigms (concurrent, synchronous, imperative, object oriented, logical, and functional). In particular, several papers use static analysis for obtaining state space reduction in concurrent systems. New application elds are also addressed, such as the problems of security and secrecy.
Author(s): John Hatcliff, James Corbett, Matthew Dwyer, Stefan Sokolowski, Hongjun Zheng (auth.), Agostino Cortesi, Gilberto Filé (eds.)
Series: Lecture Notes in Computer Science 1694
Edition: 1
Publisher: Springer-Verlag Berlin Heidelberg
Year: 1999
Language: English
Pages: 360
Tags: Programming Techniques; Software Engineering; Programming Languages, Compilers, Interpreters; Logics and Meanings of Programs
A Formal Study of Slicing for Multi-threaded Programs with JVM Concurrency Primitives....Pages 1-18
Static Analyses for Eliminating Unnecessary Synchronization from Java Programs....Pages 19-38
Dynamic Partitioning in Analyses of Numerical Properties....Pages 39-50
Polyhedral Analysis for Synchronous Languages....Pages 51-68
Decomposing Non-redundant Sharing by Complementation....Pages 69-84
Freeness Analysis Through Linear Refinement....Pages 85-100
Binary Decision Graphs....Pages 101-116
Binding-Time Analysis for Both Static and Dynamic Expressions....Pages 117-133
Abstract Interpretation of Mobile Ambients....Pages 134-148
Abstracting Cryptographic Protocols with Tree Automata....Pages 149-163
State Space Reduction Based on Live Variables Analysis....Pages 164-178
Partial Dead Code Elimination Using Extended Value Graph....Pages 179-193
Translating Out of Static Single Assignment Form....Pages 194-210
Eliminating Dead Code on Recursive Data....Pages 211-231
Detecting Equalities of Variables: Combining Efficiency with Precision....Pages 232-247
A New Class of Functions for Abstract Interpretation....Pages 248-263
Equational Semantics....Pages 264-283
Abstract Animator for Temporal Specifications: Application to TLA....Pages 284-299
Static Analysis of Mega-Programs....Pages 300-302
Safety versus Secrecy....Pages 303-311
On the Complexity Analysis of Static Analyses....Pages 312-329
Model-Checking....Pages 330-354
Tutorial: Techniques to Improve the Scalability and Precision of Data Flow Analysis....Pages 355-356