Patrick Borel
email: patrick.borel@univ-amu.fr

PhD Charles Desmarchelier

PhD Marion Nowicki

MS Romain Bott

MD Franck Tourniaire

Can Genetic Variability in α-Tocopherol Bioavailability Explain the Heterogeneous Response to α-Tocopherol Supplements?

Keywords: single nucleotide polymorphisms, chylomicrons, absorption, tocopherol, nutrigenetic, vitamin E clinicaltrials.gov Identifier: NCT02100774

ou non, émanant des établissements d'enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.

INTRODUCTION

Vitamin E (VE), which consists of eight isomers known as α-, β-, γ-, and δ-tocopherols and α-, β-, γ-, and δ-tocotrienols, is considered to be the primary fat-soluble dietary antioxidant consumed by humans and has also been suggested to have biological activities independent of its antioxidant effects [START_REF] Mocchegiani | Vitamin E-gene interactions in aging and inflammatory age-related diseases: implications for treatment. A systematic review[END_REF]. For example tocotrienols could up-regulate genes related to osteoblastogenesis and might prevent colorectal cancer better than tocopherols. It has also been suggested that α-tocotrienol and γ-tocopherol are more effective than the other VE isomers for reducing cerebral infarcts.

VE has been hypothesized to be involved in the prevention of cardiovascular diseases and cancers following the negative associations observed in epidemiological studies between its dietary intake or fasting blood concentration and the incidence of these diseases.

Nevertheless, most prospective randomized controlled trials (RCTs) designed to provide definite evidence of the beneficial effects of TOL supplementation have failed to support these associations. Indeed, no effects and even adverse effects (2) of TOL supplementation have been reported. Several hypothesis have been proposed to explain this discrepancy. A first one suggests that, epidemiological studies being inherently biased, the absence of beneficial effect reported by most RCTs demonstrates that TOL is unrelated to these diseases. A second hypothesis suggests that TOL supplementation in RCTs was not effective because the TOL status among most participants was already close to optimal, thus providing no opportunity to observe any significant benefit of TOL supplementation. A third hypothesis might reconcile these two opposing views by suggesting that the benefit of TOL supplementation depends on the haptoglobin (Hp) genotype of the subjects [START_REF] Asleh | Divergent effects of alpha-tocopherol and vitamin C on the generation of dysfunctional HDL associated with diabetes and the Hp 2-2 genotype[END_REF]. Finally it has been suggested that any potential health benefits of TOL supplementation have been offset by diminution in the bioavailability of other VE isomers.

We suggest that the variability in the response to TOL supplementation observed in RCTs is in part due to interindividual differences in absorption and metabolism of TOL. These differences can be due to several factors, among them genetic variations that have been proposed as a determining factor in antioxidant status. Indeed, several genetic polymorphisms have been shown to influence the fasting blood TOL concentration [START_REF] Major | Genome-wide association study identifies three common variants associated with serologic response to vitamin E supplementation in men[END_REF]. Nevertheless, this parameter reflects the complex interactions between TOL intake, TOL absorption efficiency, blood clearance (e.g. liver secretion and tissue uptake), utilisation, and catabolism [START_REF] Parks | Mechanisms of vitamin E regulation: research over the past decade and focus on the future[END_REF] and its variability is hence highly dependent on environmental factors. Conversely, the chylomicron (CM) VE response to a VE rich test meal, which is acknowledged as a good estimate of VE absorption efficiency, also called bioavailability, is less affected by environmental factors and is hypothesized to be mostly dependent on genetic factors when similar VE rich test meals are given to different individuals. TOL bioavailability has systematically been shown to display an elevated interindividual variability in clinical studies of TOL supplementation, hence supporting the possible involvement of genetic factors. Yet, no study has attempted to decipher the mechanisms underlying this phenomenon.

Thus, the objectives of this study were to i) better characterize the interindividual variability of TOL bioavailability in healthy subjects, ii) assess whether this variability might affect the fasting TOL status, and iii) identify single nucleotide polymorphisms (SNPs) that are involved in this phenomenon.

RESULTS

Interindividual variability in the chylomicron TOL response to the meal

The postprandial chylomicron (CM) TOL response after consumption of the meal containing the TOL supplement is shown in Figure 1. The coefficient of variation (CV) of the CM TOL response was 81%, as illustrated in Figure 2.

Correlation between the CM TOL response to the TOL-rich meal and the fasting plasma TOL concentration

