Hi everyone,
On behalf of the team members (yours truly, Ibrahim Fayaz, Evgeny 
Groshev, Sarah Nadi, and Thorsten Berger, see below), I’m happy to give 
you an update about our work on the tool configfix, which integrates 
conflict-resolution support into xconfig. When a user configures the Linux 
kernel and runs into a conflict (a configuration option cannot be enabled, 
since it contradicts other, previously selected options), configfix 
calculates fixes that can be applied automatically to satisfy these 
dependencies. It is especially helpful for resolving transitive 
dependencies, for instance, when enabling or disabling a configuration 
option requires enabling or disabling a number of other options.
A demo can be seen in this video: 
https://youtu.be/OJz3uGQ5hR4
Our source repository contains instructions to run configfix and how to 
contribute: 
https://bitbucket.org/easelab/configfix . 
The prototype can already be tested. As some features do not work fully 
yet (e.g., the colorization seen in the video), we welcome any feedback:
* When conflicts cannot be resolved or fixes cannot be applied, please 
report the issue in the Bitbucket repository above.
* Provide general feedback on the user interface. Is anything unclear or 
confusing?
* Let us know about scenarios that result in poor performance.
* If you have any concrete configuration scenario you run into before and 
are interested in including it in our automated tests, please let us 
know.
As of now, it is required to install Glib to use configfix. I know that 
this is not an ideal situation and I would like to get rid of this 
dependency, so I looked at tools/include/linux as Luis had suggested 
last year. Unfortunately, there is no dynamically sized array and I'd 
like to avoid the linked lists. What would be the preferred way to deal 
with the situation? Copy maybe the relevant parts from Glib? The 
library's LGPL should allow that.
Finally, we would like to mention that this work has been a result of 
years of research in the area of highly configurable software, and 
specifically our work on the Linux kernel. Many others have contributed 
to such efforts and we would like to thank them all. If interested, we 
list some of our previous related papers at the end of this email.
Best regards,
Patrick Franz (Chalmers | Univ. of Gothenburg, Sweden)
Ibrahim Fayaz (VecScan AB + Chalmers University of Technology, Sweden)
Evgeny Groshev (University of Gothenburg, Sweden)
Sarah Nadi (University of Alberta, Canada)
Thorsten Berger (Chalmers | Univ. of Gothenburg, Sweden)
Our previous work:
* Steven She, Thorsten Berger, “Formal Semantics of the Kconfig 
Language,” Technical Note, University of Waterloo, http://
www.eng.uwaterloo.ca/~shshe/kconfig_semantics.pdf, 2010.
* Steven She, Rafael Lotufo, Thorsten Berger, Andrzej Wasowski, 
Krzysztof Czarnecki, “The Variability Model of the Linux Kernel,”  4th 
International Workshop on Variability Modelling of Software-intensive 
Systems (VaMoS), 2010. Won most-influential paper award.
* Thorsten Berger, Steven She, Rafael Lotufo, Andrzej Wasowski, 
Krzysztof Czarnecki, “Variability Modeling in the Real: A Perspective 
from the Operating Systems Domain,” 25th IEEE/ACM International 
Conference on Automated Software Engineering (ASE), 2010.
*S. Nadi and R. Holt, "Make it or Break it: Mining Anomalies from Linux 
Kbuild," 18th Working Conference on Reverse Engineering, 2011.
Steven She, Rafael Lotufo, Thorsten Berger, Andrzej Wasowski, Krzysztof 
Czarnecki, “Reverse Engineering Feature Models,” 33rd International 
Conference on Software Engineering (ICSE), 2011.
* S. Nadi and R. Holt, "Mining Kbuild to Detect Variability Anomalies in 
Linux," 16th European Conference on Software Maintenance and 
Reengineering (CSMR), 2012.
* Thorsten Berger, Steven She, Rafael Lotufo, Andrzej Wasowski, 
Krzysztof Czarnecki, “A Study of Variability Models and Languages in the 
Systems Software Domain,” IEEE Transactions on Software Engineering, 
vol. 39, no. 12, 2013.
* Sarah Nadi, Thorsten Berger, Christian Kästner, and Krzysztof 
Czarnecki, “Mining configuration constraints: static analyses and 
empirical results,” 36th International Conference on Software 
Engineering (ICSE), 2014.
-- 
Med vänliga hälsningar
Patrick Franz