Computer Science and Engineering, Department of


Date of this Version

Summer 8-1-2014


D. Jin. Improving Preference Recommendation and Customization in Real World Highly Configurable Software Systems. Master’s thesis, University of Nebraska-Lincoln, Lincoln, NE, USA, 2014.


A THESIS Presented to the Faculty of The Graduate College at the University of Nebraska In Partial Fulfilment of Requirements For the Degree of Master of Science, Major: Computer Science, Under the Supervision of Myra B. Cohen. Lincoln, Nebraska: August, 2014

Copyright (c) 2014 Dongpu Jin


Highly configurable software systems, such as web browsers or office applications, may have a large number of preferences that the user can customize. When faced with the task of trying to identify which configuration option should be modified to change a particular system behavior, the user, tester or debugger may have to search through hundreds or thou- sands of options, and documentation may be scarce. Simple pattern matching utilities exist, but these searches are sensitive to using the right keyword. Static analysis may help, but will require access to source code. Alternatively a user may ask questions on help forums, but this can takes hours, days or even weeks to obtain a solution.

In this thesis we begin by analyzing two open-source and one industrial application to understand the complexity of their configuration subsystems. We find that all applications are multi-lingual, that there are multiple access points and methods to modify configura- tions, and only a subset of preferences are provided through the use of a menu option. These results suggest the need for new recommendation and customization approaches. We then present PrefFinder, an automated framework that uses natural language process- ing and information retrieval to search for preferences. The input is a query in natural language and the result is a rank ordered list of the potential options, and an update mecha- nism that allows the user to directly change the found preference at run time. We instantiate PrefFinder as a plugin for Firefox and evaluate several variants of our parsing algorithms to improve matches in this context. On 100 queries obtained from an online forum, we determine that using a backward search during word splitting, combined with a synonym database, achieves the best retrieval results. The correct configuration option is found 50 percent of the time within the top 20 choices, and 73 percent of the time overall. In a com- parison against a standard web search, we show that PrefFinder is competitive in finding the answer, but at a potentially lower cost.

Adviser: Myra B. Cohen