To assess whether the fasting plasma TOL concentration, which is known to be a marker of TOL status, was related to the ability to respond to dietary TOL, we calculated the correlation between the CM TOL response of the subjects (subjects' characteristics shown in Table 1) and their fasting plasma TOL concentration. Results showed that there was a significant positive correlation between the CM TOL response to the meal containing the TOL supplement and the fasting plasma TOL concentration (Pearson's r = 0.46, P = 0.004; Spearman's rank correlation coefficient = 0.38, P = 0.022).

Genetic variants associated with the TOL response

The PLS regression model that included all 3769 candidate SNPs (used as qualitative X variables) described the group variance with good accuracy (R 2 = 0.81) but was not predictive of this variance (Q 2 = -0.10), as shown in Table 2. Therefore, to improve the model and find an association of SNPs more predictive of the TOL response, we filtered out those that displayed the lowest variable importance in the projection (VIP) value (i.e. those that made no important contribution). After the application of increasing thresholds of VIP value (Table 2), the model which presented the highest Spearman's Rho between the measured and the predicted postprandial CM TOL response was selected. The Spearman's Rho value of this model was 85.2 % (P < 0.001) and it included 36 SNPs (28 not in linkage disequilibrium).. The 28 SNPs were located in or near 11 genes (ABCA1, ABCG1, APOB, BET1, IRS1, LIPC, NAT2, PNLIP, SLC10A2, SREBF2, ZNF664) (Table 3) and described 82 % of the group variance, with a predicted variance (Q 2 ) of 74 % (Table 2). The robustness and the stability of the model were validated by 4 independent procedures (see Notes section).

The association of these 28 SNPs with the CM TOL response was further evaluated using univariate statistics by comparing for each SNP the CM TOL response of the subjects who bore different genotypes (Table 3). For all the SNPs, subjects with different genotypes exhibited a significantly different CM TOL response (p after Benjamini-Hochberg correction < 0.05).

Genetic score to predict the CM TOL response of a genotyped subject

With the knowledge of a subject's genotype at the 28 aforementioned loci, it was possible to predict the subject's ability to respond to TOL according to the following equation:

With RP as the responder phenotype (i.e. the CM TOL response to a TOL rich meal), a as a constant (9.93), r i as the regression coefficient of the i th SNP included in the PLS regression model, and "genotype.(SNP i )" as a Boolean variable indicating the subject's genotype at the i th SNP. See Table 4 for the list of regression coefficients calculated by the SIMCA-P12 software.

DISCUSSION

The first aim of this study was to accurately determine the interindividual variability in TOL bioavailability. Thus, we chose to measure the postprandial CM TOL response to a TOL-rich meal, a widely used method for clinical assessment of TOL bioavailability. Note that the choice of TOL as the dietary source of VE limits our conclusions to TOL, which is the main form of VE used in VE supplementation trials and which is the main form of VE found in human tissues, and cannot be extrapolated to tocotrienols. Indeed it is not known whether absorption mechanisms of TOL and tocotrienols are similar in humans. The first observation from this study was the large range of interindividual variability in TOL bioavailability, estimated at 81% (CV), which is similar to previous observations (4). The second observation from this study was that a significant part of the interindividual variability in TOL bioavailability was explained by 28 SNPs in or near 11 genes. It was first striking to observe that 7 of these genes (Table 3) were shown to be involved in the postprandial CM triacylglycerol response in the same group of subjects (3). This observation was not surprising, as most newly absorbed VE is carried from the intestine to peripheral organs and the liver via CM [START_REF] Traber | Molecular mechanisms of vitamin E transport[END_REF]. Thus, SNPs in genes that modulate CM metabolism likely have an indirect effect on the CM VE response (3). Interestingly, SNPs in the 4 remaining genes were not associated with the CM triacylglycerol response and were thus specifically associated with the CM TOL response. These genes were: solute carrier family 10 (sodium/bile acid cotransporter), member 2 (SLC10A2), pancreatic lipase (PNLIP), sterol regulatory element binding transcription factor 2 (SREBF2), and ATP-binding cassette, sub-family G (WHITE), member 1 (ABCG1). SLC10A2 encodes an apical sodium-dependent bile acid transporter (ASBT). It has been shown that mutations in this gene cause primary bile acid malabsorption and SNPs have been suggested to impair bile acid transport. The association of this gene with the CM TOL response was therefore not surprising, as genetic defects in bile acid metabolism have been shown to cause fat-soluble vitamin deficiency. PNLIP encodes for pancreatic lipase, which is responsible for the intestinal hydrolysis of triacylglycerols (i.e. the primary form of dietary fat). Since VE is fat-soluble, it must be released from lipid droplets in the digestive tract to be incorporated into mixed micelles for efficient absorption. Thus, we hypothesize that SNPs that affect PNLIP activity or expression may affect fat hydrolysis and thus VE absorption. SREBF2 encodes for a transcription factor, SREBP-2, that controls cholesterol homeostasis. Interestingly, SREBP-2 modulates the expression of NPC1L1, which is involved in TOL absorption/transport. Thus the association between SNPs in SREBF2 could be explained by an indirect effect on NPC1L1 expression. ABCG1 is an ATP-binding cassette transporter involved in macrophage and liver cholesterol and phospholipid transport. There is no published study on its involvement in TOL transport. Nevertheless, unpublished in vitro and in vivo studies from our laboratory suggest that it is involved in the cellular efflux of TOL. Finally note that it was surprising to did not find some TOL transporters, i.e. α-TTP, CD36, SCARB1, SEC14L, associated with the TOL response. We have two hypothesis to explain this finding, the first one is that SNPs in these genes are indeed not associated to this phenotype, or their association is weaker than that of SNPs we have found associated. The second hypothesis is that SNPs in these genes were not entered in the PLS regression analysis because either they were not expressed on the BeadChips, or they were excluded from the analysis (for not respecting the Hardy-Weinberg equilibrium or because their genetic call rate was <95%). We acknowledge this limitation but it does not change the important finding of this study: TOL bioavailability is associated with a combination of genetic variants and we have found some SNPs that likely explain a significant part of the variability in TOL bioavailability.

The third noteworthy observation of this study was that the plasma TOL concentration was positively correlated with the CM TOL response to the TOL-rich meal. Since the fasting plasma TOL concentration is the result of interactions between several factors, e.g. dietary TOL intake, TOL absorption efficiency, TOL catabolism rate, etc., this association suggests that the individual ability to respond to dietary TOL is a key factor that governs blood TOL concentration. This likely affects tissue concentrations as well. Obviously, the size of the studied population and the candidate gene approach used in this study suggest that the list of SNPs involved in this phenotype will be corrected and/or complemented in future studies. It is also possible that additional SNPs will be involved in the CM response of other VE forms, e.g. tocotrienols, whether some different proteins are involved in absorption and metabolism of TOL and tocotrienols. However, the current results strongly support the conclusion that a significant percentage of the interindividual variability in TOL, and likely other VE isomers, bioavailability is explained by a combination of genetic variants.

We believe these results can be extrapolated to help to understand the interindividual differences observed when TOL supplements are given to healthy subjects. Indeed, we suggest that the interindividual variability in TOL bioavailability can partially explain the variability in the response to TOL supplementation, following the model proposed in Figure 3. In summary, the TOL responder characteristics of the subjects could affect both the initial TOL status and the amplitude of the blood and tissue response to TOL supplementation.

In conclusion, there is a high interindividual variability in TOL bioavailability, which is partly due to genetic variations. As suggested recently, future clinical studies designed to elucidate the impact of VE supplementation on various diseases should take into account the genetic characteristics of the subjects for a better interpretation of the results [START_REF] Mocchegiani | Vitamin E-gene interactions in aging and inflammatory age-related diseases: implications for treatment. A systematic review[END_REF][START_REF] Zingg | Genetic polymorphisms as determinants for disease-preventive effects of vitamin E[END_REF].

INNOVATION

Vitamin E (VE) supplementation has been hypothesized to reduce the incidence of oxidative stress-related diseases. However, results of RCTs do not support this hypothesis and show a very heterogeneous response to α-tocopherol (TOL) supplementation. We here show that TOL bioavailability is associated with the long term blood TOL status and that its variability is modulated, at least partly, by a combination of SNPs in 11 genes. These findings allow us to propose a model where the biological effects of TOL supplementation depend on one's individual genetic characteristics and could have significant implications in the design of future VE supplementation trials. , where r i is the regression coefficient of the i th SNP included in the PLS regression model and genotype.(SNP i ) is a Boolean variable indicating the subject's genotype at the i th SNP. A positive regression coefficient indicates that a genotype is associated with an increase in the postprandial chylomicron α-tocopherol response (e.g. The curve shows the theoretical biological effects of vitamin E (VE) supplementation as a function of vitamin E status (i.e. blood and tissue concentration). We hypothesize that this model can be applied to the different forms of VE, e.g. tocopherols and tocotrienols. When VE concentration is below optimal levels (i.e. when the concentration falls in intervals 1 or

TABLES

2), then the subject either displays symptoms of deficiency (interval 1) or does not fully experience the beneficial biological effects of VE (interval 2). When the VE concentration is optimal (interval 3), the maximum beneficial biological effects of VE are obtained. Finally, when VE concentration is above optimal (interval 4), adverse biological effects of VE can be observed. In studies with VE supplementation, several possibilities can take place depending on the VE responder characteristic of the subjects. Some examples are shown on the figure.

The first example is a subject who is medium responder (MR) and who has a barely suboptimal status (interval 2), in case of VE supplementation we hypothesize that he will benefit from the VE supplementation as his blood/tissue VE concentration can be expected to reach interval 3. A second example is a subject who is low responders (LR), in case of VE supplementation we hypothesize that he will not optimally benefit from the the supplementation because his VE status will not increase enough to reach interval 3. A third example with a subject who is high responder (HR) and who has an initial VE status close to interval 4. In that case there is a possibility that he might undergo adverse effect of VE supplementation because his blood/tissue VE concentration will reach the interval 4.

LIST OF ABBREVIATIONS

ABCG1 (ATP-binding cassette, sub-family G (WHITE), member 1); AUC (area under the curve); CM (chylomicron); CV (coefficient of variation); HPLC (high performance liquid chromatography); PNLIP (pancreatic lipase); PLS (partial least squares); SLC10A2 (solute carrier family 10 (sodium/bile acid cotransporter), member 2); SNPs (single nucleotide polymorphisms); SREBF2 (sterol regulatory element binding transcription factor 2); TOL (αtocopherol); VE (vitamin E); VIP (variable importance in the projection).

NOTES Subject number and characteristics

Forty healthy, non-obese, non-smoking men were recruited for the study. This group of subjects included the individuals who were initially recruited to determine if a combination of SNPs significantly explained the postprandial CM triacylglycerol response to dietary fat.

Subjects reported normal energy consumption (i.e. 2500 kcal/d) with <2% alcohol as total energy intake on a kcalorie basis. Subjects had no history of chronic disease, hyperlipidemia, or hyperglycemia and were not taking any medication known to affect VE absorption or lipid metabolism, e.g. tetrahydrolipstatin, ezetimibe, phytosterols, cholestyramine, fibrates…, during the month before the study or during the study period. Because of the relatively large volume of blood that was drawn during the study, blood hemoglobin concentration >1.3 g/L was an inclusion criteria. The study was approved by the regional committee on human experimentation (N°2008-A01354-51, Comité de Protection des Personnes Sud Méditerranée I, France). Procedures followed were in accordance with the Declaration of Helsinki of 1975 as revised in 1983. Objectives and requirements of the study were fully explained to all participants before beginning the study, and written informed consent was obtained from each subject. Two subjects left the study for personal reasons before they participated in the postprandial experiment, which left 38 subjects whose baseline characteristics are reported in Table 1.

DNA preparation and genotyping methods

An average of 25 µg of DNA was isolated from a saliva sample from each subject using the Oragene kit (DNA Genotek Inc., Kanata, ON, Canada). DNA concentration and purity were checked by spectrophotometry (Nanodrop ND1000, Thermo Scientific, Villebon sur Yvette, France) at 260 nm and 280 nm. All genotyping procedures were carried out by the Integragen company (Evry, France). The whole-genome was genotyped as follows: 200 ng of DNA was hybridized overnight to HumanOmniExpress BeadChips (Illumina, San Diego, CA, USA), which allowed for the analysis of approximately ~ 7.33 x 10 5 SNPs/DNA sample.

Unhybridized and non-specifically hybridized DNA was then washed away. Afterward, the BeadChips were stained and scanned on an Illumina iScan scanner (Illumina). Detailed methods are provided in the Infinium HD Assay Ultra Protocol Guide (Illumina). Eleven additional SNPs were genotyped as previously described (refer to "Choice of candidate genes" below).

Postprandial experiment

Subjects were asked to refrain from the consumption of vitamin supplements and VErich foods (an exclusion list was provided by a dietitian) 48 h before the postprandial visit. In addition, the subjects were asked to eat dinner between 1900 and 2000 the day before the postprandial visit and to abstain from alcohol and any food or beverage other than water until they arrived at the clinic. After the overnight fast, subjects arrived at the local Center for Clinical Investigation (la Conception Hospital, Marseille, France) and consumed a meal including a VE supplement. The meal consisted of semolina (70 g) cooked in 200 mL of hot water, white bread (40 g), cooked egg whites (60 g), peanut oil (50 g), and mineral water (330 mL). The VE supplement was provided as a capsule containing 67 mg α-tocopherol (TOL) equivalent (100 IU) of d-α-tocopheryl acetate (Holland & Barrett, Nuneaton, Warwickshire, England). The pill also contained gelatin, glycerin and soy bean oil. Subjects were asked to consume the meal at a steady pace, with one-half of the meal consumed in 5 min and the remainder of the meal consumed within 10 min (to diminish the variability due to different rates of intake and, thus, gastric emptying). No other food was permitted over the next 8 h.

(Dionex SA). Separation was achieved using a 10 mm x 4.0 mm Modulo-Cart guard column, with 2 µm particle size, (Interchim, Montluçon, France) followed by a 250 mm x 4.6 mm , 5µm particle size C 18 Zorbax Uptisphere column (Interchim). The isocratic mobile phase was composed of 100 % HPLC-grade methanol (Carlo Erba -SDS, Peypin, France) maintained at 35° C with a flow rate of 1.5 mL/min. TOL was detected at 290 nm and identified via spectra and a retention time coincident with authentic standard (Sigma-Aldrich, Saint Quentin Fallavier, France). Peaks were integrated using Chromeleon software (version 6.80, Dionex SA). Quantitation was performed using external calibration curves normalized to internal standard.

Calculations

Trapezoidal approximation was used to calculate the AUC of the postprandial plasma CM TOL concentration over 8 hours.

Choice of candidate genes

Selection of the SNPs used in the statistical analysis

The following scheme explains how we arrived to the 3769 SNPs used in the PLS regression.

Statistics: PLS regression

To identify SNPs associated with the variability observed in the TOL response, we used PLS regression using previously published rationale and model assumptions. SIMCA-P12 software (Umetrics, Umeå, Sweden) was used for all multivariate data analyses and modeling. PLS regression was chosen to identify SNPs (of the 3769 candidate SNPs) that were predictive of the postprandial CM TOL response according to their VIP value. A general genetic model was assumed (i.e. the 3 genotypes of each SNP were treated as separate categories with no assumption made about the effect conferred by the variant allele for homozygotes or heterozygotes on the postprandial CM TOL response). Different PLS regression models were built using increasing VIP threshold values. The validated model presenting the highest Spearman's Rho between the measured and the predicted postprandial CM TOL response was selected. The model explained 72.2% of the genotypic variable variation (R 2 X), and 81.6% of the phenotypic variation (R 2 Y) (prediction value Q 2 = 73.6% after cross-validation). Four procedures of validation were applied to validate the model :

Permutation technique

This procedure 1) assesses the risk that the PLS regression model is spurious, i.e. the model fits the current data set well but does not predict Y well for new observations, and 2) tests for overfitting. For this, the accuracy of fit (R 2 and Q 2 ) of the original model was compared with the accuracy of fit of 100 models based on data where the order of the Y matrix for the subjects (postprandial CM TOL response) was randomly permuted, while the X matrix (the genotype for the selected SNPs of each subjects) was kept intact. Thus, a robust model (where the fit between X and Y is high) should be unable to predict the permuted Y variables with the intact X variables. We considered a PLS regression model as validated when the average of the R² values of the 100 permuted models was less than half the R² value of the original model, indicating that more than half of the explained variability was not due to chance. Note Figure 1 (below) shows the results of these permutations for the selected PLS regression model.

