In particular, the obtained medians were 6.55 GB and 13.77 GB, respectively.
As a matter of fact, the third quartile from instance based (10.7 GB) is also
lower than the median from object sensitive (13.77 GB). Additionally, the
third quartile for object sensitive (20.18 GB) was almost two times the third
quartile for instance based (10.7 GB). Except for one outlier, instance based
sdg consumed up to 22 GB. In contrast, there are 18 occurrences where using
object sensitive sdg more than 22 GB was necessary, 13 occurrences where more
than 40 GB of memory was necessary, and 4 occurrences where more than 60 GB
was necessary.

##### Costs of instance based considering extra scenarios that sdg creation
fails with other configurations

Additionally, we extend the initial sample of 77 scenarios, with 23 other
scenarios where joana was able to create the sdg using our final configuration
(instance based without exceptions), but it failed to create one using an
object sensitive pointer analysis. Thus, this sample includes 100 scenarios
where it was possible to create a sdg using our final configuration. We hope,
with this extended sample, to bring a more accurate idea of cost of sdg
creation, by also considering potentially heavier cases that joana fails to
create the sdg using other configurations.

We observed that even when also considering cases that fail using other
configurations, joana is generally able to compute the sdg for our final
configuration in a matter of minutes. More precisely, the time of computation
of the sdg from the extended sample was at most 1 minute and 5 seconds for 50%
of the cases, at most 8 minutes and 35 seconds for 75% of the cases, and at
most 1 hour for 90%. To conclude, 98% of the cases took at most 4 hours.

Including heavier cases had some impact in the overall amount of memory
consumed. However, most of the cases may still be computed using less than 30
GB of memory. In particular, 50% of the cases used at most 8.2 GB, 75% of the
cases used at most 16.1 GB, and 90% of the cases used at most 29 GB of memory.

####  3.3.2. Manual Analysis

Using the automatic analysis, we established a sdg configuration to run joana
(RQ1) and then identified that it was common to exist direct information flow
between merge scenarios contributions (RQ2). However, as we intend to use the
existence of information flow to estimate interference, we still need to
understand in which situations there is information flow and no interference
(RQ3) to be able to determine if the occurrence of information flow may help
to identify interference. In other words, to conclude our study we conducted
this manual analysis to understand if a considerable number of scenarios with
information flow indicates a considerable number of scenarios with
interference. Furthermore, we also investigate in which situations the
existence of information flow does not represent the existence of an
interference.

#### RQ3 - In which situations there is information flow and no interference?

The results from the manual analysis are accessible from Section 6 and Fig. 11
gives an overview of the obtained results . Furthermore, it is important to
mention in Fig. 11 the category with no interference has one extra occurrence
compared to the number of methods (21 occurrences of no interference in 20
methods) due to a method (from revision 4a97b-ebb08 from tachyon) where left
did a refactoring while right did a change only on formatting. More precisely,
for this case, individually, both the refactoring and change on formatting
would already be enough for defining that there is no interference. However,
as both happen, for this case, we consider two occurrences for a single
method, one of refactoring and one of formatting.

Figure 11. Manual analysis overview

As it may be noticed in Fig. 11, from the 35 analysed methods (from 35
different scenarios) we considered that there was interference only in 15
(42.86%). From the 15 cases with interference, 14 had direct interference and
one had an indirect one. From these, some were already discussed in this work.
In particular, the example used in Fig. 2 was inspired by a case of direct
information flow from the manual analysis (revision aa201-4585d from
opentripplanner). Similarly, the case of indirect interference (revision
e064b-38e20 from jsoup) inspired the example from Fig. 3 (discussed in Section
2.3).

Among the cases with no interference, but with information flow reported by
joana, we identified three major groups of causes for having information flow
and no interference: those related to limitations of our annotation strategy,
those related to the nature of the changes, and those related to the
conservativeness of the flows.

##### Annotation limitations

Regarding annotation limitations, we identified two different causes: no
actual change on instruction level, and annotating an entire line while only
part of it was changed. Both involve information flow that should not be
detected because we annotated instructions that should not be annotated.

First, consider the cases where there was no actual change on the instruction
level. Identified flows involving unchanged instructions are not relevant for
estimating interference because, if an instruction was not changed during a
merge scenario, then there is no interference involving this instruction (as
the instruction in question is the same for the revisions involved in the
merge scenario - base, left and right).

Two causes for an unchanged instruction being marked as contribution were
observed: changes only on formatting and changes on generics.222222Java
generics - https://docs.oracle.com/javase/tutorial/java/generics/why.html More
precisely, changes only on a line’s formatting (spacing for example) lead us
to identify the line in question as changed and mark the instructions related
to the line, but these instructions did not actually change; as a result there
is no actual contribution with semantic effect that can cause interference.
Similarly, in Java 5, changes only on generics (only
inserting/changing/removing generics on existing code) do not alter the
program at the bytecode level (instruction level), so we end up marking
unchanged instructions that will not lead to interference.

⬇

1ClientShell(ClientConfig clientConfig) {

2 //…

3 adminClient = new AdminClient(url, new ClientConfig());

4

5 //…

6}

(a) Base

⬇

1ClientShell(ClientConfig clientConfig) {

2 //…

3 adminClient = new AdminClient(url, clientConfig); //left

4

5 //…

6 strategy = createStrategy(adminClient.getUrl()); //right

7}

(b) Integrated

Figure 12. Example of change only on parameter of existing instantiation

With respect to the second cause for annotation problems, the actual problem
was a change on a parameter of an existing method call. To illustrate,
consider Fig. 12, which is inspired in the original scenario from our manual
analysis (revision 24c82-64c90 from voldemort). In this example, left changed
only the second parameter of the instantiation of _AdminClient_ (changed from
new ClientConfig() in line 3 from Fig. 12(a) to _clientConfig_ in line 3 from
Fig. 12(b)) and right inserted a line (line 6 from Fig. 12(b)). Although left
modified only a parameter from the instantiation, our annotation strategy
annotates the complete instantiation; as a result joana detects information
flow as the first parameter from the instantiation is used by right (in line 6
from Fig. 12(b)). In contrast, if we annotated correctly (only the second
parameter from the instantiation), then no information flow would be detected,
as right’s change does not depend on the second parameter.

##### Conservativeness of flows

⬇

1BasicSimianContext(Properties properties) {

2 for(Entry<Object, Object> prop : properties.entrySet()) { //left

3 Object key = prop.getKey(); //left

4 Object value = prop.getValue(); //left

5 LOG.info(String.format(”%s␣=␣%s”, key, value)); //left

6 this.config = new BasicConfiguration(properties); //left

7

8 this.account = config.getStr(”simian.client.accountKey”);

9 this.user = config.getStr(”simian.client.user”); //right

10 this.password = config.getStr(”simian.client.password”); //right

11 //…

12}

Figure 13. Example of harmless conservative flow for estimating interference

Furthermore, there were also situations where interference and information
flow differed due to the conservativeness of the flows identified by joana.
More precisely, as a security tool joana may be too conservative leading to
false positives of information flow, or situations where the identified flows
are useless to our context of estimating interference. These cases are
classified as _JOANA FP_ (from joana False Positives) and _harmless_ ,
respectively. In particular, cases classified as _JOANA FP_ correspond, in our
opinion, to false positives of information flow. To be more specific, joana
detects information flow for these cases (without exceptions and with an
_instance based_ pointer analysis), but we consider that there is no actual
information flow. Additionally, for cases classified as _harmless_ flow, there
is an actual flow but the flow is considered irrelevant for estimating
interference.

For example, in Fig. 13 we show a situation (inspired on revision 24b39-b9e7b
from SimianArmy) where the flows identified by joana are _harmless_ flows for
estimating interference. More specifically, left (lines 2 to 6) includes a for
to iterate through all the properties and for each property logs the key and
value from the respective property, while right (line 10 and 11) gets the
value for two specific properties (_user_ and _password_). For this example,
joana detects flow from lines 10 and 11) to lines 3 to 5) as the properties
_user_ (line 10) and _password_ (line 11) are also logged in line 5. From a
security context the identified flows are relevant as sensitive information
(such as the password from line 11) is being logged in line 5 and hence may
leak threatening confidentiality. In contrast, for our context of estimating
interference the identified flows are not relevant as both left and right are
reading from the same properties, but are not modifying; as a result, this way
they can not interfere with each other.

##### Nature of changes

In contrast, there are cases with relevant information flow between the
contributions, but due to the nature of changes there is no interference. More
precisely, for cases in this category, after understanding the actual
contributions made by left and right (and their scope) we observed that,
although there is a relevant information flow between the contributions, there
is no interference. Cases in this situation may occur for a number of reasons
such as when one of the contributions is actually a refactoring. For those
cases, as a refactoring does not change program behaviour (Fowler and Beck,
1999), there is no interference.

Furthermore, there are other situations where due to the nature of changes
there is no interference. More precisely, we identified cases of harmless code
_change_ , _insertion_ and _move_ (representing harmless situations of
modifying existing code, inserting new code and just moving the position of
existing code, respectively). Fig. 14 illustrates a situation of harmless code
change (inspired on revision beaab-45462 from hector). In particular, Figs.
14(a) and 14(b) show the evolution from class _HSaslThriftClient_ on this
merge scenario, while Fig. 14(c) details the code from class _TFrameTransport_
which is instantiated from _HsalThriftClient_ (line 8 from Fig. 14(a) and 12
from Fig. 14(b)). In this example, there is information flow from left (line 4
from Fig. 14(b)) to right (line 7 from Fig. 14(b)) because left affects the
field _transport_ which is used by right. Furthermore, the identified flow is
relevant because left’s modification determines the value of _transport_.
Nevertheless, if we investigate the nature of the changes, we will notice that
although left affects _transport_ , right modification does not involve
_transport_ and as a result they do not interfere.

’

⬇

1class HSaslThriftClient {

2 TTransport transport;

3 public HSaslThriftClient open() {

4 transport = oldTranspCalc(socket,service,client);

5

6 //…

7 if(host.getUseTFramedTransport()) {

8 transport = new TFramedTransport(transport);

9 }

10 return this;

11 }

12}

(a) HSaslThriftClient base

⬇

1class HSaslThriftClient {

2 TTransport transport;

3 public HSaslThriftClient open() {

4 transport = newTransportCalc(socket, service); //left

5

6 //…

7 transport = wrapTFrame(transport); //right

8 return this;

9 }

10 protected TTransport wrapTFrame(TTransport transp) { //right

11 if (host.getUseTFramedTransport()) { //right

12 return new TFramedTransport(transp,host.maxLen()); //right

13 } else { //right

14 return transp; //right

15 } //right

16 } //right

17}

