ICSM 2009 Keynotes
|Slides of keynote presentations can be found on this site.|
September 22, 2009
Mary Jean Harrold: Reduce, Reuse, Recycle, Recover: Techniques for Improved Regression Testing
Georgia Institute of Technology
Keynote AbstractStudies suggest that a significant portion of maintenance costs go to regression testing. Rapidly changing software and computing environments present many challenges for effective and efficient testing in practice. Past research regression testing has resulted in techniques that automate or partially automate the process. By combining program analysis, machine learning, and visualization techniques, we can expect significant improvement in the regression testing process that will provide reduction in cost and improvement in quality. In this talk, I will overview research in testing of evolving software and discuss achievements to date, challenges for solving the difficult problems that exist, and the promise for testing of evolving software in the future.
About Mary Jean HarroldMary Jean Harrold is the ADVANCE Professor of Computing and Associate Dean for Faculty Affairs in the College of Computing at Georgia Institute of Technology. She performs research in analysis and testing of large, evolving software, fault localization and failure identification using statistical analysis, machine learning, and visualization, monitoring deployed software to improve quality, and software self-awareness through real-time assessment and response. Professor Harrold received an NSF NYI Award and was named an ACM Fellow. She has served on the editorial boards of ACM TOSEM, ACM TOPLAS, and IEEE TSE. She currently serves on the Board of Directors for the Computing Research Association (CRA), and she is on the CRA Committee on the Status of Women in Computing (CRA-W). She received the Ph.D. from the University of Pittsburgh.
September 23, 2009
David M. Weiss: Architecture of Product Lines
Lanh and Oanh Nguyen Professor of Software Engineering, Iowa State University
Keynote AbstractA product line is a family of products designed to take advantage of their common aspects (commonalities) and predicted variabilities. A product line may be software only, e.g., a family of GUIs; software + hardware, e.g., a family of televisions; or hardware only. Where software is a part of the product line, the variability accommodated by the product line is an economic decision and strongly affects the technology and the architecture used in the design and implementation of the product line. For example, where variability is narrowly bounded, a domain specific language may be used to define the product line and generate members of it, but the market for it may be relatively narrow. On the other hand, initial investment cost may be high, production cost very low, and time to market very short. Where variability is broadly bounded, a complex software architecture may be needed, production of products may be only semi-automated, time to market may increase, but market appeal may be much wider. This talk will focus on the architectural considerations in defining and designing a product line, particularly questions such as "What are the attributes of a good software product line architecture?" and how such an architecture might change the economics of software development, introducing an open market both in architecture and in software components. I will illustrate points with examples taken from Lucent Technologies and Avaya, from the Software Product Line Hall of Fame, from building architecture, and from other industries.
About David M. WeissDavid M. Weiss received the B.S. degree in Mathematics in 1964 from Union College, and the M.S. in Computer Science in 1974 and the Ph.D. in Computer Science in 1981 from the University of Maryland. He is currently the Lanh and Oahn Nguyen professor of software engineering at Iowas State University.
Previously, he was the Director of the Software Technology Research Department at Avaya Laboratories, where he worked on the problem of how to improve the effectiveness of software development in general and of Avaya's software development processes in particular. To focus on the latter problem, he formed and led the Avaya Resource Center for Software Technology.
Before joining Avaya Labs, he was the head of the Software Production Research Department at Lucent Technologies Bell Laboratories, which conducted research on how to improve the effectiveness of software development. Prior to Bell Labs, he was Director of the Reuse and Measurement Department of the Software Productivity Consortium (SPC), a consortium of 14 large U.S. aerospace companies. Before SPC Dr. Weiss spent a year at the Office of Technology Assessment, where he was co-author of a technology assessment of the Strategic Defense Initiative. During the 1985-1986 academic year he was a visiting scholar at The Wang Institute and for many years was a researcher at the Computer Science and Systems Branch of the Naval Research Laboratory (NRL), in Washington, D.C. He has also worked as a programmer and as a mathematician. Dr. Weiss is a senior member of the IEEE.
Dr. Weiss's principal research interests are in the area of software engineering, particularly in software development processes and methodologies, software design, and software measurement. His best known work is the goal-question-metric approach to software measurement, his work on the modular structure of software systems, and his work in software product-line engineering as a co-inventor of the Synthesis process, and its successor the FAST process. He is co-author and co-editor of two books: Software Product Line Engineering and Software Fundamentals: Collected Papers of David L. Parnas. Papers on which he has been co-author have three times won retrospective awards, twice from the IEEE and once from the ACM.