Note

Single cross-validation

In this second validation procedure, 4-5 subjects were kept out of model development, their postprandial CM TOL response was then predicted by the model and subsequently compared with their measured postprandial CM TOL response. In this test, the predicted response values (Q 2 , fraction of the total variation of the response Y that can be predicted) should be close to the measured values (R 2 ), with predicted values Q 2 >0.5 (50%). This validation was repeated until all subjects were left out once and only once. P-values after cross-validation ANOVA were calculated.

Leave-k-out

In this third validation procedure, we challenged our PLS regression model by randomly

VIP stability following the leave-k-out procedure

In this last procedure, we checked that the top 10 SNPs (top 10 VIP values in Table 3)

remained unchanged following the leave-k-out procedure described above. Notes Figure 2 (below) shows good stability of the selected model with this validation (no variables missing across the validation rounds, similar 'weight' in the response).

FIGURESFigure 1 :

 1 FIGURES

Figure 2 :

 2 Figure 2: Individual AUCs of the postprandial chylomicron α-tocopherol response after

Figure 3 :

 3 Figure 3: Proposed model of the effect of the interindividual differences in vitamin E

Figure 1 .

 1 The horizontal axis represents the correlation between the permuted Y's and the original Y's. The vertical axis represents the R 2 (solid line and triangles) and Q 2 (dashed line and squares) values obtained in the permuted models. Values of the original model are on the far right (at correlation = 1), values of the 100 Y-permuted models are further to the left. Note that all the R² and Q 2 values of the permuted models are lower than the R² and Q 2 values of the original non permuted model. This strongly supports the conclusion that the ability of the original, non-permuted model to predict the phenotype was not due to chance.

Notes Table 3 .

 3 taking out k subjects (k = {1, 2, 3, 4}) from the original dataset, thus leaving a training dataset. The k subjects taken out were then reintroduced into this training set to assess whether the training models built without these k subjects were able to predict their postprandial CM TOL response accurately. This test was performed thirty eight times for k=1 and eight times for k = {2, 3, 4}. The Spearman's Rho between the measured and the predicted AUC of the postprandial plasma CM TOL concentration of the left out subjects is shown in Notes Table2. The correlation coefficient was >80%, even when up to four subjects were left out of the model. Relative prediction error following the leave-k

Table 1 .

 1 Characteristics of subjects included in the statistical analysis of the results *

	Parameter

Table 2 .

 2 Performances of different Partial Least Square regression models to explain the postprandial chylomicron α-tocopherol response *

	VIP threshold	R²	Q²	SNPs no.	P (CV-ANOVA)	Average R² of 100 permuted models	Spearman's Rho
	No selection	0.81 -0.10	3759	1	0.90	0.926
	>0.5	0.99 0.75	1077	0.16	0.98	0.986
	>1.0	0.90 0.79	342	6.24 x 10 -6	0.70	0.893
	>1.5	0.97 0.83	142	1.04 x 10 -4	0.86	0.981
	>1.6	0.91 0.78	123	5.71 x 10 -6	0.69	0.914
	>1.7	0.90 0.79	102	1.54 x 10 -6	0.66	0.912
	>1.8	0.85 0.78	78	3.09 x 10 -8	0.45	0.825
	>1.9	0.84 0.77	72	2.51 x 10 -8	0.42	0.826
	>2.0	0.83 0.75	61	1.84 x 10 -8	0.40	0.828
	>2.1	0.83 0.76	54	2.12 x 10 -8	0.38	0.845
	>2.2	0.82 0.74	44	2.09 x 10 -8	0.33	0.838
	>2.3	0.82 0.74	41	1.93 x 10 -8	0.33	0.841
	>2.35	0.82 0.74	36	1.81 x 10 -8	0.30	0.852
	>2.4	0.79 0.70	32	8.61 x 10 -8	0.27	0.842
	>2.5	0.77 0.68	30	1.36 x 10 -7	0.25	0.827
	>2.6	0.73 0.65	21	1.04 x 10 -6	0.20	0.788

Table 3 .

 3 Genes and single nucleotide polymorphisms associated with the postprandial chylomicron α-tocopherol response * SNPs present in the selected partial least squares regression model shown in

	Gene and SNP rs no.	VIP value	SNP minor allele frequency	q †
	APOB-rs4643493	3.66	0.103	0.006
	LIPC-rs4238329	3.28	0.139	0.003
	ABCA1-rs4149314	3.18	0.077	0.006
	SLC10A2-rs1571513	3.09	0.242	0.006
	LIPC-rs8041525	3.08	0.097	0.006
	ZNF664-rs7296124	3.04	0.096	0.006
	ABCA1-rs11789603	3.04	0.088	0.007
	PNLIP-rs2915775	3.04	0.250	0.007
	ABCA1-rs2274873	3.03	0.086	0.006
	APOB-rs1042031	2.94	0.153	0.013
	ZNF664-rs1048497	2.88	0.081	0.007
	BET1-rs10464587	2.86	0.293	0.013
	LIPC-rs7164909	2.83	0.144	0.006
	LIPC-rs8035357	2.77	0.131	0.010
	LIPC-rs12591216	2.71	0.096	0.011
	PNLIP-rs3010494	2.67	0.282	0.018
	ABCA1-rs4149297	2.67	0.088	0.026
	SREBF2-rs2839715	2.59	0.148	0.017
	APOB-rs1713222	2.58	0.152	0.019
	SREBF2-rs4822062	2.57	0.132	0.015
	SLC10A2-rs9558203	2.54	0.203	0.006
	LIPC-rs12593880	2.51	0.075	0.011
	SLC10A2-rs16961116	2.50	0.166	0.006
	SLC10A2-rs12874168	2.49	0.209	0.027
	SLC10A2-rs2065550	2.47	0.149	0.024
	IRS1-rs1316328	2.38	0.142	0.006

*

Table 2 .

 2 SNPs are ranked by decreasing variable importance in the projection (VIP) value. Note that 8 of the 36 SNPs present in the selected model were in linkage disequilibrium. Because these SNPs provided redundant information in the model, we randomly kept one of each SNP (those presented in this table), in the final selected partial least squares regression model. See the Notes section for a complete list of gene names and symbols. rs, reference single nucleotide polymorphism; SNP, single nucleotide polymorphism; VIP, variable importance in the projection. † Student's t test with the Benjamini-Hochberg correction was carried out to test differences between the postprandial chylomicron α-tocopherol response according to genotype groups for each SNP.

Table 4 .

 4 Regression coefficients of the genetic score equation that aims to predict the αtocopherol response of a genotyped subject to a α-tocopherol rich meal

	Genes and SNP rs number	Base substitution	Homozygous 1* Heterozygous Homozygous 2
	ABCA1-rs11789603	[C/T]	0.00	0.56	-0.42
	ABCA1-rs2274873	[A/G]	0.00	1.11	-0.83
	ABCA1-rs4149297	[C/T]	-0.34	0.49	0.00
	ABCA1-rs4149314	[A/G]	-0.43	0.58	0.00
	ABCG1-rs468320	[C/T]	-0.31	0.46	0.00
	APOB-rs1042031	[A/G]	0.00	-0.43	0.58
	APOB-rs1713222	[C/T]	0.00	-0.81	1.09
	APOB-rs4643493	[C/T]	0.00	-0.57	0.71
	BET1-rs10464587	[A/G]	0.00	-0.45	0.59
	IRS1-rs1316328	[A/G]	-0.58	0.86	0.00
	LIPC-rs12591216	[C/T]	1.67	-1.24	0.00
	LIPC-rs12593880	[A/C]	0.00	-0.40	0.54
	LIPC-rs4238329	[A/C]	-0.44	0.58	0.00
	LIPC-rs7164909	[C/T]	0.00	0.51	-0.37
	LIPC-rs8035357	[C/T]	-0.74	1.02	0.00
	LIPC-rs8041525	[A/G]	0.62	-0.48	0.00
	NAT2-rs4921920	[C/T]	-0.31	0.45	0.00
	PNLIP-rs2915775	[A/G]	0.00	0.56	-0.42
	PNLIP-rs3010494	[G/T]	-0.35	0.49	0.00
	SLC10A2-rs12874168	[A/G]	0.00	0.49	-0.34
	SLC10A2-rs1571513	[C/T]	-0.42	0.56	0.00
	SLC10A2-rs16961116	[A/G]	0.00	0.90	-0.62
	SLC10A2-rs2065550	[C/T]	0.00	0.48	-0.34
	SLC10A2-rs9558203	[C/T]	0.00	0.47	-0.33
	SREBF2-rs2839715	[C/T]	0.00	-0.78	1.07
	SREBF2-rs4822062	[A/G]	0.00	-0.39	0.54
	ZNF664-rs1048497	[A/G]	0.00	0.54	-0.40
	ZNF664-rs7296124	[C/T]	-0.43	0.57	0.00

* For a given SNP, homozygous 1 refers to subjects homozygous for the first allele. The responder phenotype (RP), i.e. the incremental area under the curve of the postprandial plasma chylomicron α-tocopherol concentration, can be predicted as follows:

Table 2 : Additional candidate SNPs selected 1 .

 2 In addition, we added 29 SNPs in 15 genes that were shown to be associated with the postprandial CM triacylglycerol response in the same group of subjects[START_REF] Desmarchelier | The postprandial chylomicron triacylglycerol response to dietary fat in healthy male adults is significantly explained by a combination of single nucleotide polymorphisms in genes involved in triacylglycerol metabolism[END_REF]. Indeed, CMs are the main carrier of newly absorbed VE in the blood, and we hypothesized that genetic variants that affect the secretion and clearance of CMs in the postprandial period can also likely affect the postprandial blood response of VE. We also added 11 SNPs that have been previously associated with lipid metabolism and which were not genotyped on the BeadChips (see Notes These SNPs have been selected because previous publications have shown that these SNPs, or SNPs in linkage disequilibrium with some of them, have a phenotypic effect on lipid metabolism. * SNPs excluded from all statistical analysis because either their genotype call rate was <95%, or they presented a significant departure from Hardy-Weinberg equilibrium (P<0.05 following the Chi-squared test), or only one genotype for the SNP was present in the studied population, or they were already genotyped on the HumanOmniExpress BeadChips.

	Candidate genes included those for which the encoded protein has been shown in vitro
	to be involved in TOL uptake by the enterocyte [i.e. scavenger receptor class B, member 1
	and Niemann-Pick disease, type C1, gene-like 1]. They also included genes that have been
	suggested to be involved, directly or indirectly, in enterocyte TOL metabolism, e.g. liver-fatty
	acid binding protein, intestinal-fatty acid binding protein, and microsomal triglyceride transfer
	protein. Finally, they included genes that have been associated with circulating TOL
	concentration in genome-wide association studies or candidate gene association studies. This
	choice resulted in the selection of 59 genes (see Notes Table 1 below), representing 4474
	SNPs.

* Different partial least squares regression (PLS) models were built by using increasing VIP threshold values. We first tested the validity of the models using the permutation technique (see the Notes section for more details): we considered a PLS regression model as validated when the average of the R² values of 100 permuted models was less than half the R² value of the original model, indicating that more than half of the explained variability was not due to chance. Then, the validated model presenting the highest Spearman's Rho between the measured and the predicted area under the curve of the postprandial plasma chylomicron α-tocopherol concentration was selected. This is the model with VIP >2.35, shown in the table. Validation criteria and procedures of the PLS regression models are described in the Notes section. CV-ANOVA, ANOVA after cross-validation; Q², predicted variance; R², explained variance; SNP, single nucleotide polymorphism; VIP, variable importance in the projection

ABCA1-rs11789603 (CT)) whereas a negative regression coefficient indicates that a genotype is associated with a decrease in this response (e.g. ABCA1-rs11789603 (TT)). A regression coefficient of 0 for a given SNP (e.g. ABCA1-rs11789603 (CC)) indicates that a genotype was not carried by enough subjects to reach statistical significance in the selected PLS regression model.

ACKNOWLEDGEMENTS

We are grateful to Dr Rachel Kopec for critical comments on the manuscript. Patrick Borel and Charles Desmarchelier had full access to all of the data in the study and take responsibility for the integrity of the data and the accuracy of the data analysis.

SNP ATP-binding cassette, sub-family A (ABC1), member 1 ABCA1 rs2066718* rs2230805* rs2230806* rs2230808* rs2472458* rs4149313* rs7862756* ATP-binding cassette, sub-family G, member 2 ABCG2 rs2231142 rs4148152* ATP-binding cassette, sub-family G (WHITE), member 5 ABCG5 rs17031672* rs6720173* ATP-binding cassette, sub-family G (WHITE), member 8 ABCG8 rs11887534* rs147194762* rs4148211* rs41448217* rs6544718* CD36 molecule (thrombospondin receptor) CD36 rs13230419* rs1527479 rs1527483 rs1761667 rs1984112 rs3211805 Fatty acid binding protein 1, liver FABP1 rs1545223* rs1545224* rs2197076 rs224188* rs2919871 Microsomal Triglyceride Transfer Protein MTTP rs1800591 rs2255119* rs745075* rs881980*

Subjects were only allowed to consume any remaining bottled water from the meal. A baseline blood sample was drawn before administration of the meal (i.e. in the fasted state) as well as at 2, 3, 4, 5, 6 and 8 h after meal consumption. Blood was taken up into evacuated tubes containing K-EDTA. Tubes were immediately placed into an ice-water bath and covered with aluminum foil to avoid light exposure. Plasma was isolated by centrifugation (10 min at 4 °C and 878 g) < 2 h after collection.

CM preparation

Plasma (6 mL) was overlaid with 0.9% NaCl solution (4.5 mL) and centrifuged for 28 min at 130,000 g at 10 °C using a SW41Ti rotor (Beckman Coulter, Villepinte, France) in a Thermo Sorvall WX100 ultracentrifuge (Thermo Scientific, Saint Herblain, France). The upper phase, containing primarily chylomicrons (CM) and large CM remnants, was collected.

Immediately after recovery, CM were stored at -80 °C before TOL analysis.

Plasma and CM TOL extraction and analysis

All extractions were performed at room temperature under yellow light to minimize light-induced damage. Samples (0.5 mL for plasma or < 2 mL for CM) were deproteinated by adding one volume of ethanol containing tocopheryl nicotinate as an internal standard. After the addition of 2 volumes of hexane, the mixture was vortexed for 5 min and centrifuged at 1200g for 10 min at 4 °C. The upper phase (containing TOL) was collected, and the sample was extracted a second time with hexane following the same procedure. The hexane phases were pooled and evaporated to dryness using nitrogen gas. The dried extract was redissolved in 200 µL of methanol. A volume of 90 µL was injected into the HPLC system, which consisted of a separation module (


Julien Desclés
email: julien.descles@gmail.com

Motasem Alrahabi
email: motasem.alrahabi@gmail.com

Jean-Pierre Desclés
email: jean-pierre.descles@paris.sorbonne.fr

BioExcom: Detection and categorization of speculative sentences in biomedical literature

Keywords: speculation, hypothesis, biology, contextual exploration, categorization, text mining

Biological research papers are replete with speculative sentences. We present the BioExcom rule-based system, which detects speculations in biomedical literature. Furthermore, it enables to distinguish automatically between prior and new speculations in the analyzed paper. BioExcom is based on the Contextual Exploration processing (hierarchical research of linguistic surface markers with the EXCOM computational platform). To accomplish this task, BioExcom uses also specific linguistic resources established by concise semantic analysis performed by a biologist and a linguist. Our work shows that it is possible to detect and categorize speculative sentences without computational deep linguistic analyses. This work could be useful for biologists who are interested by finding new hypothesis in literature.

Introduction

Biological research papers are replete with speculative sentences, which can be also called hedges [START_REF] Hyland | The author in the text: Hedging Scientific Writing[END_REF]. For a researcher, it is important to recognize all speculative sentences in a paper or about a given topic. Automatic extraction tools for speculative statements from texts constitute an emerging field which attempts to meet this need [START_REF] Light | The Language of Bioscience: Facts, Speculations, and Statements in Between[END_REF][START_REF] Medlock | Exploring hedge identification in biomedical literature[END_REF][START_REF] Szarvas | Hedge classification in biomedical texts with a weakly supervised selection of keywords[END_REF][START_REF] Kilicoglu | Recognizing speculative language in biomedical research articles: a linguistically motivated perspective[END_REF][START_REF] Morante | Learning the scope of hedge cues in biomedical texts[END_REF][START_REF] Özgür | Detecting Speculations and their Scopes in Scientific Text[END_REF]. Indeed, biological literature is currently characterized by an extended on-line access and an exponential growth [START_REF] Rebholz-Schuhmann | Facts from text--is text mining ready to deliver?[END_REF], which are mostly linked with the development of high-throughput methods and computer science technologies. This huge amount of papers constitutes an extraordinary source of biological facts, knowledge and ideas. However, it is very difficult for a single researcher to keep abreast of all developments [START_REF] Cohen | Getting started in text mining[END_REF]. To face this challenge, many systems, based on different Natural Language Processing methods, have been built (for reviews, see [START_REF] Hunter | Biomedical language processing: what's beyond PubMed?[END_REF][START_REF] Rzhetsky | Seeking a new biology through text mining[END_REF]).

The Contextual Exploration (CE) is a Natural Language Processing method [START_REF] Desclés | Contextual Exploration Processing for Discourse Automatic Annotations of Texts[END_REF], which constitutes an alternative to classical statistical/machine-learning based technology and to the search for hard-coded linguistic patterns. Indeed, this linguistic method does not perform any preliminary morpho-syntactic analysis and is based on the hierarchical search for linguistic surface markers expressed in regular expressions and declarative rules. It is implemented in a platform, called EXCOM 2 , integrating different linguistic resources for different text mining tasks [START_REF] Djioua | EXCOM: an automatic annotation engine for semantic information[END_REF][START_REF] Alrahabi | Automatic annotation of direct reported speech in Arabic and French, according to semantic map of enunciative modalities[END_REF].

This paper presents the BioExcom system, which automatically annotates all speculative sentences in biological full text papers by means of the CE processing, EXCOM computational platform and specific linguistic resources established by concise semantic analysis. Furthermore, BioExcom enables to distinguish automatically between prior and new speculations in a biological paper. We argue that these annotations are useful for biologists, regardless of their domains of interest, to evaluate quickly the content and new output of a paper.

Task

Goal

Our goal is to automatically annotate in biological scientific papers all biological speculative sentences (i.e. sentences containing at least one speculative fragment dealing with a biological issue). We consider only sentences with some clear instances of speculative language (the sentence must contain at least one linguistic element expressing speculation). We also want to categorize them into "prior speculation" (speculative sentences cited in the paper, but presented as having been proposed previously) and "new speculation" (speculative sentences presented for the first time in the paper or not explicitly presented as prior speculation). All the examples presented below are sentences from biological literature, found in approximately seventy papers.

Definition of biological speculation in articles

According to our analysis, it is possible to contrast schematically two types of statements in a biological paper if we consider their degree of certainty:

 Demonstrated statements: established facts which are accepted by the scientific community or by the authors of the paper. These can be, for example, biological results, data, observations;  Speculations (non-demonstrated statements): proposals about a biological issue and explicitly presented as not certain in the paper. These can be, for example, working hypotheses, interpretations/explanations of a fact or purely speculative statements (theoretical considerations). Others types of statements such as deductions, conclusions, argumentation or discussions…, are NOT considered as speculative but as intermediary statements, because they either present things more or less as certain, or they do not make a proposal.

It is important to mention that biological speculative sentences have been studied by linguists [START_REF] Hyland | The author in the text: Hedging Scientific Writing[END_REF][START_REF] Light | The Language of Bioscience: Facts, Speculations, and Statements in Between[END_REF], and some sets of guidelines for annotation have been proposed [START_REF] Medlock | Exploring hedge identification in biomedical literature[END_REF][START_REF] Szarvas | The BioScope corpus: annotation for negation, uncertainty and their scope in biomedical texts[END_REF]. However, we do not completely agree with this definition and consequently we have proposed our own guidelines 3 . We give here several differences between our guidelines and the others (for more details, see [START_REF] Desclés | Detection of speculations in biomedical texts: new perspectives and large-scale evaluation[END_REF]).

Thus, contrary to these prior analyses, we are not interested in detecting a sentence expressing a lack of knowledge/open question because it only asks a question about a biological problem without proposing a mechanism. We also do not consider a sentence as a speculation when the author is being circumspect about some of his statements with the expression "to our knowledge". Furthermore, a non informative sentence, i.e. mentioning a hypothesis without explaining it at least partially, is not a speculation according to us. We consider also that a deduction ("These results indicate that…") is not a speculation. Finally, the guidelines of Medlock [START_REF] Medlock | Exploring hedge identification in biomedical literature[END_REF] do not take into consideration the speculations denied by some authors or facts. Nevertheless, they should be detected because a speculation can firstly be refused by the scientific community and then be demonstrated and accepted.

To summarize, we want especially to extract ideas and proposals about biological issues from papers without taking into account approvals/negations of them, and we consider speculations as a potential source of relevant information for biologists. This view corresponds to the needs of biologists, as can be seen in the SAWN project [START_REF] Clark | Alzforum and SWAN: The Present and Future of Scientific Web Communities[END_REF], which offers to users an online repository of hypotheses in Alzheimer's disease research with links to literature.

Importance of speculative sentences in biological literature

Speculations are crucial in biomedical papers and text mining tools have to take them into account. Biologists are of course more interested by facts or conclusions and they want to distinguish them from the speculations. But at the same time, annotating speculations in texts can be important for a reader in order to reveal the cognitive articulations of a paper especially in case of hypothesis-driven experiments. Biologists are also interested in knowing all hypotheses about one entity or one topic [START_REF] Light | The Language of Bioscience: Facts, Speculations, and Statements in Between[END_REF][START_REF] Clark | Alzforum and SWAN: The Present and Future of Scientific Web Communities[END_REF], and this can be explained by several reasons.

Since they give meaning to results, speculative sentences sometimes can carry more useful information than factual sentences, which can be fragmented and cryptic. For example, if we consider the following sentences, the data are complex and not easy to interpret for an untrained person. The interpretations (underlined) appear to be clearer and useful for biologists in the sentences (1) and ( 2):

(1) "Interestingly, the UDP-glucosyl pyrophosphorylase (UGP) from C. cryptica was not inhibited by 3-P-glycerate or inorganic phosphate, suggesting that the assimilatory glucan is synthesized outside the plastid [104]."

(2) "Heterozygous Foxp2 (R552H)-KI mice also showed slight motor impairment (Fig. 2 A andB), except for a small percentage of the population showing low motor activity, and impairment of USV quality such as short-length USVs (Fig. 2D), suggesting that a particular part of the motor system, but not the entire motor system, is shared with the USV neural system."

In addition, speculative sentences will emphasize important data, which can be very useful in data-collection papers (genomic and post-genomic papers, see [START_REF] Brent | Functional genomics: learning to think about gene expression data[END_REF][START_REF] Brent | Genomic biology[END_REF][START_REF] Kell | Here is the evidence, now what is the hypothesis? The complementary roles of inductive and hypothesis-driven science in the post-genomic era[END_REF][START_REF] Brent | Cell biology. A fishing buddy for hypothesis generators[END_REF]). They can enable the researchers to anticipate future experimental discoveries or highlight mechanisms which have not yet been well demonstrated or are beyond current biological facts. For "theoretical reviews" or theoretical part of research papers (discussion part), speculations can propose other way to envision biological problems and give new experimental ideas [START_REF] Bray | Reasoning for results[END_REF][START_REF] Blagosklonny | Conceptual biology: unearthing the gems[END_REF].

Categorization into prior and new speculation

Despite the usefulness of speculation extraction from biomedical literature, biologists may need a more finely grained schema. Considering their specific use of literature, we propose the categorization into "new speculation" and "prior speculation".

Knowing the new speculations of a paper can reveal some of the real new output of it and so help to face one important challenge in text mining: deciding if it is worth spending time on reading carefully the paper. The categorization into prior speculation in a paper highlights the emergence of an idea which is taken into consideration by the scientific community and so can also at least partially give an indication about its importance among the huge amount of speculations in the literature.

Automatic annotation of speculative sentences by Contextual

Exploration processing

The Contextual Exploration processing

Contextual Exploration (CE) processing is based on the assumption that a morphosyntactic parsing can be avoided by the contextual analysis of linguistic surface markers, what has the advantage of low computational cost. CE consists of locating discursive expressions used by an author related to a given viewpoint (hypothesis, conclusions, comments, definitions, causal relations, quotations, opinions related to bibliographic references, etc) [START_REF] Desclés | Contextual Exploration Processing for Discourse Automatic Annotations of Texts[END_REF]. This analysis is performed by a linguist eventually with a specialist of a domain, by collecting and categorizing these specific linguistic expressions of a viewpoint.

The linguistic markers of a viewpoint in CE method used for annotating textual segments (which can be a title, a paragraph, a sentence or a clause), are hierarchical: indicators and clues (both expressed into regular expressions). Indicators correspond to linguistic markers (words, discontinuous expressions…), which carry specific information about the studied domain. These linguistic markers can be relatively independent from the authors' style of writing (for instance, "we present", "in conclusion", "our hypothesis is", "is responsible for"). However, sometimes the simple presence of an indicator does not permit an annotation of the textual segment in which it appears, because the discourse value of the indicator can change according to the context. Consequently, a more precise annotation of the text may be required. To this end, contextual exploration rules must be applied in order to locate, in the textual context of the indicator (the same sentence in the case of BioExcom), one or more linguistic clues, allowing either the removal of the semantic indecision or a more precise segment annotation. Hence, according to what is specified in the CE rule, the looking for clues can be performed in the sentence at the right or/and the left of the indicator or even inside the indicator (see some examples below).

It is worth noting that the CE processing is different from a classical rule-based system -which consists of searching for specific patterns in a text-because of: 1) the use of positive and negative clues, 2) the hierarchy between indicators and clues, 3) the use of text structure.