(b) HSaslThriftClient integrated

⬇

1class TFramedTransport extends TTransport{

2 static final int DEFAULT_MAX_LENGTH = 0x7FFFFFFF;

3 int maxLength; TTransport transport;

4 public TFramedTransport(TTransport transp) {

5 this.transport = transp;

6 this.maxLength = TFramedTransport.DEFAULT_MAX_LENGTH;

7 }

8 public TFramedTransport(TTransport transp, int maxLen) {

9 this.transport = transp;

10 this.maxLength = maxLen;

11 }

12}

(c) TFramedTransport

Figure 14. Example of harmless code change

More precisely, right’s modification was very close to a refactoring, it
involved calling a generic method (_wrapTFrame_) to do a very similar job
compared to what was being done on base (lines 7 and 10-16 from Fig. 14(b) and
7-9 from Fig. 14(a)). To be more specific, if the condition
host.getUseTFramedTransport() used by both (line 7 from Fig. 14(a) and 11 from
Fig. 14(b)) evaluates to false then there is no difference in behaviour for
this change as in both cases the field _transport_ will stay unchanged. In
other words, in Fig. 14(a) line 8 will not be executed, staying with the
original value, and in Fig. 14(b) line 14 will be returned with the original
value of _transport_. On the other hand, if host.getUseTFramedTransport()
evaluates to true then there is a small difference in behaviour caused by
right’s change, but this difference does not involve _transport_. As it may be
noticed, for this case, the signatures of _TFramedTransport_ invoked in Fig.
14(a) and Fig. 14(b) are different (line 8 from Fig. 14(a) and 12 from Fig.
14(b)). The former has only _transport_ as parameter while the latter has also
an extra value. If we observe Fig. 14(c) and compare the constructors used in
the base and integrated revisions (lines 4-7 and 8-11 from Fig. 14(c),
respectively) it is possible to notice that the difference is actually for the
field _maxLength_ (lines 6 and 10 from Fig. 14(c), respectively), while
_transport_ is the same in both cases (lines 5 and 9 from Fig. 14(c),
respectively). Hence, although left affects _transport_ , right’s change has
no difference on behaviour with respect to _transport_ and as a result there
is no interference.

#### Discussion

In summary, as we discussed, a considerable number of methods with information
flow and no interference were found: 20 from 35 or 57.14%. Nevertheless, from
the 21 occurrences of information flow and no interference among these 20
methods, a third ($7/21=33.33\%$) were due to annotation limitations. Hence, a
more advanced annotation system with knowledge of the difference in the
instruction level (not only in the source code level) could solve this type of
problem by identifying and discarding cases where one of the contributions
contain no difference in the instruction level (6 occurrences) and also by
identifying the actual changes made in more detail in order to annotate only
parts of statements (1 occurrence) instead of only the full statements
(including unchanged parts).

Furthermore, as joana has a security context it is conservative and that was
reflected in almost a quarter ($5/21=23.8\%$) of the cases with information
flow and no interference. A different, less conservative ifc tool, could be
used to avoid those cases. Nevertheless, it is important to mention that the
use of such a tool would need to be carefully evaluated, as the number of
false negatives would potentially increase.

Lastly, for around 43% ($9/21=42.86\%$) of the cases with no interference the
difference of conclusion involved the actual nature of the changes. Solving
these cases is harder as the problem with them is actually related to using
sdg as structure to represent the program semantics. In particular, although a
sdg represents the information flow through a program, it still largely
depends on the syntactic components to represent its nodes. As a result almost
any syntactical change is seen as a difference even when there is no semantic
effect (Jackson and Ladd, 1994). As a matter of fact, refactoring was the type
of change with more occurrences in the nature of changes category (4 from 9
occurrences). In fact, we expect approaches that use sdg to represent the
program semantics to present similar issues and consequently a different
approach would be necessary to solve this type of issue. In fact, Yang,
Horwitz and Reps (Yang et al., 1992) proposed an extension of the original
work from Horwitz, Prins and Reps (Horwitz et al., 1989) that specifically
looks for semantics-preserving transformations. In particular, this work helps
to avoid the erroneous identification of cases of refactoring, but not the
other issues related to the nature of changes. Similarly, a tool such as
SafeRefactor (Soares et al., 2010) could be used to identify if a change
preserves behaviour. In that case, ideally, we could eliminate the problems of
erroneous identifications due to refactorings, as we could avoid marking
changes that were only a refactoring (4 / 21 = 19.05%), but the other issues
related to the nature of changes would still occur.

Finally, we conclude that information flow between contributions may be used
to estimate interference. More specifically, we classified 42.86% of the
scenarios with information flow between contributions to be also interference.
Furthermore, although we obtained a considerable amount of false positives of
information flow as an estimator of interference (57.14%), as just discussed,
improvements to our strategy would potentially solve most of the false
positives. In particular, a more advanced annotation system could solve
annotation problems (33.33% of the false positives). Additionally, using a
less conservative ifc tool could help to avoid cases of conservative flows
(23.8% of the false positives). Finally, a tool such as SafeRefactor could be
used to check if changes are only refactorings (19.05% of the false
positives). Therefore, there is room for solving around three quarters
($33.33\%+19.05\%+23.8\%=76.18\%$) of the obtained false positives.

###  3.4. Threats to validity

Our evaluation naturally leaves open a set of potential threats to validity,
which we explain in this section.

####  3.4.1. Construct

As previously discussed in Section 2.3 we use sdg without concurrency which is
a threat because we may miss some cases of valid information flow due to this
decision. In particular, as we do not consider concurrency, our analysis is
incomplete. Nevertheless, as previously argued, we took this decision for
performance reasons as including concurrency is computationally expensive and
could significantly reduce the number of analysed cases.

In addition, we use the notion of interference with the goal of predicting
dynamic semantic conflicts, but we do not evaluate the correspondence between
interference and dynamic semantic conflicts. In particular, our evaluation is
restricted to comparing information flow and interference, but our final goal
is detecting dynamic semantic conflicts. As we argue in Section 2.2, we focus
in interference because defining if a dynamic semantic conflict exists
involves understanding the expected behaviour of a system before and after
integration of contributions from different developers and such behavioural
specifications are often hard to capture, formalize and reason about.

Additionally, one could argue that using an open-world perspective of
interference may lead to the identification of some irrelevant interference in
practice. However, as we explain in Section 2.2.3, a closed-world perspective
requires considering the complete calling context of the system being
evaluated and as a result is both computationally expensive and time-consuming
to do manually. Thus, we use an open-world perspective even though it has the
potential of flagging some cases that are not relevant in practice. In
particular, from the 15 cases with interference from the manual analysis, for
at least 4 the result could potentially diverge using a closed-world
perspective.

Moreover, we focus on same-method interference by calculating same-method
information flow. This is a threat to our work as this is only a subset of
interference (and information flow respectively). In particular, our evidence
of frequency of information flow between contributions is actually evidence of
frequency of information flow between same-method contributions, which may be
different from information flow in general. Similarly, all of our data and
derived conclusions are restricted to same-method information flow (and same-
method interference) which is different from information flow (and
interference) in general. Nevertheless, as discussed in Section 2.2.2, we
decided to reduce the scope of interference (and consequently of information
flow) because we needed a place to start and considered the problem too big to
be entirely dealt with from the beginning.

####  3.4.2. Internal

Regarding the question of which configuration should be used (RQ1), a
potential threat to internal validity is the fact that we changed two aspects
of the created sdg during the evaluation. More precisely, we initiated the
study in iteration 1 of our automatic analysis without considering
dependencies and using stubs for the jre 1.4. In the start of iteration 2, we
started to consider the dependencies and in the middle of this iteration we
updated the stubs version to jre 1.5. Although we did not vary those aspects
(dependencies and stubs version) between different configurations (of pointer
analysis and exceptions use) of a merge scenario, we varied them between
different scenarios and as a result one could argue that this could affect our
results. We argue this threat is only related to the selection of our final
configuration (RQ1) because in iteration 4 we re-executed the scenarios with
the final option (considering dependencies and stubs for jre 1.5) for our
final configuration (instance based without exceptions).

Nevertheless, our decision to which configuration should be used (instance
based without exceptions) was still threatened by the inclusion of
dependencies and update of stubs version during the study. As a result, we
decided to rerun the necessary scenarios with the final option considering
dependencies and with stubs to jre 1.5. To remove the threat related to the
exceptions use (RQ1A), we rerun scenarios from iteration 1 (as this iteration
was the one responsible for this decision) now passing dependencies and stubs
for jre 1.5 for _instance based sdg without exceptions_ and also for _instance
based sdg with exceptions_. After this re-execution, we obtained frequencies
of information flow of 68.42% for the former and 89.47% for the latter, still
maintaining a considerable difference of extra scenarios in which only the
configuration with exceptions contained information flow (was 25% and now was
around 21%).

In contrast, to completely remove the threat associated to the selection of
the pointer analysis we would need to re-execute the scenarios for all the
options of pointer analysis available (eight). Therefore, we decided to only
mitigate this threat by only executing an extra pointer analysis that was only
discarded in our final decision in iteration 3 and which we concluded that was
more precise but also heavier. More precisely, we rerun scenarios for our
selected pointer analysis (_instance based_ sdg) and also for _object
sensitive_ , as this was the last pointer analysis to be discarded. We re-
execute the same 56 scenarios re-executed in Section 3.3. After the re-
execution, the difference which we observed between number of creations and
precision was actually increased, reinforcing our conclusion to use _instance
based_ over _object sensitive_. More precisely, before the re-execution
_instance based_ were less precise in about 7% of the scenarios, but
successfully created for around 8% more scenarios. In contrast, after the re-
execution the difference in precision was reduced to 3.7% (62.96 - 59.26 =
3.7), while the difference of creations increased to 13.37% (70.70 - 57.33 =
13.37). This occurred, because including dependencies and updating the jre
stubs version tend to increase the sdg size and as a result the number of
scenarios with sdg too heavy to be created raised. In particular, from the 56
re-executed scenarios, for 7 extra scenarios both options were too heavy to be
created and for other 8 only the _object sensitive_ analysis was too heavy.

Furthermore, as discussed in Section 2.3.1 we miss contributions involving
removed lines or identical lines. This is a threat to our work as we may
analyse scenarios that have these types of contributions if they also have the
other types of contributions. In particular, our analysis may erroneously
classify some scenarios, that would be classified as with information flow if
the removed lines have been taken in consideration, as without information
flow. More precisely, there may be interference involved in those types of
editions which we are not currently able to detect. As previously explained,
with respect to removed lines the issue is directly related to our decision of
using a single revision (integrated) to represent the contributions from the
merge scenario and in particular of using a single sdg. Therefore, we miss
those cases with the goal of improving performance and obtaining a practical
approach. Similarly, the issue with identical lines is related to the fact
that as we check for information flow in the integrated revision between lines
from left and lines from right, we cannot annotate a specific line in the
integrated revision as arising from both left and right at the same time.

