Online Appendix for “How Preprocessor Annotations (Do Not) Affect Maintainability: A Case Study on Change Proneness” (Journal Extension of the 2017 Conference Paper at GPCE)

Installing and Running the Tool

Data collection for this study was performed by IfdefRevolver, the Github project this page belongs to. Information on how to install and run the tool can be found in the tool’s README.

Subject Systems

The names and repository URLs of the subject systems are listed below.

Subject Name Repository URL
Apache git@github.com:apache/httpd.git
Blender git://git.blender.org/blender.git
BusyBox git://busybox.net/busybox.git
Cherokee git@github.com:cherokee/webserver.git
Gimp https://git.gnome.org/browse/gimp
glibc git://sourceware.org/git/glibc.git
Gnumeric git@github.com:GNOME/gnumeric.git
gnuplot https://git.code.sf.net/p/gnuplot/gnuplot-main
libxml2 git@github.com:GNOME/libxml2.git
mpv git@github.com:mpv-player/mpv.git
MySQL git@github.com:mysql/mysql-server.git
OpenLDAP https://github.com/osstech-jp/openldap
OpenVPN git@github.com:OpenVPN/openvpn.git
php git@github.com:php/php-src.git
Pidgin git@github.com:tieto/pidgin.git
PostgreSQL git://git.postgresql.org/git/postgresql.git
qemu https://git.qemu.org/git/qemu.git
SQLite git://repo.or.cz/sqlite.git
Subversion git@github.com:apache/subversion.git
Vim git@github.com:vim/vim.git

Data

The data an visualizations for all twenty subject systems in the extended study are available here:

  1. Apache
  2. Blender
  3. BusyBox
  4. Cherokee
  5. Gimp
  6. glibc
  7. Gnumeric
  8. gnuplot
  9. libxml2
  10. mpv
  11. MySQL
  12. OpenLDAP
  13. OpenVPN
  14. php
  15. Pidgin
  16. PostgreSQL
  17. qemu
  18. SQLite
  19. Subversion
  20. Vim