Computational architecture of the CE engine and overview of text treatment

The overview of our method for automatic extraction of speculative sentences and search for specific speculations is shown in Fig 1 . The architecture is based on the EXCOM platform 4 and will not be detailed here, since it has already been described [START_REF] Alrahabi | Automatic annotation of direct reported speech in Arabic and French, according to semantic map of enunciative modalities[END_REF].

In order to be annotated, all texts must go through the following steps: 1) Automatic segmentation of sentences: In order to split the text into sentences, we use a set of rules, which are based on disambiguation of typographical signs (for example: period, semicolon, question mark, etc.). The input files for the segmentation module are raw text files in UTF-8 encoding, in a given language, and the output files are in the XML DocBook format for articles.

2) Automatic annotation:

The core of the platform architecture (Fig. 1) consists of a CE engine that manipulates the indicators and clues as linguistic markers and CE rules associated for annotating linguistic segments. The annotation processing consists of the search for indicators of a given viewpoint in the segment considered. The identification of one indicator calls the associated CE rules. When the conditions of these rules are satisfied (that is, a systematic search for contextual clues, also expressed by regular expressions, in the segment), the CE engine attributes the corresponding annotation (organized in a semantic map) to the segment. In addition, the CE engine is able to establish a hierarchy between rules so as to take into account the fact that some indicators or some rules are more indicative than others. Thus, a sentence will be first analyzed according to a first group of rules, then a second one, and so on. This can also prevent, partly, multiple (possibly contradictory) annotations of sentences.

3) Storage of annotations in the base of annotation:

Once the texts are annotated, all speculative sentences of the corpus are stored in a "Base of annotations". The annotation scheme of segments contains the following information: the semantic category of the annotation (for example prior or new speculation), the rule and the indicator used for annotating. The user can choose to consult only prior or new speculations, and can navigate between speculative sentences and their original context by clicking on the sentence: by doing so, he returns to the original annotated paper.

The linguistic markers of speculation in biological sentences

The linguistic analysis of speculative sentences by the CE processing consists in studying the linguistic markers of speculation at the sentence level. A careful study, carried out by a biologist and a linguist, on about seventy biological texts (about twenty to built the CE rules and about fifty to test and improve them) 5 , has shown that authors use different kinds of specific linguistic markers (or combinations of them) in biological papers, such as: 1) verbs (to suppose, to suggest, to hypothesize, to propose, to assume…) ; 2) nouns (suggestion, hypothesis, speculation…); 3) adjectives (convincing, probable, possible, conceivable…); 4) adverbs (possibly, probably, perhaps…) ; 5) modality verbs (may, might, could…) ; 6) conjunction (if, whether, or…)

Categorization of speculative sentences

In order to categorize speculative sentences, we look for some specific verbal aspects (for example the passive present perfect applied to specific verbs for "prior speculation"), or the presence of specific constructions (for example, "we hypothesized", "in our theory" for "new speculation") as indicators. If this kind of markers is not available, we look for the presence or the absence of specific clues, what can highlight the advantage of CE processing for this kind of task.

Here are some of the main others clues used for categorizing speculative sentences:

1) prior speculation:  The presence of bibliographic citations in the sentence, as positive clues at the left or the right of the indicator (sentence 3):

(3) "In diatoms, grazing-induced silicification may increase the mechanical resistance of the frustule to copepod mandibules (Hamm et al. 2003)."  The presence of others specific words, as positive clues (for example "recent" (sentence 4) or "recent report" (sentence 5) at the left of the indicator):

(4) "These recent results with Si and monocots bring not only further support to the theory that Si plays an active role in protecting plants against pathogens, but indicate that this role is not specific to dicots but rather generalized to the plant kingdom." ( 5) "This agrees with a recent report that suggested protein-protein interactions are more conserved within species than across species (49)".

2) new speculation:  The absence of bibliographic citations in the sentence, as negative clues.  The presence of other specific words, as positive clues (for example "in this study" at the left or the right of the indicator in the sentence 6): (6) "It is assumed in this study that silicon layers in epidermal cell walls can confer enhanced host resistance to blast."

BioExcom implementation

In BioExcom, thirty rules, based on twenty indicator classes (same semantic or grammatical categories), have been built and ranked according to seven priorities. We give here two examples of CE rules in BioExcom. The first one (sentence 7) is the case of the indicator "could", which can be either the past form or the conditional form of "can". In order to remove this ambiguity, BioExcom checks, in the context of the indicator, the presence or the absence of specific clues expressing conditionality or possibility, such as "alternatively" (see the following sentence). Obviously, this method does not allow disambiguating all uses of "could", but it correctly recognizes some of them.

