link

January 4, Tuesday
12:00 – 14:00

Information Flow Analysis for Java Bytecode
Computer Science seminar
Lecturer : Dr. Samir Genaim
Affiliation : CS department of the University of Verona, Italy
Location : -101/58
Host : Dr. Kobbi Nissim
Protecting the confidentiality of information manipulated by computing systems is a long-standing yet increasingly important problem. The standard way to protect confidential data is access control: some privilege is required in order to access files or objects containing the confidential data, but once information is released from its container, the accessing program may improperly transmit the information in some form. To ensure that information is used only in accordance with the relevant confidentiality policies, it is necessary to analyze how information flows within the using program.

This talk briefly overview (programming) language-based techniques, such as program semantics and analysis, for the specification and enforcement of security policies for data confidentiality and discuss in more details an information-flow security analysis for the Java bytecode.

(Joint work with Fausto Spoto)

Short BIO


02/2003 - present: Marie-Curie Fellow in the computer science department of the University of Verona, Italy.

10/1998 - 10/2002: Ph.D. in Computer Science at Ben-Gurion University of the Negev, Beer-Sheva, Israel. Thesis: Semantic Based WorkBench For Termination Analysis of Logic Programs. Advisor: Prof. Michael Codish.

10/1996 - 10/1998: M.Sc. in Mathematics and Computer Science at Ben-Gurion University of the Negev, Beer-Sheva, Israel.

10/1993 - 10/1996 B.Sc. in Mathematics and Computer Science at Ben-Gurion University of the Negev, Beer-Sheva, Israel.

Research Interests


Keywords: Program Analysis, Abstract Interpretation, Termination Analysis, Language-Based Security

My research interests in the are of "Semantic Based Program Analysis" is a mixture of theoretical and practical computer science. I apply techniques like abstract interpretation and use them to optimize programs, prove that programs will terminate and reason about the program's properties without executing the program. These techniques aid in the program development process as well as compiler optimizations.