Additionally, as discussed in Section 3.3 there are significant reductions
associated to our sample, specially for considering frequency of information
flow. More specifically, from the 157 scenarios (from 52 projects) which we
executed joana, the sdg was created for our final configuration in 111
scenarios (from 47 projects) and only in 71 scenarios (from 36 projects) the
sdg was created and there were instructions to annotate from both left and
right. Nevertheless, as previously detailed in Fig. 9 of Section 3.3, some of
the cases without annotated instructions are actually due to limitations of
our annotation strategy such as cases where the editions are inside inner
structures (anonymous classes for example). So, since we only consider cases
with instructions annotated from both left and right to calculate information
flow frequency, we miss cases containing only this type of contribution,
reducing the amount of analysed data. Furthermore, this may lead us to analyse
scenarios considering only part of their actual contributions. More
specifically, if left does an edition that we are not able to identify (such
as an edition inside an anonymous class), but also another edition that we are
able to identify, we annotate the second and miss the first. Hence, we may
analyse scenarios with only part of their contributions, which may lead us to
erroneously classify scenarios with valid information flow as without
information flow.

Furthermore, there are threats involving both our automatic and manual
analyses associated to the methods we selected to analyse. More precisely,
9.79% (14 / 143 = 9.79) of the methods which the sdg was successfully created
for our selected configuration (in our automatic analysis), are analysed by
more than one different scenario, which may slightly bias our data with the
characteristics of those methods. In other words, for those 14 methods, the
predictor of edition on the same-method occurred in different merge scenarios
and as a result we analysed small variations of these methods. Additionally,
in our manual analysis there is only one case of repeated method (from the 35
analysed methods).

In addition, 8.39% (11 / 143) of the methods from the automatic analysis,
where an _instance based sdg without exceptions_ was created, were actually
methods from test code. In particular, for those cases, a method from test
code was edited by both contributions flagging our predictor of editions on
the same method. Since we consider test code less relevant than the main
source code of a program, we did not analyse methods from test code in our
manual analysis.

Lastly, we observed a considerable amount of constructors within our sample.
In particular, 13.99% (20 / 143) of the analysed methods from the automatic
analysis, where an _instance based sdg without exceptions_ was created, were
actually constructors. In our manual analysis this frequency is even higher,
28.57% (10 / 35) of the analysed methods were actually constructors.

Finally, one could argue that using only a manual analysis to understand the
limitations of information flow to estimate interference is also a threat,
specially because a manual analysis is error-prone. Nevertheless, we argue
that such analysis was necessary to properly understand the limitations of
using information flow to estimate interference. Furthermore, most of the
cases were reviewed by a second person. In particular, only examples with
clear repetitions of categories previously discussed in other examples, were
not reviewed.

####  3.4.3. External

Our evaluation involved open-source Java projects hosted on GitHub with build
scripts from _Ant_ , _Gradle_ or _Maven_. Thus, generalization to other
languages and types of projects is limited, and further studies are necessary
to confirm our findings. In particular, joana only works for Java, so a
different tool would be necessary for analysing different programming
languages. However, it is not hard to believe that some of our findings may be
true for other types of projects. For instance, we also expect existence of
information flow between contributions for other programming languages.

Furthermore, one could argue that our sample size is limited as it involved
only 157 scenarios. We agree that further studies, with larger samples, are
indeed necessary. However, there is a series of limiting factors for
increasing sample size. For instance, we are restricted to integrated
revisions, with no merge conflicts identified by FSTMerge, that are
successfully compiled. Moreover, even with all decisions we made to improve
performance, joana may take hours to create a sdg for a revision or as
previously shown may not even be able to successfully create it. As a matter
of fact, this factor is enlarged by the fact that to select a configuration of
sdg to be used we run multiple configurations for each scenario. For instance,
for 83 scenarios we executed 16 different configurations. Additionally,
although the number of scenarios may be considered small, we tried to provide
a degree of diversity by selecting those scenarios from 52 different projects
with different sizes and from different domains.

##  4\. Related Work

Previous work discuss and provide evidence about collaborative development
issues. For example, Mens (Mens, 2002) provides a comprehensive overview of
the field of software-merge by comparing different techniques and discussing
the advantages and limitations from each. Furthermore, in previous sections we
have already mentioned studies with evidence of the occurrence of conflicts
(Kasi and Sarma, 2013; Brun et al., 2013). Specifically, these studies
analysed merge conflicts frequency (using a textual merge tool) and also
static semantic conflicts (measuring build failures) and dynamic semantic
conflicts (using existing tests) frequency. In particular, with respect to
dynamic semantic conflicts these studies used the existing tests and found
evidence of this type of conflict ranging from 3% to 28% (Kasi and Sarma,
2013) and from 6% to 35% (Brun et al., 2013). It is important to mention that
both studies analysed only a small list of projects, containing four and nine
projects, respectively; for semantic conflicts the numbers are actually four
and three. In addition, as previously mentioned, using existing tests to
detect dynamic semantic conflicts is dependent on the test suite quality and
coverage. Additionally, as the program evolves over time, tests need to be
updated regularly to keep a good coverage of the source code. Furthermore,
similarly to our strategy, we argue that tests actually detect interference,
not dynamic semantic conflicts directly. More specifically, tests may also
detect desired interference (as discussed in Section 2.2.1). In addition, both
studies may have imprecisions due to the fact that they only consider test
failures in the integrated revision. To be more precise, a test failure in the
integrated revision may be due to an interference, but also due to a previous
existing failure. Finally, it is important to mention that using existing
tests and running our information flow verification may be seen as
complementary strategies to detect interference (and dynamic semantic
conflicts).

Regarding semantic merge, Horwitz, Prins and Reps (Horwitz et al., 1989) were
the first to propose an algorithm for merging program versions without
semantic conflicts for a very simple assignment-based programming language.
This original work was later extended to handle procedure calls (Binkley et
al., 1995) and to identify semantics-preserving transformations (Yang et al.,
1992). As previously mentioned, compared to our work, in theory, those
approaches are more complete, as they detect more interference. However, that
was a deliberate decision from our part, as those works are too
computationally expensive to be used in practice, even for medium sized
systems. As a matter of fact, as previously mentioned, to our knowledge, there
is no semantic merge tool of such kind available, although some existent
syntactic tools claim to be semantic. Thus, while these tools deal with four
full program sdg, we create a single sdg and just for a few methods of the
integrated revision (the ones edited by both contributions). Thus, with the
goal of improving performance and making our approach practical, we miss some
valid cases of interference, compromising soundness. Furthermore, as
previously mentioned in Section 3.3, we expect such approaches to present
similar issues as ours with respect to interference falses positives regarding
the nature of changes.

Other approaches (Jackson and Ladd, 1994; Shao et al., 2007) have taken a
similar path as ours towards a more lightweight and practical approach that
may miss some interference cases.

For instance, sca (Shao et al., 2007) does def-use data dependency analysis
intraprocedurally and uses slicing techniques to identify structures impacted
by a change. This work may be seen as more lightweight than ours as we use
interprocedural analysis and also take in consideration the control flow of a
program. With respect to false positives, as in our analysis, the evaluation
of sca showed a considerable number of false positives due to refactorings .
Specifically, 8 of the 19 cases of false positives found by them were
classified as variable or type renaming. That conforms to our findings where
the nature of changes were the first reason for false positives, although
their rate of false positives due to refactorings was higher than ours (8 from
19 versus 4 from 21). However, they do not mention other problems, beyond
refactorings, in the nature of changes category. In addition, sca also
obtained false positives due to no actual changes (named as false
identification of changes in their work). More specifically, 3 of the 19 false
positives encountered by them were in this category (versus 6 from 21 in
ours). Additionally, they obtain a type of false positive discussed by us, but
not measured in our evaluation. More precisely, they found that 5 of their 19
false positives were due to intentional modifications to fix faults. In
particular, this is closely related to our discussion (from Section 2.2.1) of
_desired_ and _undesired_ interference. To be more precise, these false
positives correspond to false positives due to _desired_ interference. Lastly,
still regarding false positives, although they also consider dynamic semantic
conflicts false positives (and we consider only interference false positives),
this study obtained similar findings to ours. Moreover, their false positive
rate was similar to ours. Particularly, they obtained 19 false positives from
29 cases detected. If we discard the five false positives of intentional
modifications (which we do not measure), that would result in 14 false
positives from 24 cases, and, result in a false positive rate of 58.33%
($14/24=58.33\%$). Indeed, this is very close to our own false positive rate
(57.14%). Finally, the evaluation of sca also brings evidence related to the
consequences of their decision of not considering control-flow. To be more
specific, 8 of their 17 false negatives were due to control-flow dependencies,
which could potentially be identified by our strategy. Therefore, compared to
ours, this study uses a more lightweight approach, which tends to increase
their number of false negatives compared to ours. Furthermore, despite the
differences between the approaches, the false positive rate obtained by both
studies was very similar. Nonetheless, as different samples were used, and as
both samples are of limited size, the comparison of the false positives rate
is limited.

Finally, Böhme, Oliveira and Roychoudhury (Böhme et al., 2013) argue that some
errors introduced in software evolution can only be identified by stressing
the interaction between the introduced changes; these errors are called change
interaction errors by them. That is, they argue that some errors are not
identifiable by only testing the changes in isolation. Although in a testing
context, this idea has some similarities with our idea of checking for the
interaction between different contributions from a merge scenario. In
particular, in our case, we check for information flow between left and right
to try to detect these interactions between left and right. However, it is
important to mention that the work in question focuses on identifying change
interaction errors in simple evolution scenarios, not in merge scenarios.
Nevertheless, adapting this work to specifically check for change interaction
errors between contributions from a merge scenario seems to be a promising
idea.

##  5\. Conclusion

In this work, we propose a strategy for checking information flow between
contributions of a merge scenario, and use this information as an estimator of
interference between those contributions. Our final goal is supporting dynamic
semantic conflicts detection. However, as deciding if a dynamic semantic
conflict exists involves understanding of the expected behaviour of a system,
and because such behavioural specifications are often hard to capture,
formalize and reason about, we instead try to detect interference. In
addition, we restrict our scope to interference caused by same-method
contributions.

