Lydie Du Bousquet
email: lydie.du-bousquet@univ-grenoble-alpes.fr

Christophe Saint-Marcel
email: christophe.saintmarcel@velossity.fr

Adaptation of an online platform to teach testing

Keywords: Software testing, Mutation analysis, Assessment method, Educational tool

Software quality is seen as an integral part of Software Engineering education. A key concept is software testing, the primary method used in the industry to evaluate the software quality. In this article, we focus on software testing assessment. We present 3 contributions: (1) the adaptation of our online learning open platform (Caseine) for software testing assessment, (2) an approach to create testing exercises, and (3) a (still) modest set of exercises (but currently under extension).

Introduction

At Université Grenoble Alpes, France, we have been proposing a course on software testing at the master level for more than 20 years. The main objective of this course is to improve the skills of students to generate test cases. The course is composed of 4 sessions of 3 hours. It includes a classical teaching approach based on lessons, exercises relying on printed code and exercise corrections on a blackboard.

For a long time, we have been seeking a solution to introduce more practical work [START_REF] Myers | The Art of Software Testing[END_REF], compliant with remote learning [START_REF] Ammann | Introduction to Software Testing[END_REF], that includes automatic grading [START_REF] Beizer | Software Testing Techniques[END_REF] to check that the different testing strategies are correctly applied by the students [START_REF] Binder | Testing Object-Oriented Systems: Models, Patterns, and Tools[END_REF]. The Covid pandemic decided us to to search for a solution that allows to automatically evaluate if our students properly applied a given test strategy to produce an executable test suite (research question).

This article presents three contributions. The first one is the adaptation of Caseine, an online learning platform developed by the Université Grenoble-Alpes (UGA), originally dedicated to programming learning. The second one is an approach to create testing exercises. The final one is a (still) modest set of exercises (but currently under extension), that are shared with the community on Caseine in an open course 1 .

In the following, section 2 gives some elements about classical methods to evaluate test quality. Section 3 explores different tools proposed by other universities for teaching how to test. Sections 4 and 5 present Caseine and its adaptation for our pedagogical purpose. Section 6 details our approach for creating our testing exercises. Sections 7 and 8 provide feedback, conclusion and perspectives.

Software testing and quality

Software Testing is the process of executing a program or a system with the intent of finding errors [START_REF] Myers | The Art of Software Testing[END_REF]. It is usually considered to be the primary method used in the industry to evaluate software quality [START_REF] Ammann | Introduction to Software Testing[END_REF]. Basically, software testers must select a relevant set of test cases, execute it, check if the system under test behaves as expected, and decide when the process is over.

To select test cases, a software tester can use several strategies as proposed in the literature. A testing strategy typically relies on an abstract model to be covered, which can be a graph, a logical expression, an input domain partition, or a syntactic description [START_REF] Ammann | Introduction to Software Testing[END_REF][START_REF] Beizer | Software Testing Techniques[END_REF][START_REF] Binder | Testing Object-Oriented Systems: Models, Patterns, and Tools[END_REF]. Several tools allow checking that test suites reach dedicated coverage criteria, such as statement or branch coverage, but they do not assess that the tests can find errors. Until now, to evaluate the ability of a test set to find errors, two main strategies were proposed: mutational analysis and fault injection.

Mutational analysis relies on a set of elementary mutation operators, which are applied systematically on the program under test to produce a set of faulty versions, called mutants [START_REF] Demillo | Hints on test data selection: Help for the practicing programmer[END_REF]. For example, a '+' is replaced by a '-', a '<' is replaced by a '>' or a '≥' (etc.). Tests are executed against all the mutants. Each time a fault is detected, the related mutant is marked as killed. The proportion of killed mutants denotes the mutation score. The higher the score, the better the test suite is.

Fault injection is a strategy close to the previous one, also based on the production of erroneous programs. In this approach, the chosen faults are usually those already identified during the development. The major difference with the mutation analysis relies upon a nonsystematized production of erroneous programs.

Both approaches have some weaknesses, but one usually considers that they assess reasonably the quality of test suites. For this reason, they are both commonly used for assessing software testing teaching, as detailed in the next section [START_REF] Dadeau | A case-based approach for introducing testing tools and principles[END_REF][START_REF] Silvis-Cividjian | 6: Two mutants generated for Turnstile (a) Mutant to detect 𝑡 1 (b) Mutant[END_REF][START_REF] Rojas | Code defenders: A mutation testing game[END_REF][START_REF] Beierlieb | Teaching software testing using automated grading[END_REF].

Teaching testing

In [START_REF] Melo | Testing education: A survey on a global scale[END_REF], authors report that testing teachers face different problems amongst which the lack of tools for teaching support, the lack of practical examples available. However, several initiatives exist.

PABS (for Programming Assignment Feedback System) is a tool that automatically generates feedback for programming assignments and provide an overview over related work (e.g. functional tests and style checks) [START_REF] Beierlieb | Teaching software testing using automated grading[END_REF]. The whole system is based on SVN. The evaluation of tests is based on different criteria, among which a coverage evaluation.

