Abstract:
The success of software development tasks depends, to a great extent, not only on
the availability of the experienced and skillful software engineers, but also on the
unbiased inputs from a variety of stakeholders.
The experienced and skilled software engineers are in short supply. We also
know that there are no born experts in any field; the expertise is gained from
the experience of others. In this thesis we present techniques that we have developed
to allow us to reduce dependency on human experts in the field of software
development. The techniques that we built exploit the vast body of experiential
knowledge that is available in the form of natural language text.
Further, stakeholders who participate in collective decision making in a project
tend to be rational. That is, they always aim to maximize their own benefit, often
putting the quality of the overall decision outcomes at a second place. The impact
that such rational stakeholders can have, when participating in software design
decision making, is significant. The issues pertaining to rational agents is well
studied in the field of social choice theory. In this thesis we also present a novel
application of the ideas from social choice theory to eliminate stakeholder bias
from software design decision making.