The main goal of most static analyses is to prove the
absence of bugs
: if the analysis reports no alarms then the program will not exhibit any unwanted behaviours. For this reason, they are designed to over-approximate program behaviours and, consequently, they can report some
false
alarms. O’Hearn’s recent work on incorrectness has renewed the interest in the use of under-approximations for
bug finding
, because they only report
true
alarms. In principle, Abstract Interpretation techniques can handle under-approximations as well as over-approximations, but, in practice, few attempts were developed for the former, notwithstanding the much wider literature on the latter. In this paper we investigate the possibility of exploiting under-approximation abstract domains for bug-finding analyses. First we restrict to consider concrete powerset domains and highlight some intuitive asymmetries between over- and under-approximations. Then, we prove that the effectiveness of abstract domains defined by Under-approximation Galois connection is limited, because the analysis is likely to return trivial results whenever common transfer functions are encoded in the program. To this aim, we introduce the original concepts of
non-emptying functions
and
highly surjective function family
and we prove the nonexistence of abstract domains able to under-approximate such functions in a non-trivial way. We show many examples of finite and infinite numerical domains, as well as other generic domains. In all such cases, we prove the impossibility of performing nontrivial analyses via under-approximating Galois connections.