  Information Retrieval (IR) plays a pivotal role in diverse Software
Engineering (SE) tasks, e.g., bug localization and triaging, code retrieval,
requirements analysis, etc. The choice of similarity measure is the core
component of an IR technique. The performance of any IR method critically
depends on selecting an appropriate similarity measure for the given
application domain. Since different SE tasks operate on different document
types like bug reports, software descriptions, source code, etc. that often
contain non-standard domain-specific vocabulary, it is essential to understand
which similarity measures work best for different SE documents.
  This paper presents two case studies on the effect of different similarity
measure on various SE documents w.r.t. two tasks: (i) project recommendation:
finding similar GitHub projects and (ii) bug localization: retrieving buggy
source file(s) correspond to a bug report. These tasks contain a diverse
combination of textual (i.e. description, readme) and code (i.e. source code,
API, import package) artifacts. We observe that the performance of IR models
varies when applied to different artifact types. We find that, in general, the
context-aware models achieve better performance on textual artifacts. In
contrast, simple keyword-based bag-of-words models perform better on code
artifacts. On the other hand, the probabilistic ranking model BM25 performs
better on a mixture of text and code artifacts.
  We further investigate how such an informed choice of similarity measure
impacts the performance of SE tools. In particular, we analyze two previously
proposed tools for project recommendation and bug localization tasks, which
leverage diverse software artifacts, and observe that an informed choice of
similarity measure indeed leads to improved performance of the existing SE
tools.