In [START_REF] Dadeau | A case-based approach for introducing testing tools and principles[END_REF], authors present their approach (based on case studies) and their teaching material. The students' tests are evaluated through code coverage and mutation analysis. They do not detail their platform.

VU-BugZoo is a platform to teach software testing, based on a repository of faulty (standalone and embedded) code. Students are engaged in an "bug-hunting" experience [START_REF] Silvis-Cividjian | 6: Two mutants generated for Turnstile (a) Mutant to detect 𝑡 1 (b) Mutant[END_REF].

Code Defenders is a game proposed to teach software testing concepts [START_REF] Rojas | Code defenders: A mutation testing game[END_REF]. The player can be either an attacker or an defender. The attacker introduces fault in Java programs in such a way that it is not detected by the tests. The defender produces JUnit tests to detect these attacks. The game is founded on principles of mutation testing. Code Defenders is open-source and available on GitHub [START_REF] Fraser | Teaching software testing with the code defenders testing game: Experiences and improvements[END_REF].

ProgTest is a web-based tool for the submission and automatic evaluation of programming assignments based on testing activities [START_REF] De Souza | Towards the use of an automatic assessment system in the teaching of software testing[END_REF]. Teachers need to provide a correct program and an adequate test set. The environment integrates testing tools such as JUnit, for Java. Tests of students are evaluated with a coverage tool and a mutation testing tool (JABUTI and JUMBLE for Java).

We wanted a solution to automatically assess the test cases (like all the previous tools), in which teachers can choose the mutants they want to evaluate (different from ProgTest), in order to check the good application of different testing strategies (with the same idea than Code Defenders but not necessarily linked to classical mutation operators). Moreover, we wanted our solution to be integrated with tools that are used in our university, in order to limit the number of pedagogical environments the students are faced with. For this reason, we chose to work within the Caseine environment, detailed hereafter.

Caseine environment

Caseine2 is an online learning platform developed by the Université Grenoble-Alpes (UGA). It is based on Moodle Virtual Programming Labs (VPL), activity modules that manage programming assignments based on input and output cases3 [START_REF] Rodríguez-Del Pino | A virtual programming lab for moodle with automatic assessment and anti-plagiarism features[END_REF]. Many plugins are available in Moodle. In particular, there exist VPL for more than 30 programming languages.

Compared to a classic Moodle instance, Caseine is original in that the environment is open to all universities in the world (or almost) via the federation of Identities Education Research Edugain which contains, for example, Renater. Moreover it allows the sharing of resources and many plugins are available (a large community of teachers which goes far beyond Grenoble contributes to the expansion of content and of the platform itself). Moreover, Caseine proposes additional facilities to the classic Moodle, amongst which:

• different types of test formats: classical Moodle VPL one (based on input/output couple) and usual test framework (such as JUnit for Java, or unittest (formerly PyUnit) for Python); and • links to classical IDEs, which allow students to work offline, on their personal computer with their favorite development environment.