(7) "Alternatively, a soluble Δ9-acyl-ACP desaturase and a membrane-bound Δ9acyl-lipid desaturase, responsible for the synthesis of 18:1Δ9 and 16:1Δ9, respectively, could co-exist in the plastid of diatoms, similar to the situation found in higher plants. " Here is the corresponding simple EC rule, written in a declarative form, used for annotating the sentence as a "new speculation": "could new speculation" CE rule: Given P a linguistic segment: If there is in the before-indicator-context a negative clue from the class "bibliographic references"

And If there is in the after-indicator-context a negative clue from the class "bibliographic references"

If there is in the before-indicator context a positive clue from the class "conditionality" Or If there is in the after-indicator context a positive clue from class "conditionality" Then : Give the semantic annotation "New Speculation" to P

In order to emphasize the role of negative clues and priority rules, we explain, in the second example [START_REF] Rebholz-Schuhmann | Facts from text--is text mining ready to deliver?[END_REF], how CE processing is able to annotate and to categorize correctly the following sentence. ( 8) "These observations are in agreement with our previous hypothesis suggesting that the particle growth takes place within the voids of the gelatine network so that denser gels will lead to smaller particles."

Indeed, a classical rule-based system would have to use the specific pattern "our previous hypothesis suggesting" to annotate the sentence as a prior speculation, but this pattern is very specific to this sentence. On the contrary, our system applies different rules. It finds in the sentence the indicator "our () hypothesis suggesting" (written by a regular expression in the system), but it does not annotate this sentence as a "new speculation" because of the presence of "previous" as a negative clue inside the indicator space; by using another rule that has less priority than the previous one, the system finds "hypothesis () that" as indicator but takes into account "previous" as a positive clue for annotating the sentence as "prior speculation".

Evaluation methodology

As the concept of speculation in biology is not very clear (see before), we decided to invite experts to give their judgments about results from BioExcom. We devised an evaluation methodology based on the automatic annotation of new and unknown biological articles from different journals by BioExcom and on the random selection of three of them. Between three and five biologists read the version of these papers previously automatically annotated by BioExcom. Before starting the evaluation process, these experts had to read our Annotation guidelines. Then, for each sentence of the annotated articles, they had to say if they were in agreement with the annotation (or the absence of annotation) performed by BioExcom ("new speculation" or "prior speculation") and, if not, to propose their own annotation according to the categories "new speculation", "prior speculation", "undetermined speculation", "maybe a speculation but not sure" and "not a speculation".

Results of the evaluation

The characteristics of the three randomly selected texts in the evaluation process are given in Table 1. The "correct" annotations were determined on the basis of the set of human annotations. These correct annotations are defined as the most frequent or in case of conflict, as the most consensual annotations attributed by the evaluators. The results of the evaluation are given in Table 2. We can note that if we consider also the categorization (prior and new) of speculative sentences, we observe a weak decrease of performance. Nevertheless, the system finds and categorizes accurately speculative sentences in biological papers. We can make some comments on these results.

First, it has to be mentioned that despite the annotation guidelines and their careful reading by the evaluators, the task of annotating speculative sentences remains quite subjective or difficult (see inter-annotator agreement rates). The sentence in (9) was annotated as speculative by one evaluator, although it was clearly an open question.

"At present, however, the genes regulating USV function and the development of the cerebellum and the maturation of Purkinje cells are unknown."

In the same way, the sentence in [START_REF] Hunter | Biomedical language processing: what's beyond PubMed?[END_REF] was wrongly annotated by some evaluators as non-speculative, even though it makes a proposal about a biological issue and was correctly annotated by BioExcom thanks to the use of the linguistic markers "whether" and "were not previously established" by CE processing (see part 3):

(10) "Which functional domain of Foxp2 or alternative splicing product of Foxp2 functions in the molecular mechanism of mouse USVs and whether the phenotype of Foxp2-KO mice is due to the loss of function of forkhead domain were not previously established."

Although the following sentence in [START_REF] Rzhetsky | Seeking a new biology through text mining[END_REF] was clearly a speculation, it has not been annotated by BioExcom, because of the lack of any specific linguistic marker (indeed "should" can not be a marker strong enough to denote accurately a speculation). ( 11) "In contrast, heterozygous Foxp2 (R552H)-KI mice, which showed modest impairment of USVs with different USV qualities and which did not exhibit nuclear aggregates, should provide insights into the common molecular mechanisms between the mouse USV and human speech learning and the relationship between the USV and motor neural systems."

One other limitation is that some linguistic markers are missing in the implementation of BioExcom. This is the case in the sentence in [START_REF] Desclés | Contextual Exploration Processing for Discourse Automatic Annotations of Texts[END_REF] which has not been recognized as a speculation by the system ("in principle" can be a positive clue to disambiguate the indicator "could" but was not yet implemented in BioExcom):

(12) "In principle, the act of transcribing Xist could induce structural changes that could alter chromosome wide function [START_REF] Hyland | The author in the text: Hedging Scientific Writing[END_REF]."

We present here one wrong categorization (but correct extraction as a speculative sentence), which has also been performed by BioExcom: the sentence in (13) was categorized as a "new speculation" because of the presence of bibliographic citations.

(13) "Foxp2 (R552H) nuclear and/or cytoplasmic aggregates caused ER stress in vitro in cell culture (Fig. 5 E-H), probably because of the polyglutamine region, because similar observations were detected in cells expressing polyQ cytoplasmic aggregates [START_REF] Brent | Genomic biology[END_REF]."

The results of this evaluation are very encouraging and indicate that a computationally low cost strategy like CE is efficient for the recognition and categorization of speculations. However, its scale remains quite small. We performed recently another evaluation of BioExcom on a corpus of about 14 500 sentences consisting in a part of the BioScope corpus [START_REF] Szarvas | The BioScope corpus: annotation for negation, uncertainty and their scope in biomedical texts[END_REF] re-annotated according to our criteria 6 . This confirmed its ability to detect speculations in full texts by similar results, despite a decrease of recall (Precision = 97,6%; Recall = 77,5%) [START_REF] Clark | Alzforum and SWAN: The Present and Future of Scientific Web Communities[END_REF]. Categorization performed by BioExcom has still to be evaluated on a larger scale.

Perspectives

The first immediate aim is to finalize the system of automatic annotation in order to offer a user-friendly interface. BioExcom will soon be online to be freely used by researchers to annotate their selected papers. Another project, which is almost completed and will be published very soon, is to enlarge the system, so as to index all the words of the database of annotated speculative sentences, as it has previously been done with the EXCOM platform. The user (a researcher in biology) may then look for the presence of a list of keywords in the database of speculative sentences. This will enable him to become aware of all hypotheses or speculations proposed about a biological entity (gene or protein for example) or a biological process, which is very useful for researchers [START_REF] Light | The Language of Bioscience: Facts, Speculations, and Statements in Between[END_REF][START_REF] Clark | Alzforum and SWAN: The Present and Future of Scientific Web Communities[END_REF]. Speculative sentences have the advantage of being very general, whereas the most powerful and useful text mining systems are often very domain-specific (protein phosphorylation [START_REF] Yuan | An online literature mining tool for protein phosphorylation[END_REF] for example), probably in order to meet biologists' specific needs [START_REF] Cohen | Getting started in text mining[END_REF]. Nevertheless, because of this specificity, it is obvious that, despite their efficiency in recognizing particular patterns in sentences, these systems do not answer entirely the challenge of bridging disjoint literatures. Indeed, most of the time, a knowledge discovery concerns different domains that need to be crossed in a single system in order to establish an unexpected link between two terms [START_REF] Bekhuis | Conceptual biology, hypothesis discovery, and text mining: Swanson's legacy[END_REF]. To satisfy this requirement, the user of BioExcom may also look for the combination of two lists of terms (Boolean search) in the speculative sentences, in order to find a hypothesis linking these two terms in very different kinds of biomedical literature. This link may be either not well demonstrated yet, or unknown, but has been already discussed or considered in the literature from a theoretical point of view. It is also important in the future to connect several dictionaries in order to give the possibility to the researcher to enlarge his list of keywords. In the emergent field of "opinion mining", BioExcom would then be able to better highlight papers describing ideas and proposing hypothesis about precise biological issues, which is a tendency in biological literature and a new challenge for text mining tools [START_REF] Rebholz-Schuhmann | Facts from text--is text mining ready to deliver?[END_REF].

Fig. 1 .

 1 Fig. 1. Overview of the Excom platform.

Table 1 .

 1 Characteristics of the texts used for the evaluation

		Paper 1	Paper 2	Paper 3
	Sentences	392	269	375
	Words	5536	3396	7001
	Duration of annotation (sec)	44,5	31,1	43
	Speculative sentences found	30	29	12
	by BioExcom

Table 2 .

 2 Results of the evaluation

		Precision	Recall	F-Measure	Inter-
					annotator
					agreement
	Speculative	98,6	93,0	94,0	78,9
	sentences
	Categorization	89,7	84,6	88,6	67,6

For EXploration COntextuelle Multilingue. Find it out at http://www.excom.fr/

http://www.bioexcom.net/

Principally implemented with Java, JDOM, XML, XLINK, JNLP, etc.

From very different biological journals (Nature, Science, Plos biology, PNAS, Plant Physiology, Cell…)

available at http://www.bioexcom.net/


Matthew Obetz
email: obetzm@rpi.edu

Anirban Das

Timothy Castiglia

Stacy Patterson

Ana Milanova

Formalizing Event-Driven Behavior of Serverless Applications

Keywords: serverless computing, formal semantics, call graph

We present new operational semantics for serverless computing that model the event-driven relationships between serverless functions, as well as their interaction with platform services such as databases and object stores. These semantics precisely encapsulate how control transfers between functions, both directly and through reads and writes to platform services. We use these semantics to define the notion of the service call graph for serverless applications that captures program flows through functions and services. Finally, we construct service call graphs for 12 serverless JavaScript applications, using a prototype of our call graph construction algorithm, and we evaluate their accuracy.

Introduction

Serverless computing has grown significantly in recent years and so has the need for abstractions and program analysis tools that target serverless applications [START_REF] Jonas | Cloud Programming Simplified: A Berkeley View on Serverless Computing[END_REF]. Existing abstractions emphasize unique features of the environment where serverless functions execute [START_REF] Jangda | Formal Foundations of Serverless Computing[END_REF][START_REF] Gabbrielli | No More, No Less -A Formal Model for Serverless Computing[END_REF]. However, these abstractions do not consider effects of transmitting data to other services and functions. Data transmitted in this fashion triggers new executions of serverless functions that spawn in response to a change in state on their associated service. Without operational semantics that capture this behavior, program analysis cannot construct a precise call graph and cannot reason about dataflow between parts of a serverless application. The lack of formal semantics also hinders more advanced reasoning about data privacy, application correctness, and resource usage.