Given joana has different options of sdg, first, we focused in establishing
the most appropriate option to our context. We focused on two aspects: use of
exceptions and pointer analysis. We conducted an automatic analysis (divided
in iterations) comparing the different options to establish the most
appropriate option. After iteration 1, we decided to use sdg without
exceptions, as joana tends to find too many false positives using sdg with
exceptions. Furthermore, after iteration 3, we decided to use _instance based_
as our pointer analysis, as this option allows us to analyse more cases with
little loss in precision. However, for those who wish more precision, we
recommend using an _object sensitive_ analysis (or _n1 object sensitive_).

Nonetheless, it is important to notice that object sensitive sdg are not only
successfully created for less scenarios, but also tend to consume more memory
and take more time to be computed than instance based sdg.

Besides establishing a sdg option to use (instance based without exceptions),
our automatic analysis also helped to answer if information flow between same-
method contributions actually occurs. We do that by calculating the frequency
of direct information flow between same-method contributions in scenarios that
were successfully merged. Since we consider that scenarios with information
flow between contributions are potential cases of interference, the higher the
frequency, the higher the number of scenarios that are identified by our
strategy. We found, in our sample, direct information flow between the
contributions in around 64% of the analysed scenarios. Therefore, this
frequency indicates a considerable number of potential candidates of
interference that would be identified by our strategy.

However, it is important to mention that our strategy has limited use when the
sdg fails to be created. More specifically, we are only able to look for
information flow for a specific scenario if a sdg is successfully created for
this scenario. In particular, using our selected configuration of sdg, we were
able to successfully create the sdg for around 71% of the scenarios. As
previously discussed in Section 3.3 and detailed in Fig. 8, we found two main
reasons for a failure on sdg creation: failure to locate a class on the class
hierarchy and the sdg in question is too big. In our evaluation from iteration
1, from the 17 cases where our selected configuration failed to create the
sdg, 10 cases were related to the first reason and 7 to the second.

The failures related to the first reason, failures to locate a class in the
class hierarchy, are related to technical problems and may be solved by also
including the missing class. On the other hand, if a sdg fails to be created
because is too big, then, the only remaining solution is to try to reduce the
size of the sdg in question. There are different possible options to do that.
One possibility, is to do only intraprocedural analysis (instead of
interprocedural). Another one, is to not consider external and/or native
dependencies. All these solutions would result in more incomplete analysis
compared to the original one, but with potential to at least analyse part of
these cases where the sdg with the original configuration fails to be created.

Lastly, we conducted a manual analysis to understand if the existence of
information flow is a good estimator for the existence of interference and to
find out characteristics of situations that have information flow but no
interference. We concluded that existence of information flow between
contributions is related to existence of interference and we expect part of
the detected interference to be actually dynamic semantic conflicts. More
precisely, we classified 42.86% of the scenarios with information flow between
contributions to be also interference. However, as previously discussed, we
obtained a considerable number of false positives of interference (57.14%). We
found three major reasons for these false positives: cases related to the
nature of changes (42.86% of the false positives), cases related to
limitations of our annotation strategy (33.33% of the false positives) and
cases related to conservativeness of the flows identified by joana (23.8% of
the false positives).

Nevertheless, although we obtained a considerable amount of false positives of
information flow as an estimator of interference, improvements to our strategy
would potentially solve most of the false positives. In particular, a more
advanced annotation system could solve annotation problems (33.33% of the
false positives). Additionally, using a less conservative ifc tool could help
to avoid (at least part of) cases of conservative flows (23.8% of the false
positives), but with the risk of increasing false negatives. Finally, a tool
such as SafeRefactor could be used to check if changes are simply refactorings
(19.05% of the false positives), avoiding part of the problems related to the
nature of changes. Therefore, there is room for solving, potentially with
drawbacks in 23.8%, around three quarters ($33.33\%+19.05\%+23.8\%=76.18\%$)
of the obtained false positives.

Furthermore, as previously discussed in Section 3, we do not cover
interference true/false negatives in our manual analysis. More specifically,
we are aware that our strategy may miss valid cases of interference, however,
we are interested in first understanding if information flow existence
indicates interference existence.

In practice, we envisage our strategy as a complementary verification in the
merge process. That is, for each merge scenario integrated with no conflicts,
our strategy could be automatically executed in a server to check for
information flow. After the verification was completed, an email would be sent
detailing if any information flow was identified between the contributions of
the scenario and if so, detailing the obtained flows. Such strategy involves
the use of a _timeout_ establishing the limit of time to try to create the sdg
(and consequently to receive the email). We used a timeout of 24 hours in our
study, but this information could be configurable and changed depending of the
context. In fact, we observed, in a sample of 100 scenarios, that only in 2
scenarios the sdg was successfully created after 4 hours using our final
configuration. Hence, one could decide to use this timeout instead of 24
hours. As a matter of fact, using our final configuration, for most of the
scenarios the sdg was created in a matter of minutes. Similarly, the limit of
memory used could also be configurable. In our study, we used 120 GB as the
limit. Nevertheless, that could be tailored to fit the amount of available
memory. In particular, for our final configuration, we observed that around 20
GB would already cover most of the cases of successful creations from the 100
analysed scenarios.

To conclude, we see our strategy as complementary to the use of system tests
and code reviews to detect dynamic semantic conflicts. And, as an alternative
to semantic merging. Specifically, we expect to detect part of the
interference missed by a test-based strategy, but also miss some cases that
could be identified using tests. In particular, compared to using tests, our
strategy is generic in the sense that does not depend on the existence of
tests or on their quality and coverage to check for interference. In contrast,
a test suite needs constant maintenance to keep good coverage through software
evolution. Nevertheless, we do not expect a strategy using tests to present as
many issues with interference false positives as the proposed approach. More
precisely, if a specific test presents a different result before and after an
integration, in general, we expect it to be an interference. In contrast, as
already discussed, our strategy has a number of issues with interference false
positives. Additionally, our strategy has the limitation that it is not able
to analyse a scenario if the associated sdg is too heavy.

Similarly, we see our strategy as complementary to code review. In particular,
our strategy may help to guide code review by showing possible points of
interference when information flow is found. In summary, a flow between
contributions is a possible point of interference and thus it should be
closely investigated. Nonetheless, it is important to emphasize that, when our
strategy does not detect information flow between contributions, it does not
imply that there is no interference or dynamic semantic conflict. For
instance, as previously discussed, interference involving removed lines is not
identified by our strategy. Similarly, there is no information flow for cases
of overwriting (mentioned in Section 2.2.2), but they may generate an
interference. For example, imagine the situation discussed in Section 2.2.2,
where left changes the value of a variable on a point 1 (of the integrated
revision) used by a statement on point 3, while right modifies the value of
the same variable on a point 2 (between left modification from point 1 and the
statement from point 3). There is interference in such a situation because
right overwrites the value also modified by left affecting the value of the
variable on point 3. However, as right overwrites left, there is no
information flow from right to left, from left to right or from left and right
to a common point. In fact, the effect of integrating left and right is
actually “killing” the previously existing flow from point 1 to point 3 (on
left revision), so, right overwrites left with respect to point 3. Hence, with
respect to code review, our strategy may be useful to speed-up the process of
detection of dynamic semantic conflicts, and even to detect some conflicts
that could potentially pass unnoticed. Nevertheless, we provide no guarantees:
in addition to false positives, our strategy may also produce false negatives.

Finally, with respect to semantic merging, our strategy tends to have both
more false positives and negatives, specially the latter. However, to achieve
such accuracy, semantic merging tends to be too heavy to be used in practice.
Therefore, although we may have more false positives and negatives, our
approach focuses on improving performance towards obtaining a practical
approach. Specifically, we deal with a single sdg, versus four in the original
work of Horwitz, Prins and Reps (Horwitz et al., 1989). Furthermore, while
Horwitz, Prins and Reps create full program sdg, our sdg involves only methods
in the call graph of methods edited by both contributions. Thus, with the goal
of improving performance, our strategy is not sound.

##  6\. IMPORTANT LINKS

In this appendix we provide important links involving this work. In
particular, we provide links to our source code, and to plots and files
generated during our evaluation.

  * •

GitHub repository with source code and necessary scripts:
https://github.com/rsmbf/joana

  * •

Information from evaluation including resultant plots, files and details of
the data: https://drive.google.com/drive/folders/0B1QVNk49Q0GbOGszMnJtUVlRUnc

