Prof. Mauro Pezzè
University of Lugano, Switzerland, and University of Milano Bicocca, Italy
Software is the cornerstone of the modern society, which can hardly tolerate failures and service discontinuity. At the same time, software systems are rapidly changing, and often rely on dynamically linked modules and services that may not be even available at design time. Classic off-line verification that require access to the whole software system, and stop-and-go maintenance that works off line badly adapt to these new needs of modern software systems.
Self-healing technology addresses the new demands of software systems by moving some V&V activities from design to runtime. Self-healing systems can detect failures, diagnose, locate and correct faults fully automatically and at runtime, thus guaranteeing rapid recovery and resilience to software failures. In this talk, I discusses how systems can detect and heal failures and faults that are unknown at runtime without additional human intervention, identify intrinsic software redundancy as a great opportunity that can be exploited to automatically deal with emerging problems at runtime, and indicate how self-healing technology can impact on classic maintenance approaches.
Mauro Pezzè received the Laurea degree in computer science from the
University of Pisa, Italy, in 1984 and the doctorate degree in
computer science from the Politecnico di Milano, Italy, in 1989. He is
a professor of computer science at the University of Milano Bicocca
and the University of Lugano. His general research interests are in
the areas of software testing and analysis, autonomic computing,
self-healing software systems, service-base applications, and service
level agreement protection. Prior to joining the University of Milan
Bicocca and the University of Lugano as full professor, he was an
assistant and an associate professor at the Politecnico di Milano, and
a visiting researcher at the University of Edinburgh and the
University of California, Irvine.
He is an associate editor of the ACM Transactions on Software Engineering and Methodology and member of the steering committee of the ACM International Conference on Software Testing and Analysis (ISSTA) and the International Conference on Software Engineering (ICSE). He is coauthor of the book Software Testing and Analysis, Process, Principles and Techniques (John Wiley, 2008) and he is the author or coauthor of more than 80 refereed journal and conference papers.
Prof. Lori Pollock
Computer and Information Sciences Department - University of Delaware, USA
Studies continue to report that more time is spent reading, locating, and comprehending code than actually writing code. The increasing size and complexity of software systems makes it significantly more challenging for humans to perform maintenance tasks on software without automated and semi-automated tools to support them, especially in the error-prone tasks. Thus, software engineers increasingly rely on software engineering tools to automate maintenance tasks as much as possible.
The program analyses that drive today's software engineering tools have historically focused on analyzing the program's data and control flow, dependencies, and other structural information about the programto uncover and prove program properties. Yet, a software system is more than just the source code and its structure. To build effective software tools, the underlying automated analyses need to use all the information available to make the tools as intelligent and useful as possible. By adapting natural language processing (NLP) to source code analysis, and integrating information retrieval (IR), NLP, and traditional program analyses, we can expect significant improvement in automated and semi-automated software engineering tools for many different software engineering tasks.
In this talk, I will overview research in text analysis of software and discuss our achievements to date, the challenges faced in text analysis, and the opportunities for text analysis of software in the future.
Lori Pollock is a Professor in the Department of Computer and Information Sciences at the University of Delaware. She earned her Ph.D. and M.S. in Computer Science at the University of Pittsburgh in 1986 and 1983, respectively, and her B.S. in Computer Science and Economics at Allegheny College in 1981.
Her research currently focuses on program analysis for building better software maintenance tools, software testing, and optimizing compilers for modern computer architectures. She is an ACM Distinguished Scientist, and currently serves on an Associate Editor for the ACM Transactions on Software Engineering and Methodology (TOSEM). She also served on the executive committee and as an officer of ACM SIGPLAN for several terms.
Lori Pollock teaches courses primarily in compiler construction, parallel programming, automatic program analysis and transformation, and software testing. She was awarded the University of Delaware's Excellence in Teaching Award in 2001.
Lori Pollock has actively worked for improving the participation of women and other underrepresented groups in computer science for many years. She was awarded the University of Delaware's E. A. Trabant Award for Women's Equity in 2004, and serves on the Executive Board of the Computing Research Association's Committee on the Status of Women in Computing (CRA-W).