To address this gap, we propose new operational semantics for event-driven serverless computation. These semantics describe how writes and reads to platform services create inter-function control transfer in serverless applications. Our semantics formalize the most common platform services including object stores, databases, notification services, queues, and stateless services. The semantics gives rise to the service call graph, which extends the classical call graph to include new nodes and edges. The new nodes represent the platform services written to or read by application code; the new edges represent the writes and reads to services from serverless functions.

We make the following contributions:

-We formulate new operational semantics for the execution of serverless programs. These semantics model (1) interactions of serverless functions with platform services, including event triggers that cause additional functions to execute, and (2) function composition. -We extend the traditional notion of a call graph with new types of nodes and edges that represent event-driven behavior on serverless platforms. These new nodes and edges capture the inter-function control and state transfer represented in our operational semantics. -We design and implement an algorithm for constructing service call graphs and evaluate its accuracy on 12 serverless programs collected from GitHub. Related Work. Our semantics for the lifecycle of a single serverless function are closely related to those used in a recent formalization of serverless computing [START_REF] Jangda | Formal Foundations of Serverless Computing[END_REF]. That work focused on modeling low-level behavior of serverless systems. Such models are useful for capturing behavior such as program non-determinism that can arise from reading state from previous executions of serverless functions. Our semantics start from this model to describe initiating requests, languageagnostic computation steps, and generated responses. However, the semantics defined in [START_REF] Jangda | Formal Foundations of Serverless Computing[END_REF] do not capture inter-function communication and program flows that span multiple serverless functions. Specifically, these semantics limit data persistence to a locking transactional key-value store. Our semantics introduce several new state domains that model common services. More importantly, the previous semantics also lack a conceptualization of serverless events, which initiate execution of a serverless function when state is manipulated on a data storage service. We model these interactions with a new collection of event semantics that capture state transfer between serverless components.

The service call graph shares some features of message flow graphs for distributed event-based systems that communicate through publish-subscribe middleware [START_REF] Garcia | Identifying Message Flow in Distributed Event-Based Systems[END_REF], however, retrieval of data from databases and object stores cannot be succinctly captured in publish-subscribe semantics. Our work considers not only notification-based communication, but also messages that pass through other channels available to serverless applications.

In preliminary work [START_REF] Obetz | Static call graph construction in AWS lambda serverless applications[END_REF], we introduced the notion of the service call graph. In this paper, we formalize the definition in terms of our new operational semantics. Further, we design and implement a call graph construction algorithm and present experimental results on 12 real-world serverless applications. Outline. Section 2 summarizes the operational semantics, and Section 3 presents our serverless call graph construction. We evaluate the call graph construction accuracy in Section 4 and conclude in Section 5. Our technical report [START_REF] Obetz | Formalizing Event-Driven Behavior of Serverless Applications[END_REF] presents an expanded discussion on the serverless model and our semantics and algorithms.

Semantics for Serverless Computation

We introduce operational semantics for the execution of serverless applications. The goals of these serverless semantics are to: (1) precisely model the semantics of communication between serverless functions and platform services, and (2) capture program flows that are introduced as a result of this communication.

f ∈ F defined functions σ ∈ Σ internal state init ∈ F × V → Σ initial state v := ... value x := ... request ID y := ... instance ID C := F(f, σ, y) executing serverless function | R(f, x, v) received request | S(x, v) generated response stepf ∈ F × Σ → Σ computational step x is fresh RECEIVE C ⇒ CR(f, x, v) START CR(f, x, v) ⇒ CR(f, x, v)F(f, init(f, v), y) step f (σ) = σ COMPUTE CF(f, σ, y) ⇒ CF(f, σ , y) step f = respond (v ) RESPOND CR(f, x, v)F(f, σ, y) ⇒ CS(x, v )F(f, σ, y) DIE CF(f, σ, y) ⇒ C
Fig. 1. In-process semantics models the sequence of steps in an individual serverless functions. A full serverless application C is modeled as a set of requests R, executing functions F, and generated responses S. Functions and requests are appended to C as they become active, and are removed from C as they terminate or are responded to.

In-Process Semantics

In-process semantics are defined in Figure 1. These semantics capture the sequence of steps in an individual serverless function. When an external gateway service initiates a request for the execution of the serverless program, the platform applies the RECEIVE rule which adds a new request R. The request contains a serverless function f and a data value v that is passed to the function. Most commonly, RECEIVE represents a request made to a public web endpoint for the serverless application. When an unhandled request exists, the platform applies the START rule which initializes f with an initial state init(f, v) and starts the execution of f . We note that init(f, v) captures both initial state at cold and warm start. COMPUTE models the execution steps in function f . Similarly to [START_REF] Jangda | Formal Foundations of Serverless Computing[END_REF], COMPUTE is a language agnostic representation of transitions on state σ. COMPUTE absorbs interactions with platform services, e.g., upload to object stores (see Section 2.2). A serverless function may issue a response, in which case the platform applies the RESPOND rule. This rule removes the unhandled request R(f, x, v) from the system and replaces it with a response S(x, v ), where v is the value provided by the responding serverless function.

Responses represent data which is sent back to the external service that initiated the request; they are terminal states and are not used for further computation within the platform. Finally, functions may terminate through the application of the DIE rule. The system reaches a stable state when all requests have been responded to and no serverless functions are still executing.

Event Semantics

We extend the in-process semantics with an event semantics to capture interaction of functions with platform services, as well as direct invocation. We develop semantics for each service: object stores, databases, notifications, queues, and stateless services. These semantics detail how serverless functions interface with that specific service during execution. In this section, we detail the semantics of object stores. We include the semantics for the remaining services in the technical report [START_REF] Obetz | Formalizing Event-Driven Behavior of Serverless Applications[END_REF]; these semantics follow the structure of the object store semantics, however, each details behavior specific to the service they model. The semantic rules can be broadly grouped into rules that write the state of a service (UPLOAD and REMOVE for object stores; INSERT, UPDATE, and DELETE, for databases; and ENQUEUE for queues), and rules that read data from a service into the state of an executing serverless function (READ for object stores, SELECT for databases, and DEQUEUE for queues). An example event configuration. The serverless function processor is triggered when an object is added to the photos bucket. In the semantics, this event is represented as the fact e(c, processor) where c = (photos, upload ).

Our semantics introduce a domain of events E that captures function invocations due to service state transitions. An event e(c, f ) ∈ E consists of two parts: a triggering condition c and an associated serverless function f . Triggering conditions are generally defined by a unique service identifier sid and an operation op (e.g, upload to an object store); we write c = (sid , op). Program configurations unambiguously reference their associated services and the associated serverless functions. We reduce configurations to set of events e(c, f ) during static analysis. We present an example configuration in Figure 2. An event is triggered when a serverless function performs a step that fires the event condition. For instance, an upload to an object store b will activate all events tied to upload to b. To capture the effect of these triggering events, our semantics introduce the function trigger . This function accepts a triggerring condition c = (sid , op), and returns the set of functions f for which there is e(c, f ), i.e., the set of functions that will execute when a function runs operation op on service sid . We note that some types of triggering conditions defined in our semantics are officially supported by serverless platforms but rarely occur in practice, such as the trigger associated with a REMOVE from an object store.

Our semantics distinguish between functions triggered by external requests and functions triggered by events on services. The platform applies RECEIVE followed by START on functions triggered by external requests. It immediately applies START on functions triggered by "internal" events on services. Our semantics allow that any function that is part of the serverless application may issue a response to the external request. RECEIVE and RESPOND define the "boundary" of the serverless application, although functions may continue to execute and modify services after a RESPOND.

CF(f, σ, x)B(b, vorig) ⇒ step f = read (b, vid) READ CF(f, σ, x)B(b, v) ⇒ CF(f, σ , x)B(b, v)
Fig. 3. Object store event semantics.

We define semantics for object stores in Figure 3. Each object store has a unique identifier b in B, the set of object stores defined for the application. Object stores provide a filesystem-like interface for writing and reading data. In the semantics, this interaction is encoded by allowing serverless functions to write or overwrite some value v in a named bucket by applying the UPLOAD rule. When a file is uploaded, all events triggered by state transition on the receiving bucket initialize their respective function(s). Serverless functions can also delete data contained in a bucket through application of the REMOVE rule. When a function retrieves a data value from a bucket, the READ rule accesses the associated data and assigns it to a variable inside the function's local state.

Our event semantics are synchronous in the sense that a request to a service and the execution of the request by the service happen in "one step". This facilitates static reasoning. In practice, a request is decoupled from the execution; we conjecture that the synchronous semantics are sufficient as programs implicitly synchronize events on services: a read in f 2 is triggered by a write in f 1 . Further, for reads and writes within the same function, standard libraries typically provide only synchronous methods for interacting with platform services. We will formalize sufficiency conditions on programs in future work.

Platform Behavior Encoded in Semantics

Our semantics are sufficiently expressive to capture features of serverless platforms that impact system state in unintuitive ways. We illustrate below.

Non-finality of RESPOND. Unlike return statements in normal functions, responses from a serverless function do not return from the function. Consider the example in Figure 4. This serverless function accepts a URL string and generates a random short slug for that URL. It immediately responds with the generated shortened URL, then afterward, writes the association between the slug and the original URL to a database. Our semantics models the execution of export . s h o r t e n U r l = function ( event , c o n t e x t , c a l l b a c k ) { l e t u r l = e v e n t . body ; l e t s l u g = c r y p t o . randomBytes [START_REF] Jonas | Cloud Programming Simplified: A Berkeley View on Serverless Computing[END_REF] . t o S t r i n g ( . . . ) . r e p l a c e ( . . . ) ; c a l l b a c k ( null , { s h o r t U r l : c o n t e x t . domainName + s l u g } ) ; dynamodb . put ( { TableName : " ShortUrls " , Item : { s l u g : s l u g , l o n g u r l : u r l } } ) ; } Fig. 4. Example of execution continuing after response. RESPOND is applied when the callback passed in to the serverless function is invoked, but a database is written to after this response. Code adapted from the url-shortener project [START_REF] Onan | url-shortener[END_REF].

this serverless function by the following transitions (D represents the database service. INSERT has semantics similar to UPLOAD in Figure 3):

