1. Properties of Signature Change Patterns Sung Kim, Jim Whitehead, Jennifer Bevan University of California, Santa Cruz
2.
3.
4.
5. Analyzed Projects (all in C) 6,029 185,006 Aug 2001-Mar 2005 Subversion (SVN) 3,012 298,236 Nov 1988-Feb 1993 GCC 2,873 62,415 Dec 1994-Sep 2003 CVS 1,353 33,600 Jul 1999-Feb 2005 APR Utility (APU) 5,990 72,630 Jan 1999-Feb 2005 Apache Portable Runtime (APR) 3,877 104,417 Jul 1999-Aug 2003 Apache 2.0 (A 2) 7,747 116,398 Jan 1996-Mar 2005 Apache 1.3 (A1.3) Commits LOC Period Project
6. Per-Project Analysis Process SCM Repository Filesystem Extract Automated transaction extraction Save Persist signature data to database Relational database Analyze Query DB to observe signature properties Analysis Software Compute Extract function signatures Kenyon Origin analysis Process Reconstruct change history of functions across name changes
7.
8.
9.
10.
11. How does the number of parameters per function change over time? Does this show evidence of code decay?
20. Signature Change Frequencies Frequency is number of changes of specific kind over total number of signature changes for a project. A single signature change event can include multiple signature change kinds.
21. Do the frequencies of signature change kinds evolve over the history of a project? Are there project specific patterns to the frequency and evolution of signature change kinds?
24. Signature Change Frequencies Over Time Can see that Subversion and Apache 1.3 exhibit different frequencies of ordering changes and modifier changes Also, different trajectories for addition and deletion changes. There appear to be distinct per-project patterns of signature change evolution.