## References

  * (1)
  * Accioly (2017) Paola Accioly. 2017\.  _Understanding Collaboration Conflicts Characteristics_.  Ph. D. Dissertation. Universidade Federal de Pernambuco.
  * Accioly et al. (2017) Paola Accioly, Paulo Borba, and Guilherme Cavalcanti. 2017\.  Understanding semi-structured merge conflict characteristics in open-source Java projects.  _Empirical Software Engineering_ (21 Dec 2017).  https://doi.org/10.1007/s10664-017-9586-1
  * Apel et al. (2011) Sven Apel, Jörg Liebig, Benjamin Brandl, Christian Lengauer, and Christian Kästner. 2011\.  Semistructured merge: rethinking merge in revision control systems.  _Proceedings of the 19th ACM SIGSOFT symposium and the 13th European conference on Foundations of software engineering_ (2011), 190–200.
  * Binkley et al. (1995) David Binkley, Susan Horwitz, and Thomas Reps. 1995\.  Program integration for languages with procedure calls.  _ACM Transactions on Software Engineering and Methodology (TOSEM)_ 4, 1 (1995), 3–35.
  * Böhme et al. (2013) Marcel Böhme, Bruno C d S Oliveira, and Abhik Roychoudhury. 2013\.  Regression tests to expose change interaction errors.  _Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering_ (2013), 334–344.
  * Brun et al. (2013) Yuriy Brun, Reid Holmes, Michael D Ernst, and David Notkin. 2013\.  Early detection of collaboration conflicts and risks.  _IEEE Transactions on Software Engineering_ 39, 10 (2013), 1358–1375.
  * CAVALCANTI (2016) Guilherme José Carvalho CAVALCANTI. 2016\.  Comparing integration effort and correctness of Different merge approaches in version control systems.  _Master’s Dissertation_ (2016).
  * Fowler and Beck (1999) Martin Fowler and Kent Beck. 1999.  _Refactoring: improving the design of existing code_.  Addison-Wesley Professional.
  * Goguen and Meseguer (1982) Joseph A Goguen and José Meseguer. 1982.  Security policies and security models.  _IEEE Symposium on Security and Privacy_ 11 (1982), 77.
  * Graf et al. (2013) Jürgen Graf, Martin Hecker, and Martin Mohr. 2013\.  Using JOANA for Information Flow Control in Java Programs-A Practical Guide.  _Software Engineering (Workshops)_ 215 (2013), 123–138.
  * Graf et al. (2015) Jürgen Graf, Martin Hecker, Martin Mohr, and Gregor Snelting. 2015.  Checking applications using security APIs with JOANA.  _8th International Workshop on Analysis of Security APIs_ (2015).
  * Grove and Chambers (2001) David Grove and Craig Chambers. 2001.  A framework for call graph construction algorithms.  _ACM Transactions on Programming Languages and Systems (TOPLAS)_ 23, 6 (2001), 685–746.
  * Hammer and Snelting (2009) Christian Hammer and Gregor Snelting. 2009.  Flow-sensitive, context-sensitive, and object-sensitive information flow control based on program dependence graphs.  _International Journal of Information Security_ 8, 6 (2009), 399–422.
  * Horwitz et al. (1989) Susan Horwitz, Jan Prins, and Thomas Reps. 1989.  Integrating noninterfering versions of programs.  _ACM Transactions on Programming Languages and Systems (TOPLAS)_ 11, 3 (1989), 345–387.
  * Jackson and Ladd (1994) Daniel Jackson and David A Ladd. 1994.  Semantic Diff: A Tool for Summarizing the Effects of Modifications.  _ICSM_ 94 (1994), 243–252.
  * Kasi and Sarma (2013) Bakhtiar Khan Kasi and Abhijit Sarma. 2013.  Cassandra: Proactive conflict minimization through optimized task scheduling.  _35th International Conference on Software Engineering (ICSE)_ (2013), 732–741.
  * Mens (2002) Tom Mens. 2002.  A state-of-the-art survey on software merging.  _IEEE transactions on software engineering_ 28, 5 (2002), 449–462.
  * Nielson et al. (2005) Flemming Nielson, Hanne R Nielson, and Chris Hankin. 2005\.  _Principles of program analysis_.  Springer.
  * Ryder (1979) Barbara G Ryder. 1979\.  Constructing the call graph of a program.  _IEEE Transactions on Software Engineering_ 3, 3 (1979), 216–226.
  * Shao et al. (2007) Danhua Shao, Sarfraz Khurshid, and Dewayne E Perry. 2007\.  Evaluation of semantic interference detection in parallel changes: an exploratory experiment.  _IEEE International Conference on Software Maintenance (ICSM)_ (2007), 74–83.
  * Shapiro and Wilk (1965) Samuel Sanford Shapiro and Martin B Wilk. 1965.  An analysis of variance test for normality (complete samples).  _Biometrika_ 52, 3-4 (1965), 591–611.
  * Smaragdakis et al. (2015) Yannis Smaragdakis, George Balatsouras, et al. 2015\.  Pointer analysis.  _Foundations and Trends® in Programming Languages_ 2, 1 (2015), 1–69.
  * Snelting et al. (2014) Gregor Snelting, Dennis Giffhorn, Jürgen Graf, Christian Hammer, Martin Hecker, Martin Mohr, and Daniel Wasserrab. 2014.  Checking Probabilistic Noninterference Using JOANA.  _Information Technology (it)_ 56 (Nov. 2014), 280–287.  https://doi.org/10.1515/itit-2014-1051
  * Soares et al. (2010) Gustavo Soares, Rohit Gheyi, Dalton Serey, and Tiago Massoni. 2010.  Making program refactoring safer.  _IEEE software_ 27, 4 (2010), 52–57.
  * Wilcoxon (1945) Frank Wilcoxon. 1945\.  Individual comparisons by ranking methods.  _Biometrics bulletin_ 1, 6 (1945), 80–83.
  * Yang et al. (1992) Wuu Yang, Susan Horwitz, and Thomas Reps. 1992.  A program integration algorithm that accommodates semantics-preserving transformations.  _ACM Transactions on Software Engineering and Methodology (TOSEM)_ 1, 3 (1992), 310–354.


# MNRAS LaTeX 2ε template – title goes here

A. Kashlinsky1 and F. Atrio-Barandela2
1 Code 665, Observational Cosmology Lab, NASA Goddard Space Flight Center,
Greenbelt, MD 20771 and SSAI, Lanham, MD 20706
2 Department of Fundamental Physics, University of Salamanca, 37008 Salamanca,
Spain E-mail<EMAIL_ADDRESS><EMAIL_ADDRESS>
(Accepted 22 April 2022. Received 13 April 2022; in original form 16 March
2022)

# Probing the rest-frame of the Universe with near-IR cosmic infrared
background

A. Kashlinsky1 and F. Atrio-Barandela2
1 Code 665, Observational Cosmology Lab, NASA Goddard Space Flight Center,
Greenbelt, MD 20771 and SSAI, Lanham, MD 20706
2 Department of Fundamental Physics, University of Salamanca, 37008 Salamanca,
Spain E-mail<EMAIL_ADDRESS><EMAIL_ADDRESS>
(Accepted 22 April 2022. Received 13 April 2022; in original form 16 March
2022)

###### Abstract

While the cosmic microwave background (CMB) dipole is largely assumed entirely
kinematic, there appears evidence that a part of it is primordial. Such
possibility arises in models implying a tilt, interpreted as a dark flow,
across the observable Universe. The kinematic nature of the entire CMB dipole
can be probed using the dipole of cosmic backgrounds from galaxies after the
last scattering. The near-IR cosmic infrared background (CIB) spectral energy
distribution leads to an amplified dipole compared to the CMB. The CIB dipole
is affected by galaxy clustering, decreasing with fainter, more distant
galaxies, and by Solar System emissions and Galactic dust, which dominate the
net CIB cosmological dipole in the optical/near-IR. We propose a technique
that enables an accurate measurement of the kinematic near-IR CIB dipole. The
CIB, effectively the integrated galaxy light (IGL), would be reconstructed
from resolved galaxies in the forthcoming space-borne wide surveys covering
four bands 0.9 to 2.5 $\mu{\rm m}$. The galaxies will be sub-selected from the
identified magnitude range where the dipole component from galaxy clustering
is below the expected kinematic dipole. Using this technique the dipole can be
measured in each of the bands at the statistical signal-to-noise
$S/N{{}_{>}\atop{}^{\sim}}$50–100 with the forthcoming Euclid and Roman
surveys, isolating CMB dipole’s kinematic nature.

###### keywords:

(cosmology:) early Universe - (cosmology:) diffuse radiation - cosmology:
observations - cosmology: miscellaneous

††pubyear: 2022††pagerange: MNRAS LaTeX 2ε template – title goes
here–References

The cosmic microwave background (CMB) dipole is $\delta T_{\rm
CMB,dip}=3.346$mK toward $(l,b)_{\rm Gal}=(263.85,48.25)^{\circ}$ measured
with signal-to-noise ratio $(S/N){{}_{>}\atop{}^{\sim}}200$ (Kogut et al.,
1993; Fixsen et al., 1994). Its amplitude $D_{\rm CMB}\equiv\delta T_{\rm
CMB,dip}/T_{\rm CMB}=1.25\times 10^{-3}$ is mostly, but not unanimously (Gunn,
1988), interpreted as Sun’s motion at $V_{\rm CMB}=370$ km/sec if CMB traces
the Universe’s rest-frame commonly identified as the universal expansion’s
rest-frame.

There appeared assertions contradicting CMB dipole’s kinematic interpretation.
Analysis of the cumulative kinematic Sunyaev-Zeldovich dipole at CMB locations
from an all-sky X-ray cluster sample suggested what was termed the dark flow
of the clusters with respect to CMB extending to $\sim 1$Gpc, the signal
persisting in WMAP 3,5,7,9 yr CMB data (Kashlinsky et al., 2008, 2009, 2010,
2012a) and Planck 1-yr data (Atrio-Barandela, 2013; Atrio-Barandela et al.,
2015). Comparing gravity dipole with velocity provides similar tests
(Villumsen & Strauss, 1987) and a non-kinematic CMB dipole would be broadly
consistent with the misalignment in direction and/or amplitude of the
gravitational force reconstructed from galaxy and cluster catalogs from the
CMB dipole (e.g. Gunn, 1988; Lavaux et al., 2010; Erdoǧdu et al., 2006;
Kocevski & Ebeling, 2006; Wiltshire et al., 2013), the various claims of
peculiar flows and their properties (e.g. Mathewson et al., 1992; Lauer &
Postman, 1992; Ma et al., 2011; Colin et al., 2019), the radio-counts dipole
(Nodland & Ralston, 1997; Jain & Ralston, 1999; Singal, 2011), the recent WISE
source-counts dipole (Secrest et al., 2021) and the anisotropy in X-ray
cluster scaling relations (Migkas et al., 2020). Such measurements achieved
only a limited significance, $S/N\sim$(3-4), necessitating new ideas for
reaching higher $S/N$ required to robustly probe the CMB dipole’s kinematic
nature.

Before inflation was developed, it was proposed that CMB dipole may be
primordial, not entirely kinematic (King & Ellis, 1973; Matzner, 1980).
Cosmological (inflation-produced) curvature perturbations have zero intrinsic
dipole at last scattering (Turner, 1991), so primordial CMB dipole would
reflect pre-inflationary conditions from tilt (King & Ellis, 1973) by space
inhomogeneities before inflation (Turner, 1991) pushed beyond the cosmological
horizon as constrained by the CMB quadrupole anisotropy (Kashlinsky et al.,
1994; Turner, 1991; Grishchuk, 1992; Das et al., 2021; Tiwari et al., 2022),
or could arise from entanglement of our Universe with super-horizon domains in
certain Multiverse models (Mersini-Houghton & Holman, 2009).

The CMB dipole nature can be probed with dipoles of cosmic backgrounds (CBs)
from galaxies after the last scattering, which reflect the universal expansion
rest-frame. If the Sun moves at $V\ll c$ relative to distant sources producing
the CB its intensity $I_{\nu}$ at frequency $\nu$ would have dipole in Sun’s
rest-frame known as the Compton-Getting effect for cosmic rays (e.g. Gleeson &
Axford, 1968):

$\boldsymbol{d}_{\nu}=(3-\alpha_{\nu,\infty})\frac{\boldsymbol{V}}{c}\bar{I}_{\nu}$
(1)

