Guillaume Bouffard
email: guillaume.bouffard@ssi.gouv.fr

Léo Gaspard

Hardening a Java Card Virtual Machine Implementation with the MPU

In the world of Java Cards, the Firewall guarantees the segregation of applet data and ensures the integrity and confidentiality of each application. In order to be independent from the microcontroller, most Java Card Virtual Machine (JCVM) implementations are not designed to use hardware-based mechanisms. In this article, we describe how the Memory Protection Unit (MPU) can be used to segregate each Java Card applet from the Operating System (OS) and device drivers. Even if our contribution is designed to fit a specific hardware-based mechanism, our JCVM architecture can be reused for a microcontroller without MPU.

Introduction

Developing smart card applications is a long and complex process. Despite several standardization efforts, e.g., concerning power supply, input and output signals, smart card development used to rely on proprietary Application Programming Interfaces (APIs) provided by each manufacturer. The main drawback of this development approach is that the code of the application can then only be executed on a specific platform, thus lowering interoperability.

In order to improve the interoperability and security of smart card software, the Java Card technology has been designed in 1996. It enables Java-based applications to securely run on smart cards and similar lowfootprint devices. The trade-offs made on the Java architecture in order to embed the Java Card Virtual Machine (JCVM) on low resource devices concern both functional and security aspects.

The Java Card Security Model

In the Java Card realm, some aspects of software security rely on the Byte Code Verifier (BCV). As Java Card byte code can also be hand-written, it might violate Java Card safety rules. As a consequence, the Java Card Runtime Environment (JCRE) must not trust the Java Card conversion process. In order to ensure the correctness of the Converted APplet (CAP) file that is to be loaded, the BCV checks:

1. that the application structure is valid, 2. that the application byte code neither forges pointers nor violates access restrictions, 3. that the application uses data with the correct type and 4. that the application only accesses objects it owns.

Since the Java Card platform does not support dynamic class loading, byte code verification is performed at loading time, i.e. before installing the CAP file onto the card. Moreover, most Java Card platforms do not embed an on-card BCV as it is expensive in terms of memory consumption. As a consequence, byte code verification is performed off-card, either directly by the card issuer if he controls the loading chain, or by a trusted third party that signs the application as a proof of verification.

In addition to static off-card verification enforced by the BCV, the Java Card Firewall performs runtime checks to guarantee applet isolation. It partitions the Java Card platform into separate and protected object spaces called contexts. Each applet is associated with a context, thus preventing instances of an applet from reading or writing another applet's data, unless the accessed applet explicitly exposes functionality through a Shareable Interface Object. The goal is to ensure data confidentiality and integrity. The Java Card security model is summarized in Fig. 1.

Java class files

Java Card files Despite all the security features enforced by the Java Card environment, several attack paths have been found by the Java Card security community [2, 3, 5-7, 11-13, 16, 17, 19].

Byte code converter

In this work, we focus on how to harden our JCVM implementation so as to prevent applet isolation violation by a malicious applet that is either an ill-formed applet not properly detected by the BCV -for instance when the Java Card security model is not followed -or a mutant application created by fault injection attacks [START_REF] Razafindralambo | A Friendly Framework for Hidding fault enabled virus for Java Based Smartcard[END_REF].

To the best of our knowledge, most existing Java Card Firewall implementations do not use any hardware features. The JCVM developers have chosen this architecture in order to be generic over (ie. independent from) the microcontroller where the JCVM will be executed. Thus, without extra effort, smart card developers can move their JCVM implementation to another microcontroller. Our solution aims at proposing an alternative to this approach in order to improve the security of the JCVM implementation with generic hardware-based mechanisms for memory segregation.

Of course, the independence between Java Card applications and hardware-based mechanisms is still ensured by the JCVM. However, our solution does depend on the way to configure hardware-based security mechanisms, which will depend on the microcontroller manufacturer. Changing the target of the JCVM thus requires adapting the software.

We will see that this approach is also compatible with a generic architecture where the Operating System (OS) is able to segregate Java Card security contexts on a microcontroller lacking hardware-based security mechanism and without modifying the JCVM source code.

In the literature, hardware security mechanisms have mainly been studied for the protection they can offer from side-channel and fault injection attacks. The smart card OS is designed to prevent fault injection attacks thanks to defenses like sensors, filters, double executions and so on. Several papers of Lackner et al. focused on hardening the Java Card execution environment with hardware security mechanisms. For instance, they prevent type confusion with a hardware mechanism [START_REF] Lackner | Towards the Hardware Accelerated Defensive Virtual Machine -Type and Bound Protection[END_REF] and introduce hardware checks [START_REF] Lackner | Countering type confusion and buffer overflow attacks on Java smart cards by data type sensitive obfuscation[END_REF] in the Java Card stack. However, their approach is based on proprietary extensions of a secure component.

In his Master's thesis, Zelle [START_REF] Zelle | Design and implementation of a hardware supported memory protection for the java card firewall[END_REF] described how to protect the JCRE through hardware mechanisms. His approach is based on a hardware mechanism he implemented on an FPGA. However JCVM are mainly designed in order to not depend on proprietary extensions, for portability reasons.

This paper is organized as follows. First, Section 2 presents a few hardware security mechanisms embedded in standard components. Next, Section 3 explains how some of those hardware-based mechanisms have been used to improve the security of our JCVM implementation. Section 4 presents our experimental results and then details our secure Java Card OS. Finally, Section 5 concludes and identifies possible future works.

Hardware Security Mechanisms to Protect Software Integrity and Data Confidentiality

Central Processing Units (CPUs) include two kinds of hardware security mechanisms. The first one enables the CPU to segregate execution contexts by having code running in different execution contexts (usually kernel vs. user). The other one aims at protecting memory access (reading, writing or executing) from an unauthorized application.

Context Segregation

Context segregation aims at associating each executed application to a different execution context. The hardware handler checks each access to memory resources to prevent access from a context to another one.

ARM TrustZone is the security extension for ARM-based devices where two virtual processors are separated by a hardware-based access control. The application core can switch between each virtual world. The first state is the secure world where secure and sensitive applications are run in a special OS. For instance, this world aims at starting the boot securely with firmware signature verification. The second state is the normal world where the rich OS (Linux/Android, Windows and so on) is executed. The normal world can communicate with the secure world through a secure buffer. From a security point of view, the normal world may be malicious and may try to leak information from the secure world [START_REF]Bits, Please! Extracting Qualcomm's KeyMaster Keys -Breaking Android Full Disk Encryption[END_REF].

The ARM TrustZone technology is currently not embedded in secure components. In addition, it can be corrupted through fault injection attacks as demonstrated in [START_REF] Vasselle | Laser Induced Fault Injection on Smartphone Bypassing the Secure Boot[END_REF].

Memory Access Protection

When multiple applications are multitasked, checking memory accesses might be required in order to enforce privilege segregation through access rules.

Memory Management Unit Consumer CPUs have an Memory Management Unit (MMU) available for the OS developer to use. The MMU is a hardware component that intercepts all memory accesses performed by the processor and applies translation and authorization.

Translation is the process of taking the requested virtual address, and checking in the page tables to which physical address it maps. The tables involved in the process of address remapping also contain additional data that are used for authorization, by checking that the requesting process (as defined per the processor ring, on Intel x86 processors) is allowed to access in read, write or execute mode the requested address.

It is one of the most important components for providing segregation between the OS and processes, along with the separation between privileged and unprivileged code.

Input-Output Memory Management Unit

The Input-Output Memory Management Unit (IOMMU) is also present on some high-end chipsets. Whereas the MMU is placed so as to intercept memory accesses from the CPU, the IOMMU is placed so as to intercept memory accesses from devices attached to the motherboard. As such, it helps protecting the CPU from malicious devices that may be plugged in, thus mitigating attacks like [START_REF] Dornseif | 0wn3d by an iPod: Firewire/1394 Issues[END_REF].

Memory Protection Unit

On components with limited resources, the main hardware module that improves software security is the Memory Protection Unit (MPU). Designed for the ARM architecture, it is a lightweight version of the MMU that does not perform address remapping but only permission checking. As such, it allows generating an exception (more precisely, a fault) when the access type or address does not match what is allowed by the current ruleset.

Along with the separation between privileged and unprivileged code, this hardware component allows confining the code segment into a sandbox.

When the MPU is enabled, all memory accesses from the microcontroller will be checked according to the following algorithm (simplified from the ARM specification [START_REF]ARMv7-M Architecture Reference Manual[END_REF]): In other words, there is a default memory map (which only allows privileged mode to access all the memory in reading, writing and execution) that can be enabled or not (this being defined at the time of enabling the MPU). Then, all the segments are tested one after the other to check whether they include the accessed address or not. The highest-numbered matching segment then defines the final permissions. As a consequence, the default memory map acts like a "segment -1": it is used only if all other segments do not match the requested address.

There are restrictions on how the segments can be set. Their size must be a power of two at least equal to 32, naturally aligned. Each segment of at least 256 bytes can be split in eight equal-length segments that can be individually enabled or disabled, thanks to the Sub-Region Disable bits.

