  Apps on mobile phones manipulate all sorts of data, including sensitive data,
leading to privacy-related concerns. Recent regulations like the European GDPR
provide rules for the processing of personal and sensitive data, like that no
such data may be leaked without the consent of the user.
  Researchers have proposed sophisticated approaches to track sensitive data
within mobile apps, all of which rely on specific lists of sensitive source and
sink API methods. The data flow analysis results greatly depend on these lists'
quality. Previous approaches either used incomplete hand-written lists that
quickly became outdated or relied on machine learning. The latter, however,
leads to numerous false positives, as we show.
  This paper introduces CoDoC, a tool that aims to revive the machine-learning
approach to precisely identify privacy-related source and sink API methods. In
contrast to previous approaches, CoDoC uses deep learning techniques and
combines the source code with the documentation of API methods. Firstly, we
propose novel definitions that clarify the concepts of sensitive source and
sink methods. Secondly, based on these definitions, we build a new ground truth
of Android methods representing sensitive source, sink, and neither (i.e., no
source or sink) methods that will be used to train our classifier.
  We evaluate CoDoC and show that, on our validation dataset, it achieves a
precision, recall, and F1 score of 91% in 10-fold cross-validation,
outperforming the state-of-the-art SuSi when used on the same dataset. However,
similarly to existing tools, we show that in the wild, i.e., with unseen data,
CoDoC performs poorly and generates many false positive results. Our findings,
together with time-tested results of previous approaches, suggest that
machine-learning models for abstract concepts such as privacy fail in practice
despite good lab results.