CD(ShortUrls, v) =⇒ CD(ShortUrls, v)R(f, x, v1) by rule RECEIVE(f , x, v1) =⇒ CD(ShortUrls, v)R(f, x, v1)F(f, σ, y) by START(y) =⇒ CD(ShortUrls, v)R(f, x, v1) F(f, σ = σ[url ← ev.body, slug ← rand()], y) by COMPUTE(f ) =⇒ CD(ShortUrls, v)S(x, v )F(f, σ , y) by RESPOND(x, v = σ [slug]) =⇒ CD(ShortUrls, v ∪ v)S(x, v )F(f, σ , y) by INSERT(ShortUrls, v ) =⇒ CD(ShortUrls, v ∪ v)S(x, v ) by DIE(y)
The application of the INSERT rule affects the final state of the system C by introducing the value v to the database D. This insertion occurs even though the serverless function has already generated a response in an earlier step.

Failures and Retried Executions. A serverless function may fail during execution for two reasons: 1) the function code enters an error state as the result of an uncaught exception, or 2) the container runtime kills the function, either because execution has timed out, or because the language interpreter fails with an error. When a function fails, the platform can retry the function by starting a new execution with a clone of the data from the original request [START_REF]AWS Lambda Documentation[END_REF].

Our semantics capture the effects of failures and retried executions that may impact system state. In particular, serverless functions that are not idempotent may emit messages to platform services that are repeated in retried executions, affecting final system state. In our semantics, these retries are modeled as an application of the DIE rule, followed by a subsequent application of START to handle a still-unsatisfied request. Consider a serverless function that uses the UPDATE rule to increment a view count. It is retried due to a spontaneous failure in the data center where the function is executing. This series of events are modeled under our semantics as:

CD(ViewCount, v) =⇒ CD(ViewCount, v)R(f, x, v) by RECEIVE(f , x, v) =⇒ CD(ViewCount, v)R(f, x, v)F(f, σ, y) by START(y) =⇒ CD(ViewCount, v + 1)R(f, x, v)F(f, σ, y) by UPDATE(ViewCount, (v)→ v + 1) =⇒ CD(ViewCount, v + 1)R(f, x, v) by DIE(y) =⇒ CD(ViewCount, v + 1)R(f, x, v)F(f, σ, y ) by START(y ) =⇒ CD(ViewCount, v + 2)R(f, x, v)F(f, σ, y ) by UPDATE(ViewCount, (v)→ v + 1) =⇒ CD(ViewCount, v + 2)S(x, v)F(f, σ, y ) by RESPOND(x, {}) =⇒ CD(ViewCount, v + 2)S(x, {}) by DIE(y )
Following these state transitions, ViewCount has been incremented twice, despite only a single request being made to the serverless function. Such faults are representative of data inconsistencies that exist in real serverless applications that violate the idempotency recommended by serverless providers [START_REF]AWS Lambda Documentation[END_REF].

Platform Supported Function Composition

Function composition frameworks, such as AWS Step Functions, allow developers to statically define pathways for messages through a serverless application. When one of these pathways is defined, the return value of a serverless function implicitly becomes a message passed to the serverless function or service following it in the composition. Our semantics are expressive enough to capture such behavior using the same set of state transitions as other serverless events. Consider a Step Function composition that defines a chain of two serverless functions, f 1 and f 2 . ( [START_REF] Obetz | Formalizing Event-Driven Behavior of Serverless Applications[END_REF] shows the real-world Step Function declaration that we model in this example.) Our semantics models the execution as follows:

C =⇒ CR(fstep, x, v) by RECEIVE(fstep, x, v) =⇒ CR(fstep, x, v)F(f1, σ, y) by START(y) =⇒ CR(fstep, x, v)F(f1, σ , y) by COMPUTE(f1) =⇒ CR(fstep, x, v)F(f1, σ , y)F(f2, σ , y) by INVOKE(f2, v ) =⇒ CR(fstep, x, v)F(f2, σ , y) by DIE(f1, σ , y) =⇒ CR(fstep, x, v)F(f2, σ , y) by COMPUTE(f2) =⇒ CS(x, v )F(f2, σ , y) by RESPOND(x, v ) =⇒ CS(x, v ) by DIE(f2, σ , y)
This execution illustrates an important difference between standalone serverless functions and those defined as part of a composition chain. The platform starts the Step Function chain by issuing a request R(f step , x, v) by RECEIVE. Only the final serverless function in the chain RESPONDs to the request. The "return" of all other functions in the chain is encoded into an event rule that INVOKEs the next function in the chain. Since compositions are static, the target of each INVOKE in the composition is known. To preserve the connection to the originating Step Function request that started F(f 1 , σ, y), f 2 inherits the identifier y from f 1 when it is invoked (the semantics assume that y reflects the request identifier x). Thus, the lifecycle of the first function in the composition chain is RECEIVE, START, COMPUTE, DIE; the lifecycle of the final one is START, COMPUTE, RESPOND, DIE.

Service Call Graphs

Our semantics enable construction of a service call graph that explicitly models interaction between services and serverless functions. The service call graph extends the classical call graph by adding nodes that represent platform services and edges that represent reads from services, writes to services, and transfer of control to functions triggered by state transition on services. Our graphs treat an entire intra-function call graph as a single node in order to clearly capture the interaction between serverless functions and platform services.

Construction of the service call graph proceeds in two phases: configuration analysis and code analysis. Configuration analysis processes configuration files and identifies the serverless functions and services for the given application. Each serverless function f ∈ F , and each service b ∈ B (object store), d ∈ D (database), q ∈ Q (queue), and t ∈ T (notification topic) becomes a node in the service call graph. In addition, configuration analysis also identifies the set of events e(c, f ) ∈ E and triggering conditions c = (sid , op) (recall Section 2 for the explanation of e and c); each event e(c, f ) ∈ E where c = (sid , op) gives rise to an edge from sid to f . Code analysis processes each serverless functions f ∈ F . It constructs the standard interprocedural control flow graph (ICFG) of f (here, "interprocedural" refers to the local helper functions in f ). The analysis tracks the set of service identifiers sid that flow to call sites in the ICFG corresponding to rules of the event semantics (such as UPLOAD, ENQUEUE, INSERT, or NOTIFY). At each such call site, the analysis adds an edge from the current serverless function f to each service sid that may reach the call site corresponding to the event rule.

Call Graph Implementation and Evaluation

We implement service call graph construction as an extension of the Type Analysis for JavaScript (TAJS) framework [START_REF] Jensen | Type Analysis for JavaScript[END_REF]. We employ a branch of TAJS that supports reasoning about asynchronous behavior [START_REF] Sotiropoulos | Static Analysis for Asynchronous JavaScript Programs[END_REF]. Our analysis includes code that summarize the effects of third party libraries, including the AWS SDK. We constructed summaries of library functions to overcome limitations in TAJS that prevented us from performing standard whole-program analysis. We searched GitHub for repositories that included serverless configuration files that defined more than one serverless function, sorted by repository popularity. We analyze the top 12 applications that fit these criteria. To evaluate the accuracy of our generated call graphs, we compare the output of our analysis against call graphs drawn by manual inspection of the programs. Fig. 5. Comparison of service call graph generated by our analysis for the galleria serverless application [START_REF] Chiu | Serverless galleria[END_REF], and pipeline diagram provided in the repository's user documentation. In the call graph at left, the GET and POST API gateway events trigger the app-dev-uploader serverless function. This function then writes to the ORIGINALS S3 bucket, which in turn triggers the app-dev-rotate serverless function. This function reads from its triggering bucket then writes to a ROTATED bucket. The process repeats for two more image processing functions before the final image is uploaded to THUMBS.

Table 1 presents the analysis results. For 10 of the 12 applications, our analysis produced a service call graph identical to the ground truth. One such comparison is shown in Figure 5. For two applications, our analysis missed edges. In the case of lane-breach, the missed edge corresponded to a web request made directly to another function through the external web API. We note that it is not possible, in general, to determine whether a web address belongs to the application under analysis or a third-party web site. Fortunately, this behavior represents a discouraged pattern [START_REF] Baldini | Serverless Computing: Current Trends and Open Problems[END_REF]; the program could be made more efficient using a direct invocation, which would be captured through our INVOKE rule.

In the case of citizen-dispatch, the analysis missed edges from serverless functions to a set of database tables that corresponded to database queries made by third-party library calls. This program violated our assumption that thirdparty libraries do not interact with services. Though constant service identifiers flow to the library calls, it is difficult to statically infer which tables will be accessed by a particular call due to the nature of the query inference engine. Future versions of our tool could safely over-approximate this behavior by assuming that any library call has the potential to query all tables. If we could perform standard whole-program analysis, interactions with the database through the library would have been soundly detected. (Whole-program analysis is trivially supported in tools for languages such as Java, but it is not supported by TAJS due to the difficulty of analyzing JavaScript.)

Conclusion

We introduced new operational semantics for serverless computing and demonstrated how these semantics give rise to the service call graph. Finally, we presented a prototype of our service call graph construction algorithm and showed its efficacy on real-world serverless programs. In future work, we will construct analyses for improving performance and security of serverless applications.

  Fig.2. An example event configuration. The serverless function processor is triggered when an object is added to the photos bucket. In the semantics, this event is represented as the fact e(c, processor) where c = (photos, upload ).

  op) object store name trigger (c) := {f |e(c, f ) ∈ E} triggered functions step f = upload (b, (vid, vobj)) trigger (b, upload ) = {f1...fn} UPLOAD F(f1, init(f1, vid), y1)...F(fn, init(fn, vid), yn) CF(f, σ , x)B(b, v ∪ (vid, vobj)) CF(f, σ, x)B(b, v) ⇒ step f = remove(b, vid) trigger (b, remove) = {f1...fn} REMOVE F(f1, init(f1, vobj), y1)...F(fn, init(fn, vobj), yn) CF(f, σ , x)B(b, vorig -(vid, vobj))

Table 1 .

 1 Service Call Graph results.

	Application	Lines of	#	Sound?	Missed Edges
		Code	Functions
	hello-retail	2288	14	Y	0
	citizen-dispatch	865	3	N	6
	galleria	641	5	Y	0
	rating-service	412	2	Y	0
	LEX	323	2	Y	0
	lending-app	258	4	Y	0
	url-shortener	172	3	Y	0
	zen-beer	155	4	Y	0
	greeting-app	99	2	Y	0
	lane-breach	98	2	N	1
	wombat	88	2	Y	0
	serverless-chaining	28	2	Y	0