Declarative Static Program Analysis
The talk will discuss the benefits of using logic-based declarative languages as a means to specify static program analysis algorithms. The main focus will be on the Doop framework for pointer analysis of Java programs. Doop encodes multiple analysis algorithms for Java declaratively, using Datalog: a logic-based language for defining (recursive) relations. The algorithms are elegantly specified and easy to understand and adapt. With an aggressive optimization methodology, Doop also achieves very high performance--often a factor of 10 faster than other comparable frameworks. With the help of Doop's concise algorithm representation we have invented several new analysis algorithms and developed important insights on existing algorithm variations.
Για τον ομιλητή:
Yannis Smaragdakis is an Associate Professor at the University of Athens. His interests are in the areas of applied programming languages and software engineering. He got his B.S. degree from the University of Crete (Greece) and his Ph.D. from the University of Texas at Austin. He is a recipient of an NSF Career award, an ERC Starting/Consolidator grant, and "best paper" awards at ISSTA'12, ASE'07, ISSTA'06, GPCE'04, and USENIX'99. More information on his work can be found at:
http://www.di.uoa.gr/~smaragd