where $\alpha_{\nu,\infty}=\partial{\ln I_{\nu}}/\partial{\ln\nu}$ and the
subscript $\infty$ indicates $I_{\nu}$ from integrating over the entire range
of fluxes/magnitudes of the sources contributing to the given band. Eq. 1
follows since the Lorentz transformation leaves $I_{\nu}/\nu^{3}$ invariant
(Peebles & Wilkinson, 1968). If CMB traces the Universe’s rest-frame,
$\boldsymbol{V}=\boldsymbol{V}_{\rm CMB}$ for any CB. Various wavelength CBs
exhibit $\alpha_{\nu,\infty}<2$ such that their dipole amplitude gets
amplified compared to the CMB dipole, if purely kinematic: such wavelengths
include X-rays (Fabian & Warwick, 1979), radio (Ellis & Baldwin, 1984; Itoh et
al., 2010), and sub-mm (Kashlinsky, 2005; Fixsen & Kashlinsky, 2011). An all-
sky CB dipole measured with signal/noise $S/N$ will have its direction probed
with the directional accuracy of $\Delta\Theta_{\rm
dipole}\simeq\sqrt{2}(S/N)^{-1}$radian (Fixsen & Kashlinsky, 2011).

The near-IR CIB has the well-defined $\alpha_{\nu,\infty}\ll 2$ from
$<1{\mu{\rm m}}$ to $\simeq 4{\mu{\rm m}}$ and, with enough sky, its
(amplified) dipole can be probed to resolve deviations from the CMB dipole in
amplitude and direction, provided contributions from diffuse Galactic (cirrus)
and Solar System (zodi) foregrounds, and from galaxy clustering are
negligible. In this Letter we demonstrate that the foreground contributions
dominate the cosmological dipole for the net near-IR CIB and propose a method
to eliminate them with the integrated galaxy light (IGL) part of the CIB by
using resolved galaxies. This technique is applicable to any sufficiently
wide-field sky survey in which individual galaxies can be identified and which
goes deep enough to minimize the dipole due to large-scale structure. Such
configurations may be available with the cosmic infrared background (CIB) from
the forthcoming space missions Roman (Spergel et al., 2015) and Euclid
(Laureijs et al., 2011), which has an ongoing near-IR CIB program (LIBRAE,
2013; Kashlinsky et al., 2018). We then identify the CIB configuration for a
highly precise measurement of the CIB dipole in these surveys to resolve the
kinematic nature of the long-known CMB dipole and discuss the various other
components of the proposed measurement and how the near-IR CIB dipole is
spectrally distinguished from any remaining foreground contribution.

##  1 Net near-IR CIB dipole vs foregrounds

Figure 1: (a) CIB $I_{\nu}$: black errors show CIB by the net observed deep
counts, yellow is the HRK reconstruction (Helgason et al., 2012) with the
solid black line showing the default model. Red line is from Driver et al.
(2016). Black thick lines cover CIB from galaxies over $m_{0}<m<m_{1}$ with
$m_{0}=$18,19,20,21 (solid, dashed, dashed-triple-dotted, long-dashed). Filled
circles are for galaxies over $18\leq m_{\rm AB}\leq 24$. (b) CIB dipole if
the entire CMB dipole is kinematic. The near-IR filters are marked. (c) CB
dipole amplitude from optical to sub-mm shows the advantage of the near-IR
configuration over previous studies employing sub-mm COBE/FIRAS low angular
resolution data (Fixsen & Kashlinsky, 2011) and mid-IR WISE AGN catalog
(Secrest et al., 2021). Black lines are for the HRK-reconstructed CIB (dotted
lines show the HFE$\rightarrow$LFE spread), red line is the CIB/EBL from
Driver et al. (2016), the black dashed-dotted line corresponds to the sub-mm
CB amplification (Kashlinsky, 2005); CMB dipole is marked.

The net CIB is made up of unresolved CIB and the part due to resolved
galaxies. Fig.1a shows $I_{\nu}$ integrated over known galaxies from counts
data; its contribution peaks at $m_{\rm AB}\\!\sim$20 (Fig. 1 in Kashlinsky et
al., 2019, and below). Red line shows the fit using observed galaxy spectra
(Windhorst et al., 2011; Driver et al., 2016). Yellow-filled regions show the
empirical CIB reconstruction from the multi-epoch, multi-wavelength known
galaxy luminosity function data (Helgason et al., 2012, hereafter HRK). Black
lines show the HRK-reconstructed background ("default", the optimal value);
the yellow shaded region marks the high-faint-end (HFE) and low-faint-end
(LFE) limits of the observed luminosity function data used by HRK. The
contribution from new sources implied by the source-subtracted CIB
fluctuations uncovered in Spitzer measurements (Kashlinsky et al., 2005,
2007b, 2012b) contributes little to the overall mean CIB (Kashlinsky et al.,
2007a) and will not enter the final configuration proposed below (see review
Kashlinsky et al., 2018). The Y, J, H, K bands displayed approximate the bands
available on Euclid and Roman.

Fig.1b shows the expected CIB dipole assuming 1) the entire CMB dipole is of
kinematic origin, and 2) no excess in CIB levels above that from known
galaxies (Kashlinsky et al., 2018). If CMB traces the Universe’s rest-frame
the CIB dipole should point in the CMB dipole direction and have the
corresponding amplitude, eq.1.

Fig.1c compares the relative CB dipole at the near-IR bands with previous
probes. At the near-IR bands the CB dipole should be amplified over that of
the CMB to $\left(d_{\nu}/I_{\nu}\right)\simeq$(3.1–5.5)$D_{\rm
CMB}\simeq$(4–7) $\times 10^{-3}$. The higher amplification coupled with the
wide sky coverage will result in the high precision CIB dipole measurement if
foregrounds can be eliminated as discussed below.

Figure 2: CIB from known galaxy populations. Data at Y,J,H are from (Windhorst
et al., 2011, and refs therein) and at K from (Maihara et al., 2001; Keenan et
al., 2010). Solid lines show the default HRK reconstruction and the shaded
areas mark the HFE$\rightarrow$LFE limits. Vertical solid and dashed lines
mark Euclid’s Wide Survey’s and Roman ’s magnitude limits. The measured K
counts are taken as proxy for the Roman F184 band.

Fig.2 shows the CIB build-up at the near-IR bands. The HRK-reconstructed CIB
fits well the observed data; we use the reconstruction for estimates below ,
but when the data from the new forthcoming missions becomes available it will
be used directly in the analysis.

Figure 3: Top: Zodiacal light dipole in near-IR bands could be $\sim 0.1$ MJy
sr-1 if measured at elongations $\sim 90^{\circ}\pm 10^{\circ}$ on a single
day (black upper limits). When averaged over long periods ($>1$ year), the net
dipole amplitude should decrease by an order of magnitude (black dots). The
dipole amplitude from scattered light and emission by the diffuse ISM (blue
line) from scaling the measured 100 $\mu$m emission after masking 85% of the
sky such that the measurements are from only the lowest brightness regions
near the Galactic poles. Subtracting models of the zodiacal light and
ISM/cirrus-scattered light may reduce these by over an order of magnitude.
Bottom: The lines show the clustering dipole at $m_{1}=24$ vs $m_{0}$ with the
color notation for the Y,J,H,K bands from Fig. 1;. Blue, green, red, black
circles show the dipole expected at the given $m_{0}$ for Y, J, H , K bands.
In the K (F184) band Roman will go 2 magnitudes deeper which will help reduce
further the clustering dipole.

The Solar System and Galaxy foregrounds present obstacles to probing the
kinematic dipole nature using the net near-IR CIB. Based on examination of
compiled zodiacal light observations Leinert et al. (1998) and the DIRBE 100
$\mu$m images (Hauser et al., 1998), we estimate uncorrected near-IR dipoles
in Fig. 3 (top) for observations constrained to solar elongations near
$90^{\circ}$ (as is common for space-based observations). The apparent dipole
on a given date is $d_{\rm Zodi}\sim 0.11$ MJy sr-1 at 1.25 $\mu$m. Since the
direction of this dipole varies annually, averaging over one or more years
reduces its net amplitude by $\sim 10\times$. Even if the zodical light is
modeled/subtracted with 1% accuracy, the residual dipole interferes with the
CIB dipole. The cirrus dipole was estimated by simultaneous fitting for the
monopole+dipole+quadrupole map components with several increasingly severe
masks defined by brightness and Galactic and ecliptic latitude. The minimum
dipole amplitude is $\sim$0.1 MJy sr-1 at 100$\mu{\rm m}$ (similar to Fixsen &
Kashlinsky, 2011). The dipole is oriented toward the Galactic center, even in
the heavily masked cases. We scale the 100 $\mu$m ISM dipole amplitude to the
shorter wavelengths using the ISM colors from Arendt et al. (1998); Sano et
al. (2016). This yields a 1.25 $\mu$m ISM/cirrus dipole $2\times 10^{-4}$ MJy
sr-1, $\sim 10\times$ greater than the expected CIB dipole. To measure the CIB
dipole would require subtracting the ISM model with sub-percent accuracy.
However, measurements of ISM colors typically show variation by factors of a
few at different sky locations. Thus, while a simple scaling of the far-IR ISM
emission can be used to estimate the near-IR ISM dipole amplitude, it is
unlikely to be sufficient here so foregrounds present a substantial problem
for probing the dipole of the net CIB. The problem can be resolved with the
method proposed next.

##  2 IGL dipole from space-borne wide surveys

To overcome the obstacles from foreground dipoles, we use the all-sky part of
the CIB known as IGL (Integrated Galactic Light), reconstructed from resolved
galaxies in a space-borne wide survey,

$I_{\nu}(l,b)=S_{0}\int_{m_{0}}^{m_{1}}10^{-0.4m}\left[\frac{dN_{\nu}}{dm}\right]dm$
(2)

where $S_{0}=3.631\times 10^{-3}$MJy, with $m_{0}$ suitably selected to remove
the galaxy clustering dipole and $m_{1}$ imposed by the wide survey
sensitivity limits. Here we will want to measure the dipole in the flux, not
the number counts. For the dipole measurement the IGL will be constructed from
the survey by adding fluxes from galaxies within the magnitude limit over each
field-of-view (FOV) centered at $(l,b)$ with $>10^{5}$galaxies/deg2 at
$20<m_{\rm AB}<24$ (e.g. Windhorst et al., 2011; Driver et al., 2016); it has
similar spectral dependence to the CIB in Fig.1. To measure CIB dipole at the
near-IR bands with $S/N$ significance requires
$\simeq\left(S/N\right)\left(I_{\nu}/d_{\nu}\right)^{2}$ sources achieving
$\left(S/N\right){{}_{>}\atop{}^{\sim}}(10-25)$ with $10^{6}$ independent
positions if $d_{\nu}\sim(3-5)\times 10^{-3}I_{\nu}$ if foregrounds can be
overcome. Euclid (Laureijs et al., 2011) will cover $\sim$15,000 deg2 in Y, J,
H bands to $m_{\rm AB}=24$ beyond the peak of their CIB contribution and Roman
(Spergel et al., 2015) is planned to cover $\sim 2,000$ deg2 in Y, J, H and K
(taken to aproximate F184 by Roman, Akeson et al. (2019)) filters.

