Mining Evolution Data of a Product Family Michael Fischer, Johann Oberleitner, Jacek Ratzinger Vienna University of Technology Harald Gall University of Zurich software evolution & architecture lab MSR’05 – p. 1/10
Product Family Evolution Objective: find relationships between variants of a product line ◮ Approach: ◮ Use lexical search in change log messages • Retrieve change dependencies from RHDB • Visualize findings about change dependencies and information • flow between source code directories via Multidimensional Scaling (MDS) Case study: ◮ Product variants: FreeBSD, NetBSD, OpenBSD (30.000 - 60.000 • files) Direct copies of CVS systems • Used keywords: freebsd , netbsd , linux • software evolution & architecture lab MSR’05 – p. 2/10
✪ ✷ ✶ ✶ ✶ ✶ ✷ ✷ ✷ ✷ ✶ ✷ ✸ ✸ ✸ ✸ ✸ ✸ ✶ ✵ ✹ ✴ ✳ ✳ ✳ ✳ ✳ ✳ ✳ ✴ ✵ ✴ ✴ ✴ ✴ ✵ ✵ ✵ ✵ ✹ ✹ ✲ ✽ ✼ ✼ ✼ ✼ ✼ ✽ ✽ ✽ ✻ ✽ ✽ ✽ ✽ ✽ ✽ ✽ ✽ ✼ ✻ ✹ ✺ ✹ ✹ ✺ ✺ ✺ ✺ ✺ ✻ ✻ ✻ ✻ ✻ ✻ ✻ ✻ ✻ ✻ ✳ ✲ ✾ ✬ ✫ ✫ ✫ ✫ ✫ ✫ ✬ ✬ ✫ ✬ ✬ ✬ ✬ ✬ ✬ ✭ ✫ ✫ ✭ ✩ ✩ ✩ ✩ ✩ ✩ ✩ ✩ ✩ ✪ ✪ ✪ ✪ ▼ ✪ ✪ ✪ ✪ ✭ ✭ ✲ ✱ ✰ ✰ ✰ ✰ ✰ ✰ ✱ ✱ ✯ ✱ ✱ ✱ ✱ ✱ ✲ ✲ ✲ ✯ ✯ ✭ ✮ ✭ ✭ ✭ ✭ ✮ ✮ ✮ ✮ ✯ ✮ ✮ ✮ ✮ ✯ ✯ ✯ ✯ ✾ ✾ ★ ❋ ❊ ❋ ❋ ❋ ❋ ❋ ❋ ❋ ❊ ❋ ❋ ❋ ❋ ● ● ● ❊ ❊ ● ❉ ❈ ❈ ❈ ❈ ❉ ❉ ❉ ❉ ❊ ❉ ❉ ❉ ❉ ❉ ❉ ❉ ❊ ● ● ❈ ▲ ❑ ❑ ❑ ❑ ❑ ❑ ▲ ▲ ❏ ▲ ▲ ▲ ▲ ▲ ▼ ▼ ▼ ❏ ❏ ❍ ■ ❍ ❍ ❍ ❍ ❍ ❍ ❍ ■ ❏ ■ ■ ■ ■ ❏ ❏ ❏ ❏ ❈ ❈ ✾ ❁ ❁ ❁ ❁ ❁ ❁ ❁ ❁ ❂ ❀ ❂ ❂ ❂ ❂ ❂ ❃ ❃ ❃ ❁ ❀ ❃ ✿ ✾ ✾ ✿ ✿ ✿ ✿ ✿ ✿ ❀ ✿ ✿ ✿ ✿ ✿ ❀ ❀ ❀ ❃ ❃ ❈ ❇ ❆ ❆ ❆ ❆ ❆ ❇ ❇ ❇ ❅ ❇ ❇ ❇ ❇ ❇ ❇ ❇ ❇ ❆ ❅ ❃ ❄ ❃ ❃ ❃ ❃ ❃ ❄ ❄ ❄ ❅ ❄ ❄ ❅ ❅ ❅ ❅ ❅ ❅ ★ ★ ▼ ☞ ☛ ☛ ☛ ☛ ☛ ☛ ☛ ☞ ☛ ☞ ☞ ☞ ☞ ☞ ☞ ☞ ☛ ✡ ✌ ✠ ✟ ✠ ✠ ✠ ✠ ✠ ✠ ✠ ✡ ✠ ✡ ✡ ✡ ✡ ✡ ✡ ✡ ✌ ✌ ✟ ✑ ✏ ✏ ✏ ✏ ✏ ✑ ✑ ✑ ✏ ✑ ✑ ✒ ✒ ✒ ✒ ✒ ✒ ✏ ✏ ✌ ✍ ✌ ✌ ✍ ✍ ✍ ✍ ✍ ✍ ✏ ✍ ✍ ✎ ✎ ✎ ✎ ✎ ✎ ✟ ✟ ✒ ✄ ✂ ✂ ✂ ✂ ✂ ✂ ✄ ✄ ✂ ✄ ✄ ✄ ✄ ✄ ✄ ☎ ✂ ✂ ☎ � � � � � � � � � ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ☎ ☎ ✟ ✞ ✝ ✝ ✝ ✝ ✞ ✞ ✞ ✞ ✝ ✞ ✞ ✞ ✞ ✟ ✟ ✟ ✟ ✝ ✝ ☎ ✆ ☎ ☎ ☎ ☎ ☎ ☎ ☎ ✆ ✝ ✆ ✆ ✆ ✆ ✆ ✆ ✆ ✝ ✒ ✓ ★ ✤ ✣ ✣ ✣ ✣ ✣ ✤ ✤ ✤ ✣ ✤ ✤ ✤ ✤ ✤ ✤ ✤ ✣ ✣ ✥ ✢ ✜ ✜ ✜ ✜ ✜ ✢ ✢ ✢ ✣ ✢ ✢ ✢ ✢ ✢ ✣ ✣ ✣ ✤ ✥ ✜ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✧ ✦ ✧ ✧ ✧ ★ ★ ★ ★ ★ ✦ ✦ ✥ ✥ ✥ ✥ ✥ ✥ ✥ ✥ ✥ ✥ ✦ ✦ ✦ ✦ ✦ ✦ ✦ ✦ ✦ ✜ ✜ ✓ ✗ ✖ ✖ ✖ ✖ ✖ ✗ ✗ ✗ ✖ ✗ ✗ ✘ ✘ ✘ ✘ ✘ ✘ ✖ ✖ ✘ ✔ ✓ ✓ ✓ ✓ ✓ ✓ ✔ ✔ ✕ ✔ ✔ ✔ ✕ ✕ ✕ ✕ ✕ ✘ ✘ ✜ ✛ ✚ ✚ ✚ ✚ ✚ ✛ ✛ ✛ ✚ ✛ ✛ ✛ ✛ ✛ ✜ ✜ ✜ ✚ ✚ ✘ ✙ ✘ ✘ ✙ ✙ ✙ ✙ ✙ ✙ ✚ ✙ ✙ ✙ ✙ ✙ ✚ ✚ ✚ ▼ MSR’05 – p. 3/10 gnu share man usr_bin arch usr_sbin dev i386 Consolidated DB sys Visualization src RHDB ROOT lib libc sbin Process RHDB RHDB RHDB Import Import Import OpenBSD FreeBSD NetBSD software evolution & architecture lab
Common files Variant Variant all modules src/ sys/ only 3810 1333 FreeBSD NetBSD 3839 1079 FreeBSD OpenBSD 6969 6847 NetBSD OpenBSD software evolution & architecture lab MSR’05 – p. 4/10
Information flow Information flow between variants of the BSD systems based on ◮ lexical search Variant Keyword all revisions revision > 1 . 1 5131 3577 FreeBSD netbsd 2729 1353 openbsd 1791 1387 linux 2852 2186 NetBSD freebsd 2679 2224 openbsd 1547 1125 linux 2406 1933 OpenBSD freebsd 16802 7423 netbsd 775 463 linux software evolution & architecture lab MSR’05 – p. 5/10
Recommend
More recommend