As for the AllowsAccess operation, the MPU allows (from a security standpoint) to set for each segment whether it is executable (through the eXecute Never (XN) bit), as well as whether (un)privileged code can access it in read mode, read-write mode, or none (through the Access Permissions (AP) bits).

JCVM and MPU

To the best of our knowledge, most JCVM implementations do not use hardware-based software security mechanisms even though modern secure components do embed a MPU. Currently, the MPU is used only to prevent the smart card OS, drivers and the Java Card interpreter from corrupting each other.

In order to ensure applet isolation properties, most JCVM implementations use a software mechanism with program counter position verification, bounds checks or application Control Flow Graph (CFG) enforcement [START_REF] Bouffard | Security automaton to mitigate laser-based fault attacks on smart cards[END_REF].

During the development of our JCVM implementation, we focused on how hardware security mechanism can be used to improve security without adding costly additional checks. To be close to a smartcard component, where all JCVMs are executed, the mainstream ARM Cortex-M4 and more specifically the STM32F401RE was chosen as target. This component includes an MPU.

When MPU Meets the Java Card Security Model

Proposed Usage

We propose a way to use the MPU that is closer to what is done by regular computer-based OSs: separate the security context attached to each applet as an actual MPU context. For this purpose, one interpreter is run for each applet. Each is responsible only of correctly interpreting the Java Card byte code for its own applet, so that the OS can segregate between interpreters using the MPU.

Consequently, a malicious (or compromised) applet, even if it manages to compromise the interpreter, will not be able to access or otherwise disrupt the normal behaviour of other applets, except as a Denial of Service (DoS).

Overall Architecture

We propose the architecture depicted in Fig. 2: the OS handles device drivers as well as hardware support (including the ISO-7816 peripheral, the MPU and the flash device), and exposes their functionality to contexts through system calls (syscalls), while checking authorization. It also provides a way for contexts to interact with each other, again using syscalls.

For instance, interactions with the ISO-7816 peripheral can be provided through an in_byte syscall and an out_byte syscall, with authorization limited to calls from the APDU parser context. Interactions with the flash can be performed using read_file or write_file syscalls; they check that the requesting context is indeed allowed to access the requested file.

Given that the Java Card specification [START_REF] Oracle | Java Card 3 Platform, Runtime Environment Specification, Classic Edition[END_REF][START_REF] Oracle | Java Card 3 Platform, Virtual Machine Specification[END_REF] does not require multiple contexts to be active simultaneously, there is no need for a preemptive scheduler, since only a single context can be active at a single time. Note that this does not prevent DoS attacks; they are inherent to the Java Card specification: an applet can simply start an infinite loop, and the JCRE will not be allowed to kill it. . . .

Fig. 2. Overall architecture

Interactions between contexts are performed through the remote_call and remote_result syscalls. The remote_call syscall pushes the current context on the OS stack and calls the remote call handler of another context after context switching. The remote_result syscall pops a context from the OS stack to jump back to where execution stopped for the remote call.

Practical Organization Around the MPU

We chose to have the memory layout split in MPU segments as defined in Fig. 3.

A compiled code segment that always stays readable and executable contains all the compiled code in the interpreter as well as in the OS. At minimum the interpreter has to be readable and executable; the OS has been left readable and executable too in order to simplify the firmware build process and spare some memory.

Compiled code (R -X)

Compiled code for interpreter, OS. . .

Java Card code (R --)

All packages' byte codes (on one flash segment).

Shared (R --)

Data set by the OS for consumption by the applet (esp. to figure out which context-specific segment it should be using)

Shared (R W -) -Public

Security contexts

Each security context has access to

Fig. 3. MPU segments used

An applet code segment that contains all the Java Card bytecode of all installed applets is set read-only. It would be better, from a security point of view, to only allow the applet's reachable code to its security context. However, the applet can call functions in shared packages without changing its security context, which means code reachable from the applet and unreachable from the applet will likely be interleaved.

Having only eight MPU segments available (due to the ARM specification [START_REF]ARMv7-M Architecture Reference Manual[END_REF], as described in Algorithm 1), especially with the strong constraints on their use (natural alignment and power-of-two size) means that getting a stronger separation of the Java Card byte code is left as future work. The security consequence of this choice is that, in the current implementation, a rogue interpreter can access the Java Card byte code of all other applets, meaning that confidentiality of the code is not ensured.

On the positive side, the MPU still helps preventing modifications to Java Card byte code, and protects the confidentiality as well as the integrity of the data manipulated by other applets.

A shared read-write segment used for the fields that can be modified by all contexts, eg. library packages' static fields.

A shared read-only segment used for all the fields that are set by the OS for use by the applets, yet should not be under their control. For example, this includes the security context identifier, the low and high bounds of the heap to be used by the applet. . . A context-specific read-write segment that stores all the data that are actually context-specific: C stack, Java Card stack, CLEAR_ON_{DESELECT,RESET} segments, C heap for the interpreter. . . There is one per security context, so that each security context can only access its own data.

A call buffer is used to pass arguments and return values (or exceptions) across the remote call stack. As one applet can call a function in another applet (defined by a Shareable interface by the other applet), the stack may be split across multiple security contexts. In order to achieve this, the OS maintains a stack of which context called which context, and pushes or pops from it as required. However, there is a need to pass arguments and return values to the relevant contexts, and this must be done through some shared space.

In order to minimize the risk of leaks if context A calls context B with 128 bytes of arguments, and context B calls context C with 32 bytes of arguments, wrapper functions are provided to retrieve or put data in this call buffer by resetting it all to zeros. This call buffer is technically only a part of the shared read-write segment, but its implementation is specific enough that it is handled as though it was in another segment.

Switching process. When switching from a context to another (eg. during a remote_call syscall), all these MPU segments are reset by the OS to the relevant addresses of the new applet, thus allowing a number of applets only limited by the memory of the microcontroller and the fact all segments must be of power-of-two size.

Experimental Results

Implementing our embedded OS

In order to implement our OS, the use of a security-oriented programming language that works on limited-resources components is required. Our target, the STM32F401RE, embeds a 32-bit CPU running at 84 MHz, with 512 kB of Flash memory and 96 kB of RAM.

In the embedded world, programs are widely developed in C, C++ and, more rarely, in Ada. Due to being low-level, programs written in the C or C++ language often contain bugs undetectable by the toolchain. Recent C compilers add sanitizing options (for instance memory leak or overflow detector) that can be enabled in order to prevent some bugs at runtime.

In order to prevent bugs during execution, the Ada toolchain also adds runtime checks. SPARK is a formal programming language based on the Ada language. It aims at ensuring properties statically during the build process. Thus, since each property is statically proved, the SPARK program can then be built without any runtime check in order to improve its footprint.

Recently, Mozilla Research sponsored the Rust programming language as a safe, concurrent and practical language. The Rust toolchain aims at checking several security properties at build time. It is based on the LLVM compiler, which turns out to have ARM assembly available as a binary target.

As described by Couprie and Chifflier [START_REF] Couprie | Writing parsers like it is[END_REF], the Rust language has:

managed memory without any garbage collector, -type safety, -thread safety, even though this feature is not required for embedded development, -native code with zero-copy feature, -easy integration with C and C++ code, -isolation of unsafe fragments of code (unsafe code can be used to write low-level code), and a minimal runtime.

Due to the limited resources of our target, we decided to develop our OS with the Rust programming language with the possibility to link with C/C++ code, especially for the board API. Moreover, the Rust runtime being really lightweight is an interesting feature available for the embedded world.

Tests

In order to have the JCVM being as secure as possible, there is a need to have as complete as possible unit tests. As the interpreter also aims at running on x86 machines for development purposes, it makes sense to execute the unit tests on x86 too.

From this point on, two ways forward can be chosen. The first one is to port the OS to x86 even though x86 had no MPU: let all the functions that change the MPU be no-ops, and do not test the MPU part.

The second one, which we picked, is to use the Linux mprotect function to emulate an MPU, as this allows simulating more precisely how things work in the Cortex-M4 CPU. However, mprotect only protects memory per block of 4 KiB, whereas the MPU allows protecting blocks as small as 32 bytes. This means that in order to simulate the MPU using mprotect, a trick has to be used.

The trick was to mprotect the whole 4 KiB, and catch the segmentation faults that will arise even in case of valid access. Then, analyzing the fault, we check whether it is on an allowed or disallowed address, and if it is on a disallowed address, we report the violation. If it is on an allowed address, we can then mprotect the segment back to allow its use, single-step, then mprotect the segment to lock it again.

So as to do this, the Linux ptrace system call gives all the required primitives with the cost of not being able to run the tests under another debugger. As debugging tests that fail is important too, the SIGILL signal is used to trigger a core dump of the child, and all analysis is performed post-mortem.

Implementing system calls is the last thing that had to be done in order to test the OS on an x86 desktop computer. These were implemented using the int3 x86 instruction, and thus perform a kind of "debugger call" that is then used in order to implement all the other primitives that normally require some help from the hardware (or, in this case, the debugger).