Foregrounds contribute negligibly to the IGL dipole, being removed locally in
galaxy samples at an unprecedented precision (Scaramella et al., 2021).
Additionally, zodi is known to have no spatial fluctuations to very low levels
(e.g. Arendt et al., 2016) and Galactic cirrus has negligible fluctuation
power (Gautier et al., 1992) on individual galaxy scales (see further refs in
Kashlinsky et al., 2018).

The CIB dipole from galaxy clustering decreases with fainter galaxies
(Gibelyou & Huterer, 2012) and/or sources at higher $z$, constraining $m_{0}$.
As part of their dark energy science, Euclid will measure spectroscopic
redshifts over its extragalactic sky out to $z$=2.1 while Roman will go
deeper. The source redshift distribution is expected to have a mean at $z\sim
0.9$ with a density of 30 galaxies per square arcmin (Laureijs et al., 2011)
and luminous giant galaxies can be detected out to $z\sim 3$; the linear
scales subtended by the dipole at these epochs are well into the Harrison-
Zeldovich regime. Fig.3 bottom shows the remaining clustering dipole for
galaxies with $m_{0}<m<m_{1}$ compared with the CIB dipole if the CMB dipole
is kinematic. It was computed from the HRK reconstruction of CIB power with
$m_{1}=24$ for Y/J/H/K which follows the Harrison-Zeldovich regime at large
angular scales, i.e. $P=A(m_{0})\ell$. We then evaluate, with HRK
reconstruction, $A(m_{0})$ for given $m_{0}$ with the above $m_{1}$, and take
the CIB dipole from clustering as $d_{\nu}=\sqrt{C_{1}}$ with the rms dipole
$C_{1}=A(m_{0})/\pi$. Additionally, cosmic variance affects the measured
dipole, so at 95 (99) per cent confidence level $d_{\nu}<4(5.7)\sqrt{C_{1}}$.
Selecting $m_{0}\sim$(18–21) leaves $\sqrt{C_{1}}$ over an order of magnitude
below that expected from the kinematic CMB dipole.

That configuration, eq.2, has additional contribution to the dipole due the
local motion $\Delta m=-(2.5\lg e)[1+\eta(m)]\frac{V}{c}\cos\Theta$ for CIB
sources with SED $f_{\nu}\propto\nu^{\eta}$ (Ellis & Baldwin, 1984; Itoh et
al., 2010). In that case the dipole eq. 1 will be modified by the $m_{0,1}$
variation:

$\boldsymbol{d}_{\nu}(m_{0}\\!<\\!m\\!<\\!m_{1})=[(3-\alpha_{\nu,m_{0}\\!<\\!m\\!<\\!m_{1}})+\Delta\alpha_{\nu}]\frac{\boldsymbol{V}}{c}\bar{I}_{\nu}(m_{0}\\!<\\!m\\!<\\!m_{1})$
(3)

with

$\Delta\alpha_{\nu}=\frac{\frac{dI_{\nu}}{dm}|_{m_{1}}}{\bar{I}_{\nu}(m_{0}\\!<\\!m\\!<\\!m_{1})}[1+\eta(m_{1})]-\frac{\frac{dI_{\nu}}{dm}|_{m_{0}}}{\bar{I}_{\nu}(m_{0}\\!<\\!m\\!<\\!m_{1})}[1+\eta(m_{0})]$
(4)

Figs.1,2 show that at the values $m_{0,1}$ selected here over the near-IR
bands the galaxy CIB contribution is only $\frac{dI_{\nu}}{dm}|_{m_{0,1}}\sim$
(a few percent)$\bar{I}_{\nu}(m_{0}\\!\\!<\\!m\\!\\!<\\!\\!m_{1})$. At these
wavelengths one would probe galaxy stellar populations at various parts of the
restframe spectrum, which is theoretically well studied and with effective
$\eta\sim$0–2, depending on the age, mass-function, metallicity and epoch of
the populations leading to $\Delta\alpha_{\nu}\ll\alpha_{\nu}$. When the
measurement is performed, the values of $\eta$ and their distribution will be
measurable for the cataloged galaxies and $\alpha,\Delta\alpha$ will be
reconstructed directly. Fig. 1 shows that the considered here CIB has a robust
value of $\alpha$ at the near-IR wavelengths making the application of the
CIB-based eq. 3 advantageous to achieving robust results with a high
statistical accuracy. The statistical signal/noise for the dipole at each band
is:

$\left(\frac{S}{N}\right)_{\nu}=127\;\frac{(3\\!-\\!\alpha_{\nu,m_{0}\\!<\\!m\\!<\\!m_{1}})D_{\rm
CMB}}{4\times 10^{-3}}\sqrt{\frac{N_{\rm tot}}{10^{9}}}$ (5)

Overall such $S/N$ can achieve sub-degree direction resolution.

Table 1: HRK-reconstruced $N_{\rm tot}(m_{0}\\!<\\!m\\!<\\!m_{1})/10^{6}$ per $1,000\;{\rm deg}^{2}$ Filter | Y | J | H | K
---|---|---|---|---
$m_{0}$ | $m_{1}$=24/26 |  $m_{1}$=24/26 | $m_{1}$=24/26 | $m_{1}$=26
18 | 85.6/347.0 | 105.2/375.8 | 128.8/411.3 | 422.7
19 | 84.9/346.2 | 104.3/372.2 | 127.7/410.1 | 421.2
20 | 82.9/344.2 | 101.6/372.7 | 124.2/406.6 | 417.0
21 | 78.0/339.4 | 95.2/365.7 | 115.8/398.3 | 407.2

Table 1 shows the HRK-reconstructed number of galaxies, $N_{\rm tot}$,
expected in Euclid data with $m_{0}<m<m_{1}$ at $m_{1}=24$ and the Roman
mission at $m_{1}=26$ over a smaller area, but extending to K band shown in
the last column. When CMB dipole is entirely kinematic the CIB/IGL dipole
components would be $S_{i}=(d_{\nu}/I_{\nu}){n}_{i}$ in the direction
$\hat{n}=(-0.07,-0.66,0.75)$. Its direction uncertainties were evaluated per
Atrio-Barandela et al. (2010): the error on $S_{i}$ is given by that on the
mean, $N_{\rm tot}^{-1/2}$, weighted by the dispersion of the direction
cosines on the sky area $4\pi f_{\rm sky}$ covered by the survey, i.e.,
$N_{i}=1/(N_{\rm tot}\langle n_{i}^{2}\rangle)^{1/2}$ with $\langle
n_{i}^{2}\rangle=(4\pi)^{-1}\int_{4\pi f_{\rm sky}}n_{i}^{2}d\Omega$. We adopt
the configurations from Table 1. Fig.4 shows the resultant $S/N$ accumulation
for the CIB dipole components in each band for the two missions. (For the
Euclid example we used the projected sky coverage from Laureijs et al. (2020).
For Roman the area that will be observed has not been yet finalized. For our
estimates we used an area of $\sim 1,700$ deg2 bounded in R.A. and Dec by
$10{{}_{<}\atop{}^{=}}\alpha{<}60$ and $-50{{}_{<}\atop{}^{=}}\delta{<}-10$.
We call this area the Southern Roman patch. Since the satellite could be
observing a larger area, we also considered the final area to include another
symmetric Northern Roman patch, limited by
$190{{}_{<}\atop{}^{=}}\alpha{<}240$ and $10{{}_{<}\atop{}^{=}}\delta{<}50$.)
The Z-component’s $S/N$ is the largest because of the planned avoidance of
Galactic and Ecliptic planes.

Generally, the CIB/IGL dipole direction will be well determined in these
configurations with errors decreasing $\propto N_{\rm tot}^{-1/2}$ for the
configurations in Table 1. If the CIB dipole points in the CMB dipole’s
direction, the directional uncertainty would be:

$\Delta\Theta(90\%,95\%,99\%)=(1.8^{\circ},2^{\circ},2.6^{\circ})\left(\frac{N_{\rm
tot}}{10^{9}}\right)^{-1/2}$ (6)

Figure 4: $S/N$ for each of the Euclid (squares) and Roman (circles)
photometric bands. Open symbols show 3 yrs of Euclid and the Southern patch of
Roman. Filled symbols correspond to 6 yrs of Euclid and the
Southern$+$Northern Roman patches. Other configurations would have $S/N\propto
N_{\rm tot}^{1/2}$.

##  3 Discussion

The IGL can measure the CIB dipole with $S/N{{}_{>}\atop{}^{\sim}}50-100$,
testing the kinematic origin of the CMB dipole to $\sim 1^{\circ}$. Eq 2 can
be subdivided into narrow magnitude bins ($m_{0}\rightarrow m_{1}$) where
$\eta$ does not vary significantly but can be evaluated with the available
data. Since the CIB dipole due to local motion should be independent of
redshift, probing it for sources within various redshift ranges to $z\simeq 3$
will help establish its kinematic origin. If the primordial component turns
out to be present, it could be generated by isocurvature perturbations of pre-
inflationary origin, opening a window to probe the superhorizon structure of
the Universe prior to inflation.

By construction, there would not be any zodi or ISM impacts on the IGL dipole.
Any IGL dipole should fall with $\lambda$ in accordance with Fig. 1 while the
foregrounds at the near-IR wavelengths come from reflected light (Kelsall et
al., 1998; Arendt et al., 1998) and rise steeply toward the visible, providing
a consistency test. If there is a systematic in the photometric zeropoints
that has a dipole component, this will give a false dipole signature. Given
the expected CIB dipole of $\simeq 0.5\%$, one needs these systematics at
${{}_{<}\atop{}^{\sim}}0.1\%$.

Extinction corrections (ECs) are important in the application of this method
as discussed by Secrest et al. (2021) who found the effect small. They are
more important in visible than in the near-IR bands and the Roman’s K band is
where extinction is smallest. Scaling the E(B-V) reddening maps of Schlegel et
al. (1998) indicates that without ECs the dipole amplitude may be comparable
with the IGL dipole. A direct approach to reduce this contribution is to apply
an extinction correction to the photometry of the individual galaxies before
calculating the IGL (Secrest et al., 2021). ECs must be sufficiently accurate
so any residual errors are small compared to the expected signal. Models can
fit reddening coefficients or colors to a few percent (e.g. Scaramella et al.,
2021). The analyses could be restiricted to low extinction areas. The cosmic
dipole can be determined with an error ${{}_{<}\atop{}^{\sim}}10^{\circ}$ (90%
c.l.) with some $10^{8}$ galaxies and the error is even smaller for other
configurations in Table 1. Then, the analysis can be extended to larger areas.
All the measured dipoles, further probed by Roman at greater depths, should be
consistent and point in the same direction within the errors with the
amplitude scaling as in Fig. 1 for all the selected patches, bands and
configurations.

