More Modular Reasoning for Scalable Concurrent Software Engineering

More Modular Reasoning for Scalable Concurrent Software Engineering

Feb 4, 2016 - 3:40 PM
to , -

Speaker:Mehdi Bagherzadeh

Abstract:

Modern computer architectures have made concurrent software engineering indispensable and yet it remains difficult. I believe that the root cause of such difficulties is the lack of true modularity: programmers cannot yet understand, reason about and verify their concurrent software in a modular and scalable manner. Modular reasoning about a concurrent software is difficult because of two problems: (1) arbitrary thread interference can happen between any two instructions (pervasive interference) and (2) interference behavior is unknown (oblivious interference). To reason about concurrent software a programmer should consider the possibility of interference between any two instructions, and for each interference point perform a global reasoning to determine its interference behavior, which is a lot of undesirable and intractable reasoning work. Reasoning about concurrent software is easier if the programmer can modularly and statically know about the points at which the interference could happen and the interference behaviors at these points. In this talk, I present my PhD work on a framework for syntactic control of interference that addresses both pervasive and oblivious interference problems. I show that if a concurrent programming model and language conforms to this framework, then it can benefit from modular and scalable reasoning, leading to potential benefits such as less error-prone and consequently cheaper concurrent software engineering. In my talk, I also allude to the applications of this framework in data-intensive and secure software engineering.

Bio:

Mehdi Bagherzadeh is a PhD candidate at Iowa State University where he works with Dr. Hridesh Rajan. His research interests are in Software Engineering and Programming Languages. Prior to Iowa State University he worked in industry for 7 years in various positions ranging from Software Engineer to Project Manager. Mehdi's works on modular reasoning about concurrent and event-based software have been selected among best papers in leading international venues. Mehdi has served on the program committee for OOPSLA artifact evaluation and FOAL, and has been a reviewer or external reviewer for conferences such as SPLASH and ICSE and journals such as TSE, SCP, IST and COMLAN. He has received several distinguished awards including Dr. Robert Stewart Early Research Award in 2013 and a Teaching Excellence Award in 2015.