cfaed Seminar Series
cfaed Seminar Series
Prof. James R. Cordy , School of Computing, Queen's University at Kingston, Canada
A Program Understanding Theory of Software Complexity
, 10:00 - 11:30
TU Dresden, Room 205, Werner-Hartmann-Building , Nöthnitzer Str. 66 , 01187 Dresden
Many complexity metrics have been proposed to help predict the cost and effort of producing new software systems. However, more than 80% of the effort associated with a software project is not in its initial development, but rather in its evolution and maintenance. Existing complexity metrics have been shown to be more or less isomorphic to simple code size, and are of little help in predicting potential maintenance effort, other than observing that bigger systems require more work.
In this talk I will step back and ask the question "what makes software maintenance difficult?" Beginning with a reminder of the limitations of programmers as human beings and drawing from observations from software maintenance research, we will explore the known and unknown causes of difficulty in software maintenance in search of a feature-based metric that can capture what really makes maintenance hard.
Surprisingly, we will discover that it all boils down to one thing: there is no problem in software maintenance that cannot be made worse by another level of indirection. Based on this observation, I will conclude with a concrete proposal for a new kind of feature-based software complexity metric, and demonstrate its application to estimating the complexity of "make"-based build systems.
Dr. Cordy received his BSc in computer science and mathematics from the University of Toronto in 1973 and his MSc in computer science in 1976. After serving several years as chief programmer and senior research associate at the Computer Systems Research Institute of the University of Toronto, he returned to school and received his PhD from the University of Toronto in 1986. Following ten years at Queen's University he left to found Legasys Corporation in 1995 where he was vice president and chief research officer until his return to Queen's in 2001.
Dr. Cordy is a past member and chair of the Natural Sciences and Engineering Research Council of Canada (NSERC) grant selection committee in Computing and Information Science, a recent distinguished scientist member of the NSERC E.W.R. Steacie Awards Committee and an emeritus member of the International Federation for Information Processing (IFIP) Working Group 2.4, "software implementation technology." He is a registered professional engineer, a Senior Member of the IEEE, a Distinguished Scientist member of the Association for Computing Machinery and an IBM Visiting Scientist and Faculty Fellow.
Prof. Cordy recently served as program co-chair of the IEEE 2002 and 2008 International Conference on Source Code Analysis and Manipulation (SCAM), the IEEE 2005 International Workshop on Program Comprehension (IWPC 2005) and the IBM 2005 Centre for Advanced Studies Conference (CASCON 2005). He served as industrial co-chair of the IEEE 2002, 2004 and 2005 International Conference on Software Maintenance (ICSM ), as co-organizer of the Dagstuhl International Seminar on Transformation Techniques in Software Engineering (2005), and as program chair of the IEEE 4th International Conference on Computer Languages (ICCL'92). He serves on the program committees of numerous conferences and workshops in software systems and languages, on the editorial board of several journals, books and special issues, and as session chair at many conferences.
In 1990-91 Dr. Cordy was invited to be guest researcher at GMD (now part of the Fraunhofer Institute), the German National Institute for Computer Science, in Karlsruhe, Germany, and in 2004-05 he was again invited as guest researcher, at the Automated Reasoning Systems Division of ITC-IRST, the Provincial Center for Scientific and Technological Research in Trento, Italy. Since 2013, Dr. Cordy is one of five cfaed Grand Professors.