Galactic stars-galaxies separation is necessary to avoid a spurious dipole
from stars, which can dominate source counts at $m\lesssim$18–20 in high
latitude fields (e.g. Windhorst et al., 2011; Ashby et al., 2013). Simple
solutions based on source size (e.g. Windhorst et al., 2011) will suffice
here, because the exclusion of all compact sources will eliminate a Galactic
stellar dipole, and it will not induce a cosmic dipole if compact
extragalactic sources are inadvertently excluded. The further advantage of the
forthcoming space missions’ sub-arcsec angular resolution is the ability to
resolve the galaxies individually, robustly overcoming source-confusion.

This bodes well for a high precision measurement of the CIB dipole necessary
to resolve the kinematic nature of the CMB dipole. The primordial CMB dipole
component will be estimated robustly from the measured IGL dipole using Fig. 1
to transform to velocity then converted into the kinematic CMB component to be
subtracted from the CMB dipole of highly precise amplitude and direction.

## Acknowledgements

We particularly thank Rick Arendt for contributions to understanding the role
of foregrounds and other systematics and Kari Helgason for the HRK
reconstruction used here. FAB acknowledges Grants PGC2018-096038-B-I00 (MINECO
and FEDER, “A way of making Europe") and SA083P17 from the Junta de Castilla y
León.

## Data Availability

No proprietary data were used here. The public data presented will be shared
on reasonable request to the lead author (AK).

## References

  * Akeson et al. (2019) Akeson R., et al., 2019, arXiv e-prints, p. arXiv:1902.05569
  * Arendt et al. (1998) Arendt R. G., et al., 1998, ApJ, 508, 74
  * Arendt et al. (2016) Arendt R. G., Kashlinsky A., Moseley S. H., Mather J., 2016, ApJ, 824, 26
  * Ashby et al. (2013) Ashby M. L. N., et al., 2013, ApJ, 769, 80
  * Atrio-Barandela (2013) Atrio-Barandela F., 2013, A&A, 557, A116
  * Atrio-Barandela et al. (2010) Atrio-Barandela F., Kashlinsky A., Ebeling H., Kocevski D., Edge A., 2010, ApJ, 719, 77
  * Atrio-Barandela et al. (2015) Atrio-Barandela F., Kashlinsky A., Ebeling H., Fixsen D. J., Kocevski D., 2015, ApJ, 810, 143
  * Colin et al. (2019) Colin J., Mohayaee R., Rameez M., Sarkar S., 2019, A&A, 631, L13
  * Das et al. (2021) Das K. K., Sankharva K., Jain P., 2021, J. Cosmology Astropart. Phys., 2021, 035
  * Driver et al. (2016) Driver S. P., et al., 2016, ApJ, 827, 108
  * Ellis & Baldwin (1984) Ellis G. F. R., Baldwin J. E., 1984, MNRAS, 206, 377
  * Erdoǧdu et al. (2006) Erdoǧdu P., et al., 2006, MNRAS, 373, 45
  * Fabian & Warwick (1979) Fabian A. C., Warwick R. S., 1979, Nature, 280, 39
  * Fixsen & Kashlinsky (2011) Fixsen D. J., Kashlinsky A., 2011, ApJ, 734, 61
  * Fixsen et al. (1994) Fixsen D. J., et al., 1994, ApJ, 420, 445
  * Gautier et al. (1992) Gautier T. N. I., Boulanger F., Perault M., Puget J. L., 1992, AJ, 103, 1313
  * Gibelyou & Huterer (2012) Gibelyou C., Huterer D., 2012, MNRAS, 427, 1994
  * Gleeson & Axford (1968) Gleeson L. J., Axford W. I., 1968, Ap&SS, 2, 431
  * Grishchuk (1992) Grishchuk L. P., 1992, Phys. Rev. D, 45, 4717
  * Gunn (1988) Gunn J. E., 1988, in van den Bergh S., Pritchet C. J., eds, Astronomical Society of the Pacific Conference Series Vol. 4, The Extragalactic Distance Scale. p. 344
  * Hauser et al. (1998) Hauser M. G., et al., 1998, ApJ, 508, 25
  * Helgason et al. (2012) Helgason K., Ricotti M., Kashlinsky A., 2012, ApJ, 752, 113
  * Itoh et al. (2010) Itoh Y., Yahata K., Takada M., 2010, Phys. Rev. D, 82, 043530
  * Jain & Ralston (1999) Jain P., Ralston J. P., 1999, Modern Physics Letters A, 14, 417
  * Kashlinsky (2005) Kashlinsky A., 2005, Phys. Rep., 409, 361
  * Kashlinsky et al. (1994) Kashlinsky A., Tkachev I. I., Frieman J., 1994, Phys. Rev. Lett., 73, 1582
  * Kashlinsky et al. (2005) Kashlinsky A., Arendt R. G., Mather J., Moseley S. H., 2005, Nature, 438, 45
  * Kashlinsky et al. (2007a) Kashlinsky A., Arendt R. G., Mather J., Moseley S. H., 2007a, ApJ, 654, L1
  * Kashlinsky et al. (2007b) Kashlinsky A., Arendt R. G., Mather J., Moseley S. H., 2007b, ApJ, 654, L5
  * Kashlinsky et al. (2008) Kashlinsky A., Atrio-Barandela F., Kocevski D., Ebeling H., 2008, ApJ, 686, L49
  * Kashlinsky et al. (2009) Kashlinsky A., Atrio-Barandela F., Kocevski D., Ebeling H., 2009, ApJ, 691, 1479
  * Kashlinsky et al. (2010) Kashlinsky A., Atrio-Barandela F., Ebeling H., Edge A., Kocevski D., 2010, ApJ, 712, L81
  * Kashlinsky et al. (2012a) Kashlinsky A., Atrio-Barandela F., Ebeling H., 2012a, arXiv e-prints, p. arXiv:1202.0717
  * Kashlinsky et al. (2012b) Kashlinsky A., Arendt R. G., Ashby M. L. N., Fazio G. G., Mather J., Moseley S. H., 2012b, ApJ, 753, 63
  * Kashlinsky et al. (2018) Kashlinsky A., Arendt R. G., Atrio-Barandela F., Cappelluti N., Ferrara A., Hasinger G., 2018, Reviews of Modern Physics, 90, 025006
  * Kashlinsky et al. (2019) Kashlinsky A., et al., 2019, BAAS, 51, 37
  * Keenan et al. (2010) Keenan R. C., Trouille L., Barger A. J., Cowie L. L., Wang W. H., 2010, ApJS, 186, 94
  * Kelsall et al. (1998) Kelsall T., et al., 1998, ApJ, 508, 44
  * King & Ellis (1973) King A. R., Ellis G. F. R., 1973, Communications in Mathematical Physics, 31, 209
  * Kocevski & Ebeling (2006) Kocevski D. D., Ebeling H., 2006, ApJ, 645, 1043
  * Kogut et al. (1993) Kogut A., et al., 1993, ApJ, 419, 1
  * LIBRAE (2013) LIBRAE 2013, Looking at Infrared Background Radiation Anisotropies with Euclid, https://www.euclid.caltech.edu/page/KashlinskyTeam
  * Lauer & Postman (1992) Lauer T. R., Postman M., 1992, ApJ, 400, L47
  * Laureijs et al. (2011) Laureijs R., et al., 2011, arXiv e-prints, p. arXiv:1110.3193
  * Laureijs et al. (2020) Laureijs R., et al., 2020, in Society of Photo-Optical Instrumentation Engineers (SPIE) Conference Series. p. 114430F, doi:10.1117/12.2563145
  * Lavaux et al. (2010) Lavaux G., Tully R. B., Mohayaee R., Colombi S., 2010, ApJ, 709, 483
  * Leinert et al. (1998) Leinert C., et al., 1998, A&AS, 127, 1
  * Ma et al. (2011) Ma Y.-Z., Gordon C., Feldman H. A., 2011, Phys. Rev. D, 83, 103002
  * Maihara et al. (2001) Maihara T., et al., 2001, PASJ, 53, 25
  * Mathewson et al. (1992) Mathewson D. S., Ford V. L., Buchhorn M., 1992, ApJ, 389, L5
  * Matzner (1980) Matzner R. A., 1980, ApJ, 241, 851
  * Mersini-Houghton & Holman (2009) Mersini-Houghton L., Holman R., 2009, J. Cosmology Astropart. Phys., 2009, 006
  * Migkas et al. (2020) Migkas K., Schellenberger G., Reiprich T. H., Pacaud F., Ramos-Ceja M. E., Lovisari L., 2020, A&A, 636, A15
  * Nodland & Ralston (1997) Nodland B., Ralston J. P., 1997, Phys. Rev. Lett., 78, 3043
  * Peebles & Wilkinson (1968) Peebles P. J., Wilkinson D. T., 1968, Physical Review, 174, 2168
  * Sano et al. (2016) Sano K., Matsuura S., Tsumura K., Arai T., Shirahata M., Onishi Y., 2016, ApJ, 821, L11
  * Scaramella et al. (2021) Scaramella R., et al., 2021, arXiv e-prints, p. arXiv:2108.01201
  * Schlegel et al. (1998) Schlegel D. J., Finkbeiner D. P., Davis M., 1998, ApJ, 500, 525
  * Secrest et al. (2021) Secrest N. J., von Hausegger S., Rameez M., Mohayaee R., Sarkar S., Colin J., 2021, ApJ, 908, L51
  * Singal (2011) Singal A. K., 2011, ApJ, 742, L23
  * Spergel et al. (2015) Spergel D., et al., 2015, arXiv e-prints, p. arXiv:1503.03757
  * Tiwari et al. (2022) Tiwari P., Kothari R., Jain P., 2022, ApJ, 924, L36
  * Turner (1991) Turner M. S., 1991, Phys. Rev. D, 44, 3737
  * Villumsen & Strauss (1987) Villumsen J. V., Strauss M. A., 1987, ApJ, 322, 37
  * Wiltshire et al. (2013) Wiltshire D. L., Smale P. R., Mattsson T., Watkins R., 2013, Phys. Rev. D, 88, 083529
  * Windhorst et al. (2011) Windhorst R. A., et al., 2011, ApJS, 193, 27