In Grenoble, Caseine is mainly used for programming teaching. The students work in a classroom or remotely. They complete and execute the given programs using the Caseine web interface (Fig. 1(a)) or their local IDE (e.g. Eclipse). At the end of the exercise, the students have to ask for an evaluation of their production (Fig. 1(b)). Programs are uploaded on Caseine if needed, and tests provided by the teachers are executed. A score is immediately returned ((Fig. 1(c)). It scores maximum if all tests pass. It decreases with the number of fail tests.

Caseine adaptation for tests assessment

The evaluation process in Caseine follows a natural programming viewpoint: the expected result of a programming activity is to produce a correct program, i.e. a program for which all tests pass.

To evaluate the quality of tests, we needed to change the viewpoint. Indeed, since tests should be designed to find the errors [START_REF] Myers | The Art of Software Testing[END_REF], a software tester is "satisfied" when his tests provoke failures: it means that "his/her tests are doing their job".

We wanted to be able to evaluate the ability of the tests designed by students to provoke failure. The first Using this new type of VPL, teachers define the test file(s) to be completed by students and a set of faulty programs (e.g. mutants) to evaluate the quality of the students' production. Note that the teacher can build the mutants the way he/she wants: with fault injection or mutation analysis, manually or with a tool.

Achieving a programming exercise or a testing exercise is transparent for the students: the process and the interfaces are the same. During the evaluation phase for a testing exercise, the student's tests are executed against the mutants. The student's assessment is proportional to the mutation score: it is maximum if the students' tests kill all the mutants.

The creation of a VPL type dedicated to testing in Caseine provides a mean to automate the evaluation of the students tests. This is our first contribution. In the next section, we detail how we used it to check that the students apply properly the different testing approaches.

Testing process evaluation

To check that students properly apply test generation strategies, we adapt the mutation analysis approach. This is our second contribution.

In software testing theory, a test generation strategy relies on a coverage criterion built upon an artefact such as the specification, the code, the input domain, or a fault model [START_REF] Ammann | Introduction to Software Testing[END_REF]. Given an artefact 𝐴, a test criterion 𝐶 𝐸 will be expressed as a set of 𝑛 elements 𝐸 = {𝑒 𝑘 , 1 ≤ 𝑘 ≤ 𝑛} to cover.

Let c o v (𝑒, 𝑝, 𝑖) be a Boolean function that returns true when the execution of program 𝑝 with an input 𝑖 ∈ 𝐼 covers an element 𝑒 ∈ 𝐸. In the following and without losing generality, we suppose that 𝐼 denotes only the set of possible inputs of 𝑝, as well as 𝐸 contains only reachable elements, i.e. ∀𝑘, 1 ≤ 𝑘 ≤ 𝑛, ∃𝑖 ∈ 𝐼 | c o v (𝑒, 𝑝, 𝑖) .

To evaluate the correct application of a test criterion 𝐶 𝐸 , we build 𝑛 mutants, each of them corresponding to one element to cover. To do that, we proposed a transformation strategy for each test criterion 𝐶 𝐸 we study during our course.

Let 𝑇 𝑅 𝐶 𝐸 be such a transformation strategy. Considering a program 𝑝 and an element 𝑒 𝑘 to be covered, 𝑇 𝑅 𝐶 𝐸 (𝑝, 𝑒 𝑘 ) = 𝑀 𝑘 defines a family of mutants, such that each mutant 𝑚 𝑘 ∈ 𝑀 𝑘 will produce a different output than the original program 𝑝 whenever an input 𝑖 covers the element 𝑒 𝑘 :

∀𝑚 𝑘 ∈ 𝑀 𝑘 , ∀𝑖 ∈ 𝐼 , c o v (𝑒 𝑘 , 𝑝, 𝑖) ⟺ 𝑝(𝑖) ≠ 𝑚 𝑘 (𝑖)
A transformation strategy is similar to the original mutation operators since it is applied in a systematic way. It is different in that the modifications in the program under test are "larger" than the syntactic variation classically defined by the mutation operators.

Informally, each mutant is built on 3 kinds of modifications:

1. New variables are introduced, among which a Boolean one called mut, initialized to f a l s e . 2. Statements are introduced in the code to compute whether element 𝑒 𝑘 is covered. When it is the case, mut variable is set to t r u e . 3. A conditional statement is introduced to alter of the result depending on the value of mut variable.

Since the result can be altered in many ways, a set of mutants can be produced. Only one is necessary for each element 𝑒 𝑘 .

In the following, we illustrate the strategies on different criteria.

Category Partition testing

This testing method guides the tester to define a partition of the input space 𝐼 = {𝜋 1 , 𝜋 2 , ..., 𝜋 𝑚 }. The implicit hypothesis is that the inputs belonging to a partition are equivalent to detect the faults, so the tester has to choose only one input in each partition [START_REF] Khalsa | Extending category partition's base choice criterion to better support constraints[END_REF].

To check if the strategy is well applied, we propose exercises in which the categories and the constraints are explicitly given. The students have to produce a test suite that covers the partitions (𝐸 = {𝜋 𝑖 , 𝜋 2 , ..., 𝜋 𝑚 }).

Thus we build one mutant for each partition on the model given Fig. 2: the variable mut is set at the beginning of the program to t r u e if the input variables combination corresponds to a partition.

The same idea is used to evaluate pairwise coverage [START_REF] Ammann | Introduction to Software Testing[END_REF]. This strategy is usually applied to select a subset of parameter combinations, so that each pair of parameters (resp. categories) has to be covered. The resulting set of combinations is much smaller than the exhaustive one, because each instantiation of the parameters covers several expected pairs. In this case, the mut variable is set to t r u e at the beginning of the program if the inputs correspond to the pair to be covered.

Statement and Branch coverage

Both methods are code-based testing methods. They require to cover a set of blocks (corresponding to the code branches). A mutant is thus produced for each block by setting mut to t r u e in the block to be covered (Fig. 3(b)). Note that it is necessary to create an else bock in a mutant when it does not exist in the original code for branch coverage (Fig. 3(c)). Moreover, the modifications in the code can sometimes be simplified. In Fig. 3(c), we get rid of the mut variable and directly modify the result in the else branch.

Using a mutation approach to evaluate coverage might sounds strange since there are plenty of test coverage tools. However, those tools do not assert the quality of the test oracles (the mechanism to determine whether a test has passed or failed). Fig 4, the first test achieves branch coverage but does not check the expected results. It cannot detect faults in contrary to the second one.

Transition coverage

When the specification is expressed as an automaton, it is suggested to produce tests in order to cover states, transitions, or pairs of transitions. Modification of the code increases with the complexity of the coverage criterion.

In Fig. 5(a), we provide a specification example of a turnstile. We have thus 𝐸 𝑡 = {𝑡 𝑖 | 0 ≤ 𝑖 ≤ 4} for transition coverage. Fig 5(b) gives an example of mutant to achieve transition coverage: transitions are detected in the code and result is altered in consequence.

For the same example, for pairs of transitions coverage, we have 𝐸 𝑡 2 = {(𝑡 0 , 𝑡 1 ), (𝑡 0 , 𝑡 4 ), (𝑡 1 , 𝑡 2 ), (𝑡 1 , 𝑡 3 ), (𝑡 2 , 𝑡 2 ), (𝑡 2 , 𝑡 3 ), (𝑡 3 , 𝑡 1 ), (𝑡 3 , 𝑡 4 ), (𝑡 4 , 𝑡 4 ), (𝑡 4 , 𝑡 1 )}. To produce a mutant to evaluate pair of transitions coverage, we need to add a global variable to memorize the previous transition. The variable is updated each time a transition is followed, which induces an important code instrumentation to compute the "previous transition" (variable p r e v T r a n s Fig 6). However, this instrumentation is the same from all the mutants related to the criterion.

Feedback

We have used Caseine for testing for two years now. Four groups of students in Master 2 Computer sciences and one group of students in Master 1 computer sciences experience different exercises. We did not conduct formal evaluation, but we collected their informal feedback. It shows that they were happy to have an opportunity to apply concretely the testing approaches. A formal evaluation is planned in November 2022, with a new group of Master 2.

From the teacher point of view, the possibility to share exercise was appreciated: two other teachers decided to use Caseine for their testing course.

Conclusion and perspectives

In this article, we explain how we adapt Caseine, an online environment to teach programming, in order to teach testing. We also show how the mutation-based approach can be adapted to evaluate if the different testing approaches are correctly applied by the students. This method was suggested in [START_REF] Ammann | Introduction to Software Testing[END_REF].

Currently we have prepared 10 exercises (Fig. 7). Six of them were previously tested by 3 classes of students and 4 will be used in November 2022. They cover the different strategies as well as a classical mutation approach.

We proposed an open course on Caseine4 , in which the validated exercises are available.

The whole approach has some advantages and weaknesses. The advantages are largely tied to the Caseine platform:

• everyone can ask for a connection to Caseine, • the exercises can be shared, • the students can work online or with their usual development environment, • they have an immediate feedback related to their tests in the same way as they have feedback about their programs, • the teachers can follow the students progress in a easy way and prevent dropout, • they can use classical tools to produce their mutants, The strategy to produce the mutants is not yet automated. It might be difficult to automate for a specificationbased approach, unless the code is generated automatically from the specification. For code-base testing strategies, the work of CEA LIST on the production of labels to capture different notions of test coverage shows that part of the process could be automated [START_REF] Kosmatov | Combinations of Analysis Techniques for Sound and Efficient Software Verification[END_REF].

The set of available exercises is still modest, but we are currently in the process of developing it, in order to propose exercises from classical text books.

Figure 1 :

 1 Figure 1: Student's view of a programming exercise in Caseine

Figure 2 :Figure 3 :

 23 Figure 2: An example of fault to detect the partition (𝑎<0) && (𝑏<0) && (𝑐<0)

Figure 4 :

 4 Figure 4: Example of tests for Sup function

Figure 5 :

 5 Figure 5: Turnstile specification

https://moodle.caseine.org/

https://moodle.org/plugins/mod_vpl

https://moodle.caseine.org/course/view.php?id=825

Acknowledgments

Thanks to Sumaiya Sultana, Al-Bashir Muhammad et Mpoki Mwaisela who contributed to extend the exercises within the project "région Auvergne Rhône-Alpes RAVEN" (PAI 21 007381 01). The Caseine environment was partially funded by the "Université Grenoble-Alpes Idex" (ANR-15-IDEX-0002), the "PERSYVAL-Lab LabEx" (ANR-11-LABX-0025-01), and "Flexi-TLV", three "Investissement d'Avenir" programs.


Andre Vatarescu
email: andre_vatarescu@yahoo.com.au

A scrutiny of landmark experiments disproves photonic quantum nonlocality

is undertaken. These articles reported that measured outcomes were fitted with quantum states possessing a dominant component of nonentangled photons, thereby contradicting their own claim of quantum nonlocality. With probabilities of photon detections lower than 0.1 %, the alleged quantum nonlocality cannot be classified as a resource for developing quantum computing devices, despite recent publicity. Experimental evidence of a feasible process for quantum-strong correlations has been identified (M. Iannuzzi, et al., Phys. Lett. A, 384 (9), 126200, 2020) in terms of correlations between independent and multi-photon states evaluated as Stokes vectors on the Poincaré sphere. As single-photon sources are not needed, the design and implementation of quantum computing operations will be significantly streamlined.

Introduction

Over the last two decades, large amounts of resources have been invested in the research and development of quantum computing based on the concept of quantum nonlocality. Yet, no such functional or operational device is expected in the near future. Nevertheless, photonic quantum nonlocalitydespite being substantially rebutted in the professional literature, e.g. [START_REF] Griffiths | Nonlocality claims are inconsistent with Hilbert-space quantum mechanics[END_REF][START_REF] Tipler | Quantum nonlocality does not exist[END_REF][START_REF] Hess | What Do Bell-Tests Prove? A Detailed Critique of Clauser-Horne-Shimony-Holt Including Counterexamples[END_REF][START_REF] Boughn | Making Sense of Bell's Theorem and Quantum Nonlocality[END_REF][START_REF] Khrennikov | Get Rid of Nonlocality from Quantum Physics[END_REF][START_REF] Kupczynski | Closing the Door on Quantum Nonlocality[END_REF][START_REF] Iannuzzi | Bell-type Polarization Experiment With Pairs Of Uncorrelated Optical Photons[END_REF][START_REF] Vatarescu | The Scattering and Disappearance of Entangled Photons in a Homogeneous Dielectric Medium[END_REF][START_REF] Vatarescu | Polarimetric Quantum-Strong Correlations with Independent Photons on the Poincaré Sphere[END_REF] -has been the subject of the 2022 Nobel Prize in Physics. Significant physical contradictions have been overlooked in the opinion article by Aspect [START_REF] Aspect | Closing the Door on Einstein and Bohr's Quantum Debate[END_REF] hailing the results of refs. [START_REF] Giustina | Significant-Loophole-Free Test of Bell's Theorem with Entangled Photons[END_REF] and [START_REF] Shalm | Strong Loophole-Free Test of Local Realism[END_REF] as "definitive proof" of one measurement influencing remotely another measurement, bringing about the end of the Einstein-Bohr debate.

Experimental evidence of strong-quantum correlations obtained with non-entangled photons [START_REF] Iannuzzi | Bell-type Polarization Experiment With Pairs Of Uncorrelated Optical Photons[END_REF] were published back in early 2020 but were overlooked because they did not fit the prevailing interpretation [START_REF] Aspect | Closing the Door on Einstein and Bohr's Quantum Debate[END_REF]. Equally, a growing body of analytic developments before and after 2015 have repeatedly demonstrated the statistical nature [START_REF] Griffiths | Nonlocality claims are inconsistent with Hilbert-space quantum mechanics[END_REF][START_REF] Tipler | Quantum nonlocality does not exist[END_REF][START_REF] Hess | What Do Bell-Tests Prove? A Detailed Critique of Clauser-Horne-Shimony-Holt Including Counterexamples[END_REF] of quantum nonlocality experiments. Recently, the physical impossibility of the concept of quantum nonlocality based on entangled photons has been pointed out [START_REF] Vatarescu | The Scattering and Disappearance of Entangled Photons in a Homogeneous Dielectric Medium[END_REF][START_REF] Vatarescu | Polarimetric Quantum-Strong Correlations with Independent Photons on the Poincaré Sphere[END_REF].

The concept of quantum nonlocality was summarized by Aspect in the first paragraph of ref. [START_REF] Aspect | Closing the Door on Einstein and Bohr's Quantum Debate[END_REF] as "the idea that a measurement on one particle in an entangled pair could affect the state of the other-distant-particle." The alleged physical effect was illustrated for the entangled state

| ψ 𝐴𝐵 ⟩ = (|𝑥⟩ 𝐴 |𝑥⟩ 𝐵 + |𝑦⟩ 𝐴 |𝑦⟩ 𝐵 )/ √2 (1)
of two polarized photons shown in the inset to Fig. 1 of [START_REF] Aspect | Closing the Door on Einstein and Bohr's Quantum Debate[END_REF] for which "quantum mechanics predicts that the polarization measurements performed at the two distant stations will be strongly correlated." Another quotation of interest is: "In what are now known as Bell's inequalities, he showed that, for any local realist formalism, there exist limits on the predicted correlations." However, independent photons or multi-photon states also deliver quantum-strong correlation functions because the Pauli spin operators act on the polarization state regardless of the number of photons it carries. In this context, the overlap, in the measurement Hilbert space, between two polarization Stokes vectors measured separately at two distant locations generate the same correlation functions [START_REF] Vatarescu | The Scattering and Disappearance of Entangled Photons in a Homogeneous Dielectric Medium[END_REF][START_REF] Vatarescu | Polarimetric Quantum-Strong Correlations with Independent Photons on the Poincaré Sphere[END_REF], thereby explaining the experimental outcomes without invoking 'quantum nonlocality'.

This article identifies several physical omissions and contradictions which have been overlooked in the literature and which disprove the four aspects or elements of quantum nonlocality: 1. The propagation of single photons in a straight-line inside a dielectric medium is impossible because of the quantum Rayleigh scattering; 2. The wave function collapse involved in the mutual "interaction" leads to a vanishing expectation value for the Pauli operators in the context of a Bell-state, i.e., maximally entangled photons; 3. The strong correlation functions can also be obtained with independent states of photons obviating the need for entangled photons, which leads to last element, that is, 4. Bell-type inequalities are easily violated with unentangled and classical states of polarization [START_REF] Iannuzzi | Bell-type Polarization Experiment With Pairs Of Uncorrelated Optical Photons[END_REF].

The quantum Rayleigh scattering of single photons

Although well-documented, e.g., [START_REF] Vinogradov | Quantum theory of Rayleigh scattering[END_REF][START_REF] Vatarescu | Photonic coupling between quadrature states of light in a homogeneous and optically linear dielectric medium[END_REF], the physical process of quantum Rayleigh scattering has been consistently ignored in the conventional theory of quantum optics [START_REF] Garrison | Quantum Optics[END_REF]. A single photon cannot propagate in a straight-line inside a dielectric medium because of the quantum Rayleigh scattering associated with photon-dipole interactions. Groups of photons are created through parametric amplification in the nonlinear crystal in which spontaneous emissions first occur, generating pair photons from a pump photon. Such a group of photons will maintain a straight line of propagation by recapturing an absorbed photon through stimulated Rayleigh emission. The assumption that spontaneously emitted, parametrically down-converted individual photons cannot be amplified in the originating crystal because of a low level of pump power would, in fact, prevent any sustained emission in the direction of phase-matching condition because of the Rayleigh spontaneous scattering [START_REF] Vatarescu | The Scattering and Disappearance of Entangled Photons in a Homogeneous Dielectric Medium[END_REF][START_REF] Vatarescu | Polarimetric Quantum-Strong Correlations with Independent Photons on the Poincaré Sphere[END_REF].

Evidence of single-photon scattering can be found in ref. [START_REF] Shalm | Strong Loophole-Free Test of Local Realism[END_REF], in the Supplemental Material reporting that "In our experiment no photons are detected during a large number of trials, and these trials contribute little to the Bell violation." Equally, the experiments of [START_REF] Shalm | Strong Loophole-Free Test of Local Realism[END_REF] "… employed singlephoton optical time domain reflectometry (OTDR) to measure the transit time of light through all the optical fibers and some of the free-space optical paths in the experimental setup."

The probability of detecting a photon and its quantum effect is reported in Table S-II on page 16 [START_REF] Shalm | Strong Loophole-Free Test of Local Realism[END_REF], to be less than 0.01%. This extremely low level of detection probability is also reported in Fig. 3 of ref. [START_REF] Giustina | Significant-Loophole-Free Test of Bell's Theorem with Entangled Photons[END_REF]. It should be obvious that such extremely low probabilities cannot describe the presence of a physical phenomenon. Rather, these probabilities would indicate random statistical measurements which are consistent with the statistical explanation for measurements of correlated outputs [START_REF] Griffiths | Nonlocality claims are inconsistent with Hilbert-space quantum mechanics[END_REF][START_REF] Tipler | Quantum nonlocality does not exist[END_REF][START_REF] Hess | What Do Bell-Tests Prove? A Detailed Critique of Clauser-Horne-Shimony-Holt Including Counterexamples[END_REF].

Physically, quantum entanglement of photonic states implies a strong correlation between the same properties of the same variable or degree of freedom measured separately on each of the two entangled photons. These properties are the consequence of a common past interaction between these photons and those properties generated in the common interaction can be carried away from the position and time of that interaction.

The absence of quantum nonlocality upon sequential measurements

Quantum nonlocality is claimed to influence the measurement of the polarization state of one photon at location B, which is paired with another photon measured at location A. The two photons are said to be components of the same entangled state. Maximally entangled states, such as | ψ 𝐴𝐵 ⟩ of Eq. ( 1), represented in the same frame of coordinates of horizontal and vertical polarizations, would deliver the strongest correlation values between separate measurements of polarization states recorded at the two locations A and B.

The experimental results of refs. [START_REF] Giustina | Significant-Loophole-Free Test of Bell's Theorem with Entangled Photons[END_REF] and [START_REF] Shalm | Strong Loophole-Free Test of Local Realism[END_REF] were measured with a low level of entanglement, with the reported mixed states having one component much larger than the other, thereby allowing for measurements of unentangled product states. From equations (2) of both references, their experimental optimal ratios of the two amplitudes are 2.9 and 0.961/0.276, respectively [START_REF] Giustina | Significant-Loophole-Free Test of Bell's Theorem with Entangled Photons[END_REF] and [START_REF] Shalm | Strong Loophole-Free Test of Local Realism[END_REF].

If a collapse of the wave function is to take place for entangled photons upon detection of a photon at either location, then the two separate measurements do not coincide. In this case, a local measurement vanishes for the maximally entangled Bell states, e. This overlooked feature of maximally entangled Bell states renders them incompatible with the polarimetric measurements carried out to determine the state of polarization of photons, thereby explaining the experimental results of ref. [START_REF] Iannuzzi | Bell-type Polarization Experiment With Pairs Of Uncorrelated Optical Photons[END_REF] which were obtained with independent photons, indicating the possibility of obtaining quantum-strong correlations without entangled photons as pointed out in ref. [START_REF] Vatarescu | Polarimetric Quantum-Strong Correlations with Independent Photons on the Poincaré Sphere[END_REF]. The wave function collapse would bring about a product state as part of a timedependent partial ensemble of measurements.

The mixed quantum state |ψ 𝐴𝐵 ⟩ is space-and time-independent and considered to be a global state which can be used in any context, anywhere, and at any time. Nevertheless, the Hilbert spaces of the two photons move away from each other and do not spatially overlap, so that any composite Hilbert space is mathematically generated by means of a tensor product at a third location where the comparison of data is performed. Even so, the absence of a Hamiltonian of interaction renders any suggestion of a mutual influence physically impossible [START_REF] Griffiths | Nonlocality claims are inconsistent with Hilbert-space quantum mechanics[END_REF].

Correlation functions

Maximally entangled states, represented in the same frame of coordinates of horizontal and vertical polarizations, would deliver the strongest values of the correlation function

𝐸 𝑐 = ⟨ψ 𝐴𝐵 | 𝜎 ̂ 𝐴 ⨂ 𝜎 ̂ 𝐵 |ψ 𝐴𝐵 ⟩ = 𝑐𝑜𝑠 [2 (𝜃 𝐴 -𝜃 𝐵 )] (2)
for identical inputs to the two separate apparatuses, with the polarization filters rotated by an angle 𝜃 𝐴 𝑜𝑟 𝜃 𝐵 , respectively, from the horizontal axis. However, quantum-strong correlations with independent photons have been demonstrated experimentally [START_REF] Iannuzzi | Bell-type Polarization Experiment With Pairs Of Uncorrelated Optical Photons[END_REF] but ignored by legacy journals because they did not fit in with the theory of quantum nonlocality. The same correlation function 𝐸 𝑐 = 𝑐𝑜𝑠 [2 (𝜃 𝐴 -𝜃 𝐵 )] is obtained 'classically', as a result of the overlap of two polarization Stokes vectors of the polarization filters on the Poincaré sphere [START_REF] Vatarescu | Polarimetric Quantum-Strong Correlations with Independent Photons on the Poincaré Sphere[END_REF] The Stokes parameters correspond to the expectation values of the Pauli spin operators [START_REF] Vatarescu | Polarimetric Quantum-Strong Correlations with Independent Photons on the Poincaré Sphere[END_REF].

The correlation function is a numerical calculation as opposed to a physical interaction. Thus, the numerical comparison of the data sets is carried out at a third location C where the reference system of coordinates is located for comparison or correlation calculations of the two sets of measured data, and does not require physical overlap of the observables whose operators are aligned with the system of coordinates of the measurement Hilbert space onto which the detected state vectors are mapped. In this case, the correlation operator 𝐶 ̂= 𝜎 ̂ 𝐴 ⨂ 𝜎 ̂ 𝐵 can be reduced to [16; Eq. (A6)]:

𝐶 ̂= (𝒂 • 𝜎 ̂)(𝒃 • 𝜎 ̂) = 𝒂 • 𝒃 𝐼 ̂+ 𝑖 ( 𝒂 × 𝒃 ) • 𝜎 ̂ (3)
where the polarization vectors 𝒂 and 𝒃 identify the orientation of the detecting polarization filters in the Stokes representation, and 𝜎 ̂= ( 𝜎 ̂1, 𝜎 ̂2 , 𝜎 ̂3 ) is the Pauli spin vector (with 𝜎 ̂2 = 𝑖 𝜎 ̂1 𝜎 ̂3 ). The presence of the identity operator in Eq. ( 3) implies that, when the last term vanishes for a linear polarization state, the correlation function is determined by the orientations of the polarization filters. This can be easily done with independent and linearly polarized states, such as:

| 𝜓 𝑗 ⟩ = ( |𝑥⟩ 𝑗 + |𝑦⟩ 𝑗 )/ √2 ( 4
)
where the index j= A or B identifies the photodetector. The same state reaches both detectors.

The polarization operator 𝜎 ̂ projects the incoming states onto the measurement Hilbert space for comparison of the two separate data sets. The polarization measurement operators of 𝜎 ̂(𝜃 𝑗 ) = sin ( 2𝜃 𝑗 ) 𝜎 ̂1 + 𝑐𝑜𝑠(2𝜃 𝑗 ) 𝜎 ̂3 produce the output states

|Φ 𝑗 ⟩ = sin ( 2𝜃 𝑗 ) 𝜎 ̂1 | 𝜓 𝑗 ⟩ + 𝑐𝑜𝑠(2𝜃 𝑗 ) 𝜎 ̂3 | 𝜓 𝑗 ⟩ (5)
which, analogously to the overlapping inner product of two state vectors, lead to the correlation function of

𝐸 𝑐 = ⟨Φ 𝐴 | Φ 𝐵 ⟩ = 𝑐𝑜𝑠 2 (𝜃 𝐴 -𝜃 𝐵 ) (6)
The quantum correlation function of Eq. ( 6) between two independent states of polarized photons is equivalent to the overlap of their Stokes vectors on the joint Poincaré sphere of the measurement Hilbert space. Quantum-strong correlation are possible with independent states of photons [START_REF] Iannuzzi | Bell-type Polarization Experiment With Pairs Of Uncorrelated Optical Photons[END_REF] because the source of the correlation is the polarization states of the detecting filters or analyzers, making any claim of quantum nonlocality unnecessary.

Bell-type inequalities

Polarimetric measurements made in the quantum regime are based on the Pauli spin operators whose expectation values are displayed on the Poincaré sphere. However, these operators act on the state of polarization regardless of the number of photons carried by the radiation mode, instantaneously. The correlation functions needed to evaluate various Bell-type inequalities take the same form in both the quantum and classical regimes, and correspond to the overlap of the polarization states in the Stokes representation [START_REF] Vatarescu | Polarimetric Quantum-Strong Correlations with Independent Photons on the Poincaré Sphere[END_REF].

Quantum measurements violating Bell-type inequalities are supposed to be based on entangled states of single photons and prove the existence of quantum nonlocality. But the violations of inequalities rely on the correlation functions of the two ensembles of measurements as opposed to the same pair of photons, that is, the correlations are obtained as a result of a numerical comparison and are not a physical interaction. The photonic properties were carried away from the space and time of the original interaction, with the measurement identifying which of the two photons possessed the respective states of polarization.

Another glaring contradiction of the quantum nonlocality interpretation can be found in ref. [START_REF] Aspect | Closing the Door on Einstein and Bohr's Quantum Debate[END_REF]. In the caption to Fig. 1, on its second page, one reads:

"…if both polarizers area aligned along the same direction (a=b), then the results of A and B will be either (+1; +1) or (-1; -1) but never (+1; -1) or (-1; +1.); this is a total correlation as can be determined by measuring the four rates with the fourfold detection circuit". This statement first deals with single, individual events but in the second part it mentions "rates" which apply to ensemble of measurements (as degree or comparative extent of action or procedure). Now, if it is possible, with entangled photons, to have 100% correlation at the level of individual events, then one could easily carry out a short series of measurements to find simultaneous detections and prove directly the existence of quantum nonlocality, rather than use, indirectly, Bell-type inequalities to claim it from correlations of ensembles. Ensemble distributions also cover non-simultaneous single detections that are taken to be simultaneous in order to reach the 100% correlation value.

Ensembles of two separate measurements lead to two sets of probabilities. Correlations between distributions of ensemble probabilities are calculated as the expectation value of the correlation operator 𝐶 ̂= 𝜎 ̂ 𝐴 ⨂ 𝜎 ̂ 𝐵 to be 𝐸 𝑐 = 𝑐𝑜𝑠 [2 (𝜃 𝐴 -𝜃 𝐵 )] as opposed to probabilities of single, individual events 𝑃 𝐴 𝑜𝑟 𝐵 = 𝑐𝑜𝑠 2 𝜃 , identical for both locations with 𝐸 𝑐 = 1.

For example, if one in ten photons is detected, then, for entangled photons, the two separate detections should happen simultaneously with a ratio of 1:10, as claimed with quantum nonlocality. This would allow a direct measurement and demonstration of quantum nonlocality without the need for Bell-type inequalities that involve ensembles of measurements. But this cannot be done because a single photon is diverted by the quantum Rayleigh scattering in a dielectric medium from a straightline propagation. Therefore, no quantum nonlocality has been demonstrated in so far as single photons are concerned.

Bell-type inequalities can also be violated classically because the same correlation function is derived for both the quantum and classical regimes, as explained in the previous section 4. Thus, from a technological perspective, functional devices needed for strong correlations between two separate outputs can be achieved with multiple photons, thereby obviating the need for complicated and expensive single photon sources and photodetectors.

Conclusions

With a dominant unentangled component and a very low detection probability, the landmark experiments of refs. [START_REF] Giustina | Significant-Loophole-Free Test of Bell's Theorem with Entangled Photons[END_REF] and [START_REF] Shalm | Strong Loophole-Free Test of Local Realism[END_REF] prove just the opposite to their claim of definitive evidence of quantum nonlocality. Experimental results and analytic developments published subsequently, rebut the concept of quantum nonlocality whereby a measurement of an entangled photon influences the outcome of a pair-measurement at another location.

Quantum-strong correlations which are needed for quantum data processing, can be produced by means of uncorrelated and multiphoton states as well as 'classically' by means of Stokes parameters on the Poincaré sphere. In this way the complicated and expensive single-photon sources and photodetectors become unnecessary.

  that is, ⟨ψ 𝐴𝐵 | 𝜎 ̂ 𝐴 ⨂ 𝐼 ̂ 𝐵 |ψ 𝐴𝐵 ⟩ = 0, with 𝐼 ̂ 𝐵 = | 𝑥 ⟩⟨ 𝑥 |+|𝑦 ⟩⟨ 𝑦 | being the identity operator, and the projecting Pauli operators are in this case 𝜎 ̂1 = | 𝑥 ⟩⟨ 𝑦 |+|𝑦 ⟩⟨ 𝑥 | and 𝜎 ̂3 = | 𝑥 〉〈 𝑥 |-|𝑦 〉〈 𝑦 | . Thus, a physical contradiction arises as local experimental outcomes determine the mixed quantum state of polarization of the ensemble to be compared with its pair quantum state.