Thanks to the tests this framework allowed us to write, we discovered a few bugs in our implementation, including some that would not have been detected if the MPU was not emulated. We also hope it will help prevent future regressions.

Having functionally tested our OS and JCVM implementation, we evaluated our solution's footprint on the targeted architecture, so as to gather performance results that could help in balancing security gains against performance loss.

Timing

With all this functionality implemented and without any interaction with the interpreter (that is, measuring only the time of calling a no-op C function), calling a function takes 90 ns on the STM32F401RE board.

This measurement giving the baseline of the processor speed, we then measured the performance of system calls (in order to measure the approximate speed of the core to push and pop the required registers), which took 2.6 µs each.

Finally, we measured the time taken to perform a full remote call, that is a context switch to another security context which then returned a zero-valued result to the original security context through another context switch. Given the duration of a system call, this time had to be at least of 5 µs, as each remote call implies two system calls (one to enter the other security context, and one to come back to the first one). The final measure was 20 µs. In order to understand it, we looked at how long a write in RAM took on our test platform, and it came up at 71 ns. This means the implementation performs about 200 RAM writes for the context switch in addition to the two system calls that already take 5 µs, which, given the used data structures, could probably be improved but looks like an acceptable loss.

Even though this performance difference (90 ns vs. 20 µs) could look like a huge performance loss (approximately two hundred times slower), this is to be put in perspective by the time that will be spent in the interpreter (cost of going through a Shareable interface, etc.) as well as the tiny number of times such remote calls will occur in practice.

Analyzing our Contribution

More often than not, memory protection mechanisms are used in computer security to prevent corruption of legitimate applications from a malicious one. This mechanism is mainly implemented to segregate each process from the OS point of view.

In our contribution, we reorganized the JCVM architecture, from one based on an interpreter which executes a set of applets, to one interpreter per applet. With this approach, each applet is managed as an application from the OS point of view.

Segregating Java Card applets as applications improves memory protection granularity without costly software checks. Our solution prevents malicious Java Card applets (as well as rogue interpreters) from accessing other applets' context data. This approach also blocks native memory overflows that would be hard to stop (without specifically built toolchains or low-level pieces of code), like stack or heap overflows across security contexts.

Finally, our JCVM architecture can be used even if the microcontroller has no MPU mechanism. Indeed, each access to the resources is handled by OS syscalls. For such an architecture, segregation would be ensured by the OS and Java Card interpreter using more costly software checks.

Conclusion and Future Works

In this article, we introduced an approach to improve the confidentiality and integrity of Java Card applets' data along with reducing the amount of checks. We based our contribution on the MPU, a hardware security mechanism provided by ARM chips.

Merging the MPU with our JCVM requires reorganizing the architecture to one where each Java Card applet is segregated in its own context. The advantage of this new architecture is that it reduces the risk of memory corruption from both the native and the Java Card world without adding software checks.

If our JCVM implementation must run on a microcontroller without MPU, the designed architecture allows adding software verification in the OS at the syscalls level, although it wouldn't protect as effectively against an interpreter gone completely rogue. This approach offers a way to ensure security properties across several microcontrollers effortlessly. Now that we merged the MPU implementation into our JCVM, we are focusing on how to guarantee Control Flow Integrity (CFI) for each Java Card applet installed on the card. Several studies were completed in this direction [START_REF] Bouffard | Security automaton to mitigate laser-based fault attacks on smart cards[END_REF], where the CFG is checked through verifications implemented at software level. We want to improve on this approach using hardware mechanisms. Nyman et al. proposed in [START_REF] Nyman | CFI CaRE: Hardware-supported Call and Return Enforcement for Commercial Microcontrollers[END_REF] a CFI implementation based on the ARM-TrustZone mechanism. We are currently studying on how to adapt their approach for our microcontroller that does not have the ARM-TrustZone mechanism.

Fig. 1 .

 1 Fig. 1. Java Card security model

  An operation is allowed to access addr with perm (read, write or execute)

	Algorithm 1 MPU access checking
	Res ← Reject
	if DefaultMapEnabled then
	Res ← AllowsAccess(perm, IsPrivileged, DefaultMap)
	i ← 0
	for i → (number of segment -1) do
	if addr in Segment(i) then
	Res ← AllowsAccess(perm, IsPrivileged, Segment(i)) return Res

Ensure:


What the present can tell us about the future: A variationist analysis of future-time expression in native and nonnative French

Keywords: future-time reference, Hexagonal French, L2, variation

This investigation studies the second-language (L2) development of variable future-time expression in French. One hundred and eighteen nonnative speakers at four proficiency levels and 30 native speakers completed a written-contextualized task (WCT), a language-proficiency test and a background questionnaire. The verb form (inflectional future, periphrastic future, and present) selected for each item on the WCT was coded for three independent linguistic factors: presence of a lexical temporal indicator, temporal distance and (un)certainty. Multinomial logistic regression tests and a follow-up analysis of high and low frequency of the present demonstrated that this form plays a complex role in native-speaker variability and is acquired late in contexts of future-time reference for nonnative speakers.

Introduction

The study of the second language (L2) acquisition of tense-aspect-mood (TAM) systems has attracted numerous researchers who have examined issues pertaining to how nonnative speakers (NNSs) navigate the pairing of TAM functions to new forms in their L2. Although TAM covers a wide range of functionform connections, the majority of L2 studies have concentrated on past-time contexts. Thanks to a variety of methodologies, much has been learned, for instance, about the interplay between pragmatic means, temporal adverbials, and morphology for the marking of past-temporal reference (e.g. [START_REF] Bardovi-Harlig | Tense and aspect in second language acquisition: form, meaning and use[END_REF]. In comparison, relatively little work has been carried out on how NNSs express future-time reference in their L2. With respect to French, the expression of future-time temporality is one of four areas that Ayoun (2013: 196) suggests is in need of attention in future research in the field of the L2 acquisition of TAM. Within the TAM system, future-time reference is both a temporal distinction referring to any state or event posterior to speech time but also an aspectual-modal one that "necessarily includes an element of prediction or some related modal notion" (Lyons, 1977: 677). In the case of French, the expression of future-time reference can be accomplished in various ways, including, among others, present forms, the periphrastic future (PF), and the inflectional future (IF). Although most authors, be they linguists, grammarians, or curriculum developers, recognize that various forms can be used in the expression of future time, little consensus exists as to how each form is used. Different explanations, such as the distance between speech time and the future event, have been called upon in order to explain why one form is preferred over others in certain contexts. According to [START_REF] Poplack | Prescription vs. praxis: The evolution of future temporal reference in French[END_REF], most such explanations have attempted to associate one form with a given function or set of functions, although no consensus as to what this form-function symmetry would look like has been reached and usage data rarely corroborate the proposed analyses. This state of affairs has led numerous linguists (e.g. [START_REF] Comeau | window on the past, a move toward the future: sociolinguistic and formal perspectives on variation in Acadian French[END_REF][START_REF] Grimm | The future of Ontario French[END_REF][START_REF] King | Back to the future in Acadian French[END_REF][START_REF] Poplack | Prescription vs. praxis: The evolution of future temporal reference in French[END_REF][START_REF] Poplack | Does the futur have a future in (Canadian) French?[END_REF] to argue that the domain of future-time expression in native French provides an example of morphosyntactic variation.

Although most studies treating future-time expression in French as a variable phenomenon have been limited to native-speaker (NS) future-time expression, the variable nature of this phenomenon in native speech has important implications for L2 learners. In particular, NNSs are exposed to variation in the input they receive and learning targets are variable (both in terms of rate of use and in terms of modulating factors). Numerous linguists are interested in how NNSs acquire such variable structures [START_REF] Bayley | Variationist perspectives[END_REF], although little variationist work has been applied to the L2 acquisition of the French TAM system. In the current study, we contribute to this line of research with an investigation of future-time expression in both native and nonnative Hexagonal French.

Background

Although most investigations into future-time expression in French limit themselves to the two forms that are morphologically marked for future time, namely the PF and the IF, a recent concept-oriented investigation of future-time expression identified no fewer than six different forms used in future-time contexts [START_REF] Gudmestad | Variable future-time reference in French conversation: A qualitative comparison of native and nonnative speakers[END_REF]. Of these different forms, the three most frequent for both NSs and NNSs were the IF, PF, and present. Examples of each, taken from [START_REF] Gudmestad | Variable future-time reference in French conversation: A qualitative comparison of native and nonnative speakers[END_REF], are presented in ( 1 In what follows, we first discuss why future-time reference in French can be considered an example of morphosyntactic variation and, thus, studied using a variationist approach. We then examine how NSs of Canadian and Hexagonal French express future time, concentrating on those studies that have adopted a variationist approach. Finally, we turn to the few investigations that have examined how NNSs refer to future time in L2 French.

2.1 Future-Time Expression in French as a Variable Structure

The existence of multiple forms used for future-time reference begs the question of whether the IF, PF, and present are in complementary distribution or in competition. Both [START_REF] Poplack | Does the futur have a future in (Canadian) French?[END_REF] and [START_REF] Poplack | Prescription vs. praxis: The evolution of future temporal reference in French[END_REF] have stressed the fact that scholars working within both the prescriptive and descriptive traditions have sought to demonstrate that these forms are in complementary distribution for future-time reference, insofar as such authors attempt to ascribe a single set of functions to each form, thus attaining a one-to-one connection between form and function. However, Poplack and colleagues argue that this goal is illusory, which is clearly shown in Poplack and Dion's review of the treatment of future-time expression in a corpus of 163 grammars published in both Canada and Europe between the 16th and 20th centuries. Their findings revealed very little regularity and consensus among the grammarians, which they argue to be the result of inherent variability in the domain of future-time expression. In other words, they suggest that future-time reference in French constitutes an example of morphosyntactic variation and, for this reason, can be studied within a variationist framework.

Variationism, an approach first developed by [START_REF] Labov | The social stratification of English in New York City[END_REF], is interested in identifying and modeling variable structures. These variable structures are referred to as linguistic variables and each linguistic variable may be realized by two or more linguistic variants. The variable context is the context in which variation occurs. With respect to the linguistic variable of future-time expression, the variable context consists of contexts making reference to a state or event occurring after speech time. This linguistic variable can be realized by at least three different variants: IF, PF, present. Although originally applied to phonetic phenomena, [START_REF] Sankoff | Sociolinguistics and syntactic variation[END_REF] convincingly argued that variationism could be fruitfully extended to morphosyntactic variation, of which future-time expression is an example. He noted that distinctions between forms (such as IF, PF, and present) can be neutralized in certain, restricted discourse contexts, namely the variable context. In other contexts, no neutralization is found. For the case at hand, this means that IF, PF and present are variants in future-time contexts, but that they are not necessarily in variation in French more generally.

The goal of most variationist studies is to identify those factors that favor or disfavor the selection of a certain variant, thus allowing us to better understand how a range of linguistic and extra-linguistic factors come into play in a linguistic system, both at the individual and the speech-community level. In the case of second language acquisition (SLA), variationist approaches provide insight into how NNSs deal with the acquisition of variable structures, which are instantiated in the input they receive.

Variationist studies generally rely on quantitative analyses of (native or nonnative) language use as seen in large corpora, which allow researchers to model the influence of a variety of potential factors on the expression of a variable structure at the same time. More recently, interest in what different tasks can tell us about variation in language has become apparent. With respect to variationist SLA research, the importance of using multiple tasks was clearly and forcefully argued for by Geeslin (2010: 506):

if we hope to fully understand what a learner grammar looks like and how it develops, we must use multiple elicitation tasks because this is the only way to see the full variety of occurrences of a given structure and the full range of conditions under which they occur.

Following [START_REF] Geeslin | Beyond "naturalistic": On the role of task characteristics and the importance of multiple elicitation methods[END_REF], in the current study, we aim to further our understanding of variable futuretime reference using a controlled contextualized preference task.

Expressing Future Time as a NS

Many factors are thought to influence the choice among IF, PF and present for future-time expression. Of these, four of the most frequently cited include sentential negation, certainty, temporal reference, and the presence/absence of a lexical temporal indicator (LTI). The documented connections between these factors and the different forms used for future-time expression are summarized in Table 1.

[Insert Table 1 here.]

In what follows, we will review studies that have examined future-time reference first in Canadian varieties and then in Hexagonal French, concentrating on results reported for the four variables presented in Table 1.

Canadian varieties of French

Several variationist analyses of future-time reference in varieties of Canadian French have been carried

out, although most have looked exclusively at the IF and PF. This decision is generally motivated by the fact that these two forms account for the vast majority of verbal forms found in future-time contexts in Canadian French. For instance, [START_REF] Poplack | Does the futur have a future in (Canadian) French?[END_REF], who analyzed a corpus of vernacular Ottawa French, found that the PF accounted for 73 percent, the IF for 20 percent, and the present for only seven percent of their 3594 occurrences. A similar dominance of the PF has been reported in most Canadian studies, with the exception of [START_REF] King | Back to the future in Acadian French[END_REF], whose examination of Acadian French found slightly more IF than PF (present was excluded from their analysis). Most studies have thus concentrated on the IF and PF in an attempt to identify which factors encourage the use of one over the other.

The most robust finding concerns the apparent role played by sentential negation. As early as 1981, Deshaies and Laforge recognized that "negation leads to a quasi-automatic use of the IF" (29). 1 This factor has moreover been found to be significant in variationist studies on different varieties of Laurentian French [START_REF] Blondeau | La trajectoire de l'emploi du futur chez une cohorte de Montréalais francophones entre 1971 et[END_REF][START_REF] Grimm | The future of Ontario French[END_REF][START_REF] Poplack | Prescription vs. praxis: The evolution of future temporal reference in French[END_REF][START_REF] Poplack | Does the futur have a future in (Canadian) French?[END_REF], and Poplack and Turpin (1991: 155) state that "negative contexts, which themselves account for less than 10 percent of the data, are the only remaining loci in which IF is currently used productively in spoken Canadian French." It is, however, interesting to note that accounts of future-time expression in Acadian French (e.g. [START_REF] Comeau | window on the past, a move toward the future: sociolinguistic and formal perspectives on variation in Acadian French[END_REF][START_REF] King | Back to the future in Acadian French[END_REF] did not find sentential negation to be a significant factor.

The results for certainty, temporal distance, and LTI are not as consistent as those reported for sentential polarity. Concerning the certainty of the future action or state, [START_REF] King | Back to the future in Acadian French[END_REF] study of Acadian French spoken on Prince Edward Island and in Newfoundland found that outcomes that are certain to occur favor the use of the PF. In contrast, [START_REF] Comeau | window on the past, a move toward the future: sociolinguistic and formal perspectives on variation in Acadian French[END_REF] examination of Baie Sainte-Marie Acadian French and [START_REF] Grimm | The future of Ontario French[END_REF] analysis of Ontario French found that certainty of outcome was not a significant predictor for future-time reference. For the factor of temporal distance, studies of Acadian varieties of French [START_REF] Comeau | window on the past, a move toward the future: sociolinguistic and formal perspectives on variation in Acadian French[END_REF][START_REF] King | Back to the future in Acadian French[END_REF] found tendencies in line with what might be expected, with the PF being favored in proximal contexts. For Laurentian French, some studies have shown no significant effect [START_REF] Blondeau | La trajectoire de l'emploi du futur chez une cohorte de Montréalais francophones entre 1971 et[END_REF][START_REF] Grimm | The future of Ontario French[END_REF], whereas others have found a significant role for temporal distance, but one in which the results run counter to expectations [START_REF] Poplack | Prescription vs. praxis: The evolution of future temporal reference in French[END_REF][START_REF] Poplack | Does the futur have a future in (Canadian) French?[END_REF].

Finally, previous studies have examined the influence of a LTI on the verbal form used to make future-time reference. Although neither [START_REF] Blondeau | La trajectoire de l'emploi du futur chez une cohorte de Montréalais francophones entre 1971 et[END_REF] nor [START_REF] Grimm | The future of Ontario French[END_REF] found a significant effect of LTI, both studies looked only at PF and IF. Grimm and Nadasdi (2011: 182) write that it is thus "not surprising that we found no effect for adverbial specification, since its role seems to be linked to the futurate present." On the other hand, at least two studies that did not include the present in their multivariate analyses did find a significant effect of temporal adverbials: [START_REF] Poplack | Prescription vs. praxis: The evolution of future temporal reference in French[END_REF] study of the Ottawa-Hull Corpus and the Récits du français québécois d'autrefois and [START_REF] Comeau | window on the past, a move toward the future: sociolinguistic and formal perspectives on variation in Acadian French[END_REF] study of Acadian French showed that the IF was slightly favored when a LTI was present. Lastly, [START_REF] Poplack | Does the futur have a future in (Canadian) French?[END_REF] investigated the role of LTI on IF, PF, and present and found that IF was favored with 1 « la négation entraîne un emploi quasi-automatique du futur simple » (Our translation) non-specific adverbials, PF was favored when no adverbial was present, and the present was favored with specific and non-specific adverbials.

Hexagonal French.

The expression of future-time reference in Hexagonal French has received less attention than in Canadian varieties [START_REF] Gudmestad | Variable future-time reference in French conversation: A qualitative comparison of native and nonnative speakers[END_REF][START_REF] Jeanjean | Le futur simple et le futur périphrastique en français parlé: étude distributionnelle[END_REF][START_REF] Roberts | Future temporal reference in Hexagonal French[END_REF][START_REF] Söll | De la concurrence du futur simple et du futur proche en français modern[END_REF], and only two studies - the different verbal forms and categories of the independent variables were markedly different from the overall rates, indicating that these factors may be impacting verb form selection for these NSs.

Taken together, the results from studies examining future-time expression in native Canadian and

Hexagonal French indicate that the PF is the most frequent verbal form used for future-time expression in both varieties (although it tends to be more dominant in Laurentian French) and that a number of factors modulate the selection among IF, PF, and present. For Laurentian varieties and for one study on Hexagonal French [START_REF] Roberts | Future temporal reference in Hexagonal French[END_REF], sentential negation appears to be the most important factor, with negative future-time contexts strongly favoring the use of IF. However, other factors have been found to come into play, although results are less consistent. Finally, we highlight the fact that Gudmestad et al.

(2014), whose study was conducted primarily in the same target language community as the current study (Southwestern France, Aquitaine region), found evidence suggesting that certainty, temporal distance, and LTI -but not sentential negation -were modulating selection among IF, PF, and present forms for NSs of Hexagonal French. These factors will be further explored in the current study.

Expressing Future Time as a NNS

The few studies that have examined how NNSs use and acquire future-time expression in French have taken English NSs as participants, be they in a secondary-school immersion setting in Canada [START_REF] Nadasdi | Emploi du 'futur' dans le français parlé des élèves d'immersion française[END_REF], in a university setting in an Anglophone country [START_REF] Ayoun | The acquisition of future temporality by L2 French learners[END_REF][START_REF] Howard | From tense and aspect to modality: The acquisition of future, conditional and subjunctive morphology in L2 French. A preliminary study[END_REF][START_REF] Moses | The development of future expression in English-speaking learners of French[END_REF], or living in the target language community [START_REF] Gudmestad | Variable future-time reference in French conversation: A qualitative comparison of native and nonnative speakers[END_REF]. Regarding oral expression, [START_REF] Moses | The development of future expression in English-speaking learners of French[END_REF] and [START_REF] Howard | From tense and aspect to modality: The acquisition of future, conditional and subjunctive morphology in L2 French. A preliminary study[END_REF], who were both working in a university setting, found that relatively advanced (end of university) students underuse the PF as compared to NSs in oral interview tasks. On the other hand, both the study examining advanced NNSs living in the target-language community (Gudmestad et al.) and the analysis of high school students in an immersion setting (Nadasdi et al.) found that PF was the form used most frequently in oral expression. Additionally, these final two studies adopted a variationist perspective. Nadasdi et al. found that LTI was a significant modulating factor, with the presence of an adverbial favoring the use of the present. Gudmestad et al. found evidence of the importance of LTI, temporal distance, and (un)certainty in the use of the three main verbal forms for future-time expression.

Future-time expression in L2 French has also been studied using more controlled elicitation tasks.

Such was the case in [START_REF] Ayoun | The acquisition of future temporality by L2 French learners[END_REF]. She administered two written tasks to three groups of NNSs and a NS group, including a cloze test. Results from this task revealed that "all groups produced a variety of morphological forms to express futurity" and that they appeared "to be acquiring temporal and modal values associated with the future" (196). Moses also administered an elicitation task, which he called a meaning preference task. For this task, participants read a short context and then saw three responses (in present, PF, and IF). Participants were instructed to select all responses they considered contextually possible. The task was designed in such a way to examine whether NNSs and NSs have a temporal association with verbal forms used for future-time reference or an aspectual/modal one (predictionprospection). Moses concluded that learners move from a fairly targetlike aspectual/modal association of the forms to meaning in the second-year to a strong, non-targetlike temporal association of the present-for-future and periphrastic future forms to proximal events and the simple future to distal ones by the end of the study. ( 5)

Taken together, the existing literature on future-time expression in L2 French suggests that learners in an instructed setting underuse the PF and the present in oral production. In contrast, it appears that students in an immersion setting and NNSs living in a French-speaking environment use PF at rates that are similar to NSs. In addition to oral production data, results collected from elicitation tasks administered by Ayoun and Moses suggest that different temporal and modal values may be associated with verbal forms used to express future time by learners as they progress in their acquisition of L2

French.

Although one of the learnability issues in the acquisition of a variable structure concerns the rate of use of different variants, frequency of use does not provide the entire picture. It thus remains unclear whether similar linguistic factors modulate selection of verbal forms for NSs and NNSs of French and, if so, whether their influence is similar. Given that a previous study on oral production data collected from a similar population in France [START_REF] Gudmestad | Variable future-time reference in French conversation: A qualitative comparison of native and nonnative speakers[END_REF] The data analysis that centered on these questions then motivated a third question:

3. Which contexts resulted in high and low selection of the present for the NSs and the NNSs?

3. The current study 3.1 Method

Participants

The participants were affiliated with a French university located in the Southwest of France. Thirty NSs of Hexagonal French, native to the same region, were enrolled in undergraduate or Master's level courses on French as a foreign language at a French university. The NNSs (n = 116) were enrolled in undergraduate or Master's level courses on French as a foreign language or in intensive French language courses at a university-based language institute. Participants came from diverse linguistic backgrounds, with 24 different first languages represented. We divided the NNSs into four proficiency levels, based on a c-test (see the Data collection section). We thus follow [START_REF] Moses | The development of future expression in English-speaking learners of French[END_REF] and [START_REF] Ayoun | The acquisition of future temporality by L2 French learners[END_REF] in adopting a cross-sectional approach to the study of development of future-time expression in L2 French (see Gass, Behney, & Plonsky, 2013: 36, for a more general discussion of the use of cross-sectional research to study development in SLA). 3 Table 2 shows the results of this test.

[Insert Table 2 here.]

Data collection

The participants completed three tasks. The data on future-time reference came from a written contextualized task (WCT), which was modeled after a WCT designed to analyze future-time reference in Spanish [START_REF] Gudmestad | Second-language development of variable future-time expression in Spanish[END_REF]. This task consisted of 30 contextualized items that built on a single story and functioned as dialogue. After each paragraph-length context, the participants were asked to continue the story by choosing one of three sentences expressing a future state or event that differed 3 We recognize that there has been debate about real-and apparent-time research in sociolinguistics (e.g. [START_REF] Sankoff | Language change across the lifespan: /r/ in Montreal French[END_REF]. Additionally, there has been a call in L2 variationist research for more longitudinal research [START_REF] Bayley | Variationist perspectives[END_REF] because "the rate or route of SLA can be altered over time by contextual factors favoring explicit and/or implicit processes of acquisition" (Tarone, 2007: 845). We agree that longitudinal research plays a vital role in the understanding of L2 acquisition, but we leave discussions of this debate to future studies designed to address this issue through analyses of empirical data.

only in verb form (i.e. IF, PF or present). Although past uses of WCTs have often provided participants with the option of selecting more than one response, we opted for a forced-choice task in order to isolate the participant's preference for each combination of the independent variables. If at the level of the individual and at the level of the community more than one verbal form is possible in a particular variable context, each instance of that context can only elicit a single form from a given individual in real-world language use. The first item from the WCT is provided in Figure 1.

[Insert Figure 1 here.]

The 30 items represented all combinations of the categories of the three independent linguistic factors examined (see the Data coding section). We took care to control for other variables that have been shown

to be connected to future-time reference, such that the items did not contain negation or subordination and the verb was in the first-person singular. The second task was a c-test, which was used to distinguish L2 proficiency levels (see [START_REF] Renaud | On the nature of agreement in English-French acquisition: A processing investigation in the verbal and nominal Domains[END_REF]. For this test, the second half of every second or third word in a short paragraph was replaced with a blank and participants had to complete the incomplete words. The final task was a background questionnaire, which allowed us to gather demographic information and details about education and language experiences. 4

Data coding

The dependent variable was the verb form chosen -IF, PF, or present -to convey the function of futurity on the WCT. These three variants were targeted as [START_REF] Gudmestad | Variable future-time reference in French conversation: A qualitative comparison of native and nonnative speakers[END_REF] speaking. The five categories were immediate, today, less than a week, less than a month, and greater than a year. Irrespective of whether the target sentence contained a LTI, information on temporal distance was available in the context that preceded the target sentence. The factor of (un)certainty consisted of three categories: presence of an uncertainty marker (e.g. peut-être 'maybe'), presence of a certainty marker (e.g. certainement 'certainly'), and no marker. When an (un)certainty marker was present, it was placed immediately after a IF or present verb or in between the conjugated and the infinitive verbs of the PF.

Data analysis

We conducted a quantitative analysis in three stages. First, we carried out cross-tabulations to analyze the rates of verb-form selection for each participant group. Second, we performed a set of multinomial logistic regressions, in order to examine the influence of each of the three independent linguistic factors on verb-form selection. With this type of analysis, we were able to compare two categories of the dependent variable individually (IF and present) against another -base -category (PF), thus considering the three independent variables under investigation in a single model. Given that the results from the multinomial regressions indicated different selection patterns for present forms in future contexts for our participant groups, a final follow-up analysis focusing on the selection of the present with respect to temporal distance and (un)certainty of the future event was carried out. For this analysis, we examined the contexts that elicited particularly low and high rates of the present. At each stage of the analysis we compared the L2 groups to make observations about L2 development and the L2 and NS groups to assess whether L2 patterns of verb-form selection resemble those that are presumably found in their input (those instantiated in the NS results).

Results

Frequency

The cross-tabulations for the frequency of selection of the three variants of the dependent variable are shown in Table 3. Beginning with the NSs, the PF was selected most frequently (44.0%), followed closely by the IF (38.1%). Their rate of selection of the present was lower (17.9%) than the other forms.

Level 2 exhibited a similar hierarchy of selection and most closely approached the NS pattern. On the other hand, Levels 1, 3 and 4 showed a similar rate of selection between the IF and PF (a difference of 0.8% for Level 3, of 2.0% for Level 4, and of 2.1% for Level 1). Like the NSs, these groups selected the present least frequently.

[Insert Table 3 here.]

Multinomial regressions

In the second phase of the analysis, we conducted a multinomial logistic regression on the dataset for each participant group separately. We initially included all three independent linguistic factors in each statistical test. However, when a model revealed that a certain variable was not significant, we ran the model again without that variable. The single model from this statistical test compares one category of the dependent variable (IF) against the base (PF) and then compares the third category (present) against the same base (PF). 5 As with classic multivariate regression analyses, each independent variable is evaluated by comparing a base category of that variable to the other categories. In our analysis, the base category of the independent variables were 'present' for LTI, 'today' for temporal distance, and the presence of an uncertainty marker for (un)certainty. There were three possibilities that resulted from these comparisons:

 if the upper and lower limits of the 95% confidence interval for Exp(b) contained the value of 1, the selection of the dependent variable (IF or present) was not significantly different from the base category (PF),

 if the values for the upper and lower limits were greater than one, the odds of choosing a category other than the base (IF or present) were significantly greater than the odds of choosing the base category (PF), and

 if the values for the upper and lower limits were less than one, the odds of selecting IF or present were significantly less than the odds of selecting PF.

Tables 4 and5 provide a summary of the results for the five multinomial logistic regression models and we offer additional details for these models in the Appendix. Although we provide the results for the comparison of IF versus PF and the comparison of present versus PF in separate tables to facilitate the presentation of these findings, it is important to note that the results come from only one regression test for each participant group.

[Insert Table 4 here.]

5 Although any one of the three categories could have been selected as the base category, we chose to specify the most frequent variant -the PF -as our base. This means that the multinomial analyses will

show us what factors encourage or discourage the use of this form.

[Insert Table 5 here.]

We begin with a description of the findings for the comparison between selection of IF versus PF (Table 4), followed by the selection of the present versus PF (Table 5). Beginning with temporal distance, a comparison of the five participant groups reveals that the results for Levels 2 and 4 and the NSs are identical. For these groups, the odds of choosing the IF over the PF are lower when the future event is immediate as opposed to today, and the odds are higher when the future event is less than a month or greater than a year from the moment of speaking instead of today. No difference was observed between future events less than a week away versus those within 24 hours. The results for Level 3 were similar to these groups with one exception: There was no difference in the odds of selecting the IF and PF in immediate, instead of today, contexts. Finally, for Level 1, the odds of choosing the IF over the PF were the same in immediate, less than a week and less than a month contexts versus today contexts. Only when the future event was more than a year away was the IF more likely to be chosen over PF. Taken together, when compared with today contexts, the IF tended to be favored over the PF in more distal contexts (> Year for all groups and < Month for four of five groups), and NSs, Level 2, and Level 4 showed greater odds of choosing the PF over the IF in the most proximal contexts (immediate).

Next, for the influence of the (un)certainty of the future event on the selection of IF versus PF, all participant groups exhibited the same trends. The odds of choosing the IF over the PF were lower when there was no marker and when a certainty marker was present instead of when an uncertainty marker was present. In other words, all participants were more likely to select the IF versus the PF when the target sentence carried a marker indicating that the realization of the future event was uncertain. The third and final independent variable -LTI -was only significant for Level 3. For this group, no difference between the PF and the IF was observed.

Although the L2 groups and the NSs were similar in their selection of IF versus PF with the variables under investigation (Table 4), the multinomial logistic regression models revealed several differences among the participant groups when the present and PF were compared (Table 5). Regarding temporal distance and the NSs, the odds of choosing the present and the PF were the same in immediate and less than a month, as opposed to today, contexts. The odds of choosing the present versus the PF were lower in less than a week and greater than a year, as opposed to today, contexts. Each L2 group was identical to the NSs in immediate contexts. However, as can be seen in Table 5, differences between NSs and NNSs occurred in the three more distal categories.

Additionally, no L2 group resembled the NSs with the (un)certainty variable on the present versus PF comparison. As opposed to when an uncertainty marker was present, NSs showed a greater tendency to choose the present versus the PF in the presence of a certainty and in the absence of any marker. In contexts with certainty markers, Levels 3 and 4 matched NS patterns, whereas no difference in the odds of choosing one form over the other was found for Levels 1 and 2. When contexts without (un)certainty markers were compared to contexts with uncertainty markers, no group exhibited the targetlike pattern. Finally, regarding LTI, which was only significant for Level 3, the odds of choosing the present over the PF were lower when an LTI was absent instead of present.

Follow-up analysis of the present

Since the participant groups exhibited more differences in form selection between the present and PF than they did for the IF and PF, we conducted a follow-up analysis that focused on the present in order to learn more about the linguistic contexts that most strongly encourage and discourage selection of this form. By identifying those contexts that showed highest and lowest selection of present in a future-time context, we aim to better understand what specific functions are strongly and weakly connected to the selection of the present to express future time. For this analysis, low and high frequency of present selection were operationalized in similar ways. We considered that a context resulted in low present selection when the present was chosen in a number of contexts that was less than or equal to one quarter of the average rate of selection of the present for that participant group (i.e. three-quarters below the average), whereas high frequency was operationalized as choosing the present at a rate that was three quarters or more above the average for each group. 6 For example, NSs chose the present an average of 17.9 percent of the time (Table 3). One quarter of this rate of selection is 4.48 percent, whereas three quarters above is 31.33 percent.

Thus, any context that showed a rate of selection that was less than or equal to 4.48 percent for the NSs was classified as a context resulting in low frequency and any context in which 31.33 percent or more of NSs selected the present was considered to be a high frequency context. As concerns the number of contexts discouraging the selection of the present, we found that as L2 groups gained in proficiency, the number of contexts that exhibited low rates of present selection increased: Level 1: 0 contexts; Level 2: 3 contexts; Level 3: 4 contexts; Level 4: 6 contexts; NSs: 14 contexts. The number of contexts in which the present was frequently selected was similar for each group (5 or 6). Taken together, two-thirds of the experimental items resulted in high or low frequency selection of the present for the NSs, whereas the NNS groups showed a steady increase in the number of contexts strongly discouraging the selection of the present as a function of proficiency.

6 Because each participant group selected the present at a different rate, this way of operationalizing frequency has the advantage of providing consistency across participant groups.

In what follows, we will examine contexts resulting in low and high selection of present as a function of the two independent variables found to be significant in our multinomial regression analysis:

temporal distance and (un)certainty. Figure 2 shows the distribution of contexts resulting in low selection of the present as a function of participant group and temporal distance category. Six tokens for each of the five categories of temporal distance were included in this task, and we see from the figure that NSs selected the present infrequently in contexts corresponding to all five categories, with the highest number of contexts corresponding to events that were more than a year away (5 out of 6 contexts) and the lowest number of contexts corresponding to events occurring today (1 out of 6). Each L2 group selected the present infrequently in fewer types of temporal-distance contexts than the NSs, and no L2 group showed infrequent selection of the present in immediate contexts.

[Insert Figure 2 here.]

As for contexts resulting is high selection of the present, Figure 3 shows that no group chose the present frequently in contexts that were less than a week or more than a year away. Whereas Levels 1 and 2 selected the present frequently in immediate and today contexts only, the remaining participant groups chose the present frequently in these contexts, as well as in one that was less than a month away.

[Insert Figure 3 here.]

Turning now to the factor of (un)certainty, Figure 4 illustrates the number of contexts (out of 10 per category) that exhibited low rates of present selection for each participant group and each category of (un)certainty. Levels 2 through 4 and the NSs were similar in that items including markers of uncertainty resulted in the highest number of contexts with low-frequency present selection. In other words, contexts in which the future event is uncertain to happen appear to have the potential to most strongly discourage the selection of the present to express future-time events.

[Insert Figure 4 here.]

The final figure illustrates the results for the contexts in which participant groups selected the present frequently according to (un)certainty. For each participant group, most of the contexts that exhibited highfrequency selection of the present were items with certainty markers. Level 1 was the only group to select the present frequently in a context with an uncertainty marker.

[Insert Figure 5 here.]

Discussion

To begin this section we provide responses to our three research questions and connect our findings to previous research on future-time reference in French. Following this synthesis of the results, we consider the contributions that our study makes to the understanding of future-time reference in French and to tense in L2 acquisition of TAM more generally.

Frequency of Selection and Modulating Factors

The first research question addressed the frequency with which the participant groups selected the IF, PF, and present in contexts of future-time reference. The results revealed that the NSs and the L2 groups chose the present least often. Whereas Level 1 selected the IF slightly more often than the PF, the other participant groups demonstrated the opposite pattern, though the difference in frequency between the two forms was not always substantial. These findings also indicated that Level 2 selected each verb form at a rate that was most similar to the NSs' frequencies. Although differences in frequencies were observed among the L2 groups, dramatic changes along the developmental trajectory did not appear to occur.

When we compare the selection rates identified in our WCT with previous analyses on spoken French, it is clear that our NSs' general preference for the PF was in line with usage rates reported for most varieties of Canadian (e.g. [START_REF] Poplack | Does the futur have a future in (Canadian) French?[END_REF] and Hexagonal French (e.g. [START_REF] Gudmestad | Variable future-time reference in French conversation: A qualitative comparison of native and nonnative speakers[END_REF]. Previous research on NNSs of French has found that instructed learners in a foreign-language setting tend to prefer (and even overuse) the IF [START_REF] Howard | From tense and aspect to modality: The acquisition of future, conditional and subjunctive morphology in L2 French. A preliminary study[END_REF][START_REF] Moses | The development of future expression in English-speaking learners of French[END_REF], whereas two studies carried out with immersion students [START_REF] Nadasdi | Emploi du 'futur' dans le français parlé des élèves d'immersion française[END_REF] and highly advanced NNSs living in the target language community [START_REF] Gudmestad | Variable future-time reference in French conversation: A qualitative comparison of native and nonnative speakers[END_REF] found that the participants used the PF most frequently in oral production. In our data, both patterns are instantiated, as our Level 1 participants showed a slight preference for the IF, whereas the three more advanced groups of NNSs selected the PF with the same frequency or more frequently than the IF. These findings, when interpreted against the backdrop of the previous research, suggest that both proficiency and learning context seem to play a role in the rate of selection of PF and IF for NNSs.

The second question asked which linguistic factors were related to the selection of IF, PF, and present for NSs and the L2 groups. Results showed that temporal distance and (un)certainty predicted verb-form selection for all participant groups, and that Level 3 was the only group whose verb-form selection was influenced by the variable of LTI. Beginning with the comparisons of IF versus PF, more similarities than differences among participant groups were identified for the categories of temporal distance and (un)certainty. More specifically, each L2 group showed patterns similar to the NS group in most cases with respect to temporal distance, and in all cases for (un)certainty. In contrast to IF versus PF, the only context in which every participant group was identical on temporal distance for the PF versus the present comparison was with immediate versus today contexts. In all other categories of temporal distance and (un)certainty, differences were observed with at least one participant group.

Because the multinomial regression analyses revealed more differences among L2 groups and NSs for the present versus the PF than for the IF versus PF, we formulated a third research question and conducted a follow-up analysis to learn more about the similarities and differences in the contexts of temporal distance and (un)certainty in which NNSs and NSs selected the present at low and high rates.

This analysis revealed that in general the selection of the present for future-expression was encouraged in proximal contexts and in the presence of certainty markers. The analysis of contexts discouraging the selection of the present showed that future events occurring in a distant future and future events unsure to occur were more likely to discourage the present. These general trends were somewhat stronger among then NNS groups than in the NS data.

When compared to previous research, several observations can be made concerning our results on the importance of LTI, temporal distance, and (un)certainty markers in the expression of future time in French. First, although it is claimed that the present is primarily used for future-time reference in the presence of an overt LTI, evidence for a relationship between LTI and the present for future reference was only found for Level 3. Thus, it appears that the presence of an overt LTI in a future-time context is not necessary in order to license the selection of the present, but rather that other cues in the discourse appear to be sufficient to allow the speaker to interpret the present form as having future reference.

Turning now to temporal distance, the statistical models for each group, combined with the follow-up analyses on the present, suggest a role of temporal distance in the selection of verb forms, particularly with respect to IF versus PF, insofar as most groups showed greater odds of choosing the PF over the IF in proximal contexts and greater odds of choosing the IF over the PF in distal ones. This distinction along temporal lines also appeared to emerge and be reinforced as a function of proficiency:

Level 1 showed a greater tendency to prefer the IF over the PF in greater than a year contexts, Level 3

showed greater odds of choosing IF over PF in greater than a year and less than a month contexts, and Levels 2 and 4 showed the pattern found in NSs, where PF was more common than IF in immediate contexts, but IF was more common than PF in greater than a year and less than a month contexts (compared to today contexts). As concerns the present for future-time expression, the follow-up analysis indicates that contexts from this study that favored the selection of the present were almost all proximal contexts. Contexts discouraging present-form selection tended to describe future events occurring in a distant future. Of the different studies on native French, only [START_REF] Roberts | The influence of linguistic factors on the expression of futurity in Martinique French[END_REF] on Martinique French and [START_REF] King | Back to the future in Acadian French[END_REF] and [START_REF] Comeau | window on the past, a move toward the future: sociolinguistic and formal perspectives on variation in Acadian French[END_REF] on Acadian French found similar importance for temporal distance, making the current study the first that we know of to empirically document such a role for temporal distance in NS Hexagonal French. As for our NNSs, our results are in line with those reported by [START_REF] Moses | The development of future expression in English-speaking learners of French[END_REF], whose more advanced NNSs adopted a temporal interpretation of verbal forms for future-time expression.

The third and final independent variable tested was (un)certainty, and results showed that all groups favored the IF over the PF in the presence of an uncertainty marker, a result that corresponds to descriptions of future-time expression insofar as the IF is associated with uncertain outcomes. Such was also the result reported by [START_REF] King | Back to the future in Acadian French[END_REF] for Acadian French, who found that the PF was favored with future states and actions that were certain to occur. As concerns the selection of the present, the multinomial regression analysis conducted on the NS data showed that the odds that these participants would select the present over the PF were higher when a certainty marker or no marker was present as opposed to when a marker of uncertainty was present. This is also visible in our follow-up analysis, insofar as contexts of uncertainty had the greatest number of low present-form contexts for our NSs, whereas contexts of certainty had the most high present-form contexts. Although results for our NNSs on the multinomial regressions revealed differences when compared to the NSs, the follow-up analysis which concentrated on the contexts in which the present was chosen frequently and infrequently showed similarities across groups: low present-form contexts were more numerous in the presence of an uncertainty marker for Levels 2, 3, and 4, whereas high present-form contexts most frequently found in the presence of a certainty marker.

Contributions

We turn now to the contributions that our study makes to the understanding of future-time reference in French and to tense in L2 acquisition of TAM more generally, beginning with two methodological contributions. Firstly, this study used insights gleaned from a variationist analysis based on oral production [START_REF] Gudmestad | Variable future-time reference in French conversation: A qualitative comparison of native and nonnative speakers[END_REF] in order to construct a controlled, elicitation task. Although these data do not directly reflect production, results from the WCT allowed for us to confirm initial insights concerning three linguistic factors and to further refine their role in verbal form selection for NSs and four groups of NNSs. As observed by Geeslin (2010: 507), "regardless of whether one begins with a highlynaturalistic task or a highly-controlled one, it is probable that additional tasks will prove useful in expanding the foundation laid in the original study." Although the use of such elicitation tasks in variationist studies is recent compared to the use of oral interviews, we strongly believe that such approaches provide an important complement to corpora-based analyses insofar as they allow for us to test the full (or at least a fuller) variety of occurrences and conditions for a given variant. Secondly, this study is the first to conduct a multinomial regression analysis on future-time reference in French. This Our analysis of the present also suggests that the connection between the present and future-time reference develops more gradually in interlanguage than the other two forms. Regarding frequency, each L2 group selected the present more often than the NSs. In terms of linguistic contexts, more instances of non-targetlike selection were observed with the present versus PF comparison than the IF versus PF comparison, even with the most advanced-level L2 group. The learnability issues of selecting the present with appropriate frequency and in appropriate linguistic contexts may stem from various issues. First, previous studies of oral production (e.g. [START_REF] Poplack | Does the futur have a future in (Canadian) French?[END_REF] and our own NS data demonstrate that the present is less frequent in the input in future-time contexts than the IF or PF. This suggests that learners receive less evidence of the ways in which the present varies in future-time contexts than the other forms, which may slow L2 acquisition. This claim is reinforced by SLA research that demonstrates the crucial role that input plays in L2 development (e.g. [START_REF] Ellis | Frequency effects in language processing: A review with implications for theories of implicit and explicit language acquisition[END_REF]. Second, present verb forms can occur with other functions in both present-and past-time contexts in French [START_REF] Franckel | Futur « simple » et futur « proche[END_REF]. This multifunctionality may add to the acquisitional challenge of modulating the contexts in which the present occurs in future-time reference because learners may simultaneously be juggling these functions of the present with others. In addition to the multifunctionality of the present form, it bears note that in order to understand or produce the present as future, the learner must be capable of interpreting and/or encoding a future-time context by other than morphological means. This may be by the co-occurrence of a LTI, although we have found that this variable plays no significant role in verb-form selection (with the exception of Level 3), or by establishing temporal reference elsewhere in the discourse.

Despite these acquisitional challenges of the present within the greater TAM system, it is worth mentioning that the NNSs in our investigation -like the NSs -are sensitive to the linguistic factors of temporal distance and (un)certainty. The multinomial regression analyses showed that certain contexts favored or disfavored the present as opposed to the PF. The follow-up analysis of the present and the factors of temporal distance and (un)certainty also indicated that certain categories of these independent variables encouraged high and low frequency selection of the present, and several similarities were found with the distribution of present-form responses between the L2 groups and our group of NSs. The finding that NNSs modulate the present according to the linguistic factors of temporal distance and (un)certainty in future-time contexts suggests that adult learners are sensitive to the variability in the input. In other words, like NSs, they select the present in a range of categories of the independent variables and at different rates, though their frequencies of selection do not yet match the input (as measured by the NS performance). Moreover, as shown previously, the connections these NNSs make between this form and linguistic factors can change as interlanguage develops.

Conclusion

The current study demonstrates that including the PF, IF, and present in an analysis of variable future-time reference in French provides valuable insights into the L2 acquisition of TAM in French. To our knowledge, the present investigation constitutes the first time that both a multinomial regression test has been conducted to study future-time reference for NSs and NNSs of French and that a follow-up examination of the present has been performed. These analyses revealed new information about the ways that NSs and NNSs choose verb forms in contexts of future-time reference and suggested that selecting the present versus the PF with appropriate frequency in variable contexts develops more slowly in interlanguage than the IF versus the PF. In addition to these contributions, the current study has identified directions for subsequent research. As mentioned before, most studies into variable future-time reference have concentrated only on the IF and the PF. However, as is apparent in the results from the current study, the use of the present-for-future appears to have an important role to play, both in the native system and in the explanation of L2 development. In addition, previous studies that have found a role for both temporal distance and (un)certainty in future-time reference in French are relatively few, and our results thus need to be further investigated with additional tasks. Of particular interest for future research is the fact that the native and nonnative findings from the current study show several similarities with results reported for Acadian varieties of French with respect to these modulating factors.

Turning now to acquisitional issues, given that previous research has documented the fact that the representation of variable structures in pedagogical materials differs substantially from NS use of the variants in question (see [START_REF] Nadasdi | Emploi du 'futur' dans le français parlé des élèves d'immersion française[END_REF], we believe that explorations of the learning context (i.e.

second-language versus foreign-language) would allow us to better understand the role of input in the acquisition of future-time expression. This may be of particular interest for the use of the present in future-time contexts as what evidence exists concerning the extent to which the present-for-future is available in classroom input suggests that it may be underrepresented. Whereas [START_REF] Poplack | Does the futur have a future in (Canadian) French?[END_REF] found that seven percent of the future-time events in their corpus of Laurentian French were expressed using the present, Mourgeon, Nadasdi, and Rehner's (2010: 95) investigation of the language of teachers in a Canadian immersion setting identified only three percent of all occurrences involving present forms. More strikingly, [START_REF] Gudmestad | Variable future-time reference in French conversation: A qualitative comparison of native and nonnative speakers[END_REF] found that present forms accounted for a full 33.5 percent of total future-time reference forms in a corpus of Hexagonal French, whereas Moses (2002: 147) reported that the present-for-future accounted for only 1.6 percent of future-time tokens in 350 minutes of ambient classroom input in beginning and intermediate university-level French language classes in the United States. In short, the current study has provided empirical evidence that demonstrates that the present plays an important role in the acquisition of variable future-time expression in French and is worthy of continued investigation.

Factor Documented connection to future-time expression Sentential negation -IF and negation are compatible because both are thought to have a hypothetical reading -PF, being closely related to the present (insofar as aller 'to go' is conjugated in the present) is incompatible with the hypothetical reading associated with negation Certainty -IF shows a clear break from speech time and thus is more compatible with uncertain events -PF, because of its connection to the present, is associated with the expression of future events that are certain to happen Temporal reference -IF is most often used in the expression of distal future events because of the clear break it marks from speech time -PF and present can be used to express proximal events because of their connection with the present LTI -Present is often (and some authors say must be) accompanied by a temporal adverbial making reference to future time in order for a future reading to be accessed. Cert.

NA

  comme ça on aura un deuxième avis (F7, 305) ('that way we will have a second opinion') b. PF: je vais avoir certainement des détails demain (F7, 330) ('I'm certainly going to have details tomorrow') c. Present: demain je n'ai que deux heures (F5, 124) ('tomorrow I only have two hours')

  [START_REF] Gudmestad | Variable future-time reference in French conversation: A qualitative comparison of native and nonnative speakers[END_REF] examined a 2006 corpus of 8.3 hours comprised of 10 dyadic spontaneous conversations between a highly advanced NNS of French (whose first language was English) and a NS interlocutor of their choice. All participants were living in France at time of testing, and the NNSs were recruited via advertisements, personal networking and contacts with an Anglophone club located in the Southwest of France; all had been residing in France for at least 4 years and, on average, for 18 years, 7 months.[START_REF] Gudmestad | Variable future-time reference in French conversation: A qualitative comparison of native and nonnative speakers[END_REF] identified all future-time reference contexts for NSs (n = 371) and coded the verbal forms used in those contexts. An analysis was then undertaken to determine whether a number of factors, including sentential polarity, certainty, temporal distance, and LTI, appeared to modulate the selection of verbal forms for future-time expression. Of these four factors, sentential polarity appeared to be the least influential. For certainty, temporal distance and LTI, distributions across 2 For the sake of comparison, the percentage from[START_REF] Gudmestad | Variable future-time reference in French conversation: A qualitative comparison of native and nonnative speakers[END_REF] takes into account only PF versus IF, although this study examined all forms used to express future-time reference.

  documented the importance of three linguistic factors -LTI, temporal distance, and (un)certainty -in future-time expression, the primary goal of the current study was to further examine the influence of these three factors on NSs and NNSs in their selection of the three most frequent verbal forms used for future-time expression (IF, PF, and present). In order to do so, an elicitation task was created in which we manipulated each of these three factors with the intention of providing responses to two research questions: 1. With what frequency do NNSs in a target-language context and NSs select the IF, PF, and present to express future-time reference on a written contextualized task? 2. Which linguistic factors are related to the rates of selection of the IF, PF and present for NNSs and NSs?

  found that they were the forms most commonly used to express future-time reference in a sample of speakers from France. The WCT was designed to analyze the importance of three independent linguistic factors: LTI, temporal distance, and (un)certainty markers. Once again, the results from[START_REF] Gudmestad | Variable future-time reference in French conversation: A qualitative comparison of native and nonnative speakers[END_REF] motivated this choice; as mentioned in the literature review, these three factors (and not sentential negation) appeared to modulate verb-form selection for the NSs of Hexagonal French in this study. LTI examined the presence or absence of a lexical expression that provided information about future-time reference within the phrase containing the future-time context. When a LTI was present (e.g. demain 'tomorrow'), it was located in sentence-final position. Temporal distance specified the distance of the future event from the moment of 4 By choosing to define our L2 groups on the basis of a proficiency measure, we hypothesize that the development of variable future-time expression will change as a function of proficiency. We leave the role that other background characteristics may play to future research.

  statistical test enabled us to analyze three verb forms in one statistical model for NSs and NNSs.Although the PF and IF are the most frequent forms used to express future time, the results from our multinomial regression models demonstrated that the present played a role in NS variability of future-time reference and that the ability to select the present, as opposed to the PF, in future-time contexts in targetlike ways developed more slowly than the IF, as opposed to the PF. Therefore, it appears that an analysis that focuses only on the PF and IF misses important details about NS variability and L2 acquisition of future-time reference in French.

Figure 2 :

 2 Figure 2: Items with Low-Frequency Present Selection according to Temporal Distance

Figure 3 :Figure 4 :

 34 Figure 3: Items with High-Frequency Present Selection according to Temporal Distance

Table 1 :

 1 Documented Connections between Four Linguistic Factors and Future-Time Reference Note. 50 is the highest possible score on the proficiency test. '<' denotes odds of choosing IF over PF are lower. '>' denotes odds are higher. '=' denotes odds are not different. 'NA' denotes a variable that is not significant.

	Group	N	Mean score	Range
	Level 1	29	18.2	4-24
	Level 2	23	30.1	25-33.5
	Level 3	41	38.4	34-42.5
	Level 4	23	45.0	43-49
	NSs	30	47.95	44-50
		Table 2: Proficiency-Test Results

Table 4 :

 4 Results for the Multinomial Logistic Regression: IF vs. PF '<' denotes odds of choosing present over PF are lower. '>' denotes odds are higher. '=' denotes odds are not different. 'NA' denotes a variable that is not significant.

		LTI			Temporal distance			(Un)certainty
	Group	Present	Absent	Immed.	Today <Week	<Month	>Year NA	Certainty	Uncertainty
	Level 1	Base	NA	=	Base	<	=	=	<	=	Base
	Level 2	Base	NA	=	Base	<	=	=	=	=	Base
	Level 3	Base	<	=	Base	<	<	<	=	>	Base
	Level 4	Base	NA	=	Base	=	<	<	=	>	Base
	NSs	Base	NA	=	Base	<	=	<	>	>	Base
	Note.

Table 5 :

 5 Results for the Multinomial Logistic Regression: Present vs. PF