  Traceability is a fundamental component of the modern software development
process that helps to ensure properly functioning, secure programs. Due to the
high cost of manually establishing trace links, researchers have developed
automated approaches that draw relationships between pairs of textual software
artifacts using similarity measures. However, the effectiveness of such
techniques are often limited as they only utilize a single measure of artifact
similarity and cannot simultaneously model (implicit and explicit)
relationships across groups of diverse development artifacts.
  In this paper, we illustrate how these limitations can be overcome through
the use of a tailored probabilistic model. To this end, we design and implement
a HierarchiCal PrObabilistic Model for SoftwarE Traceability (Comet) that is
able to infer candidate trace links. Comet is capable of modeling relationships
between artifacts by combining the complementary observational prowess of
multiple measures of textual similarity. Additionally, our model can
holistically incorporate information from a diverse set of sources, including
developer feedback and transitive (often implicit) relationships among groups
of software artifacts, to improve inference accuracy. We conduct a
comprehensive empirical evaluation of Comet that illustrates an improvement
over a set of optimally configured baselines of $\approx$14% in the best case
and $\approx$5% across all subjects in terms of average precision. The
comparative effectiveness of Comet in practice, where optimal configuration is
typically not possible, is likely to be higher. Finally, we illustrate Comets
potential for practical applicability in a survey with developers from Cisco
Systems who used a prototype Comet Jenkins plugin.
