External collaboration patterns of research institutions using shared publications in the Web of Science Purpose -During recent decades, research institutions have increased collaboration with other institutions since it is recognized as a good practice that improves their performance. However, they do not usually consider external collaborations as a strategic issue despite their benefits. The purpose of this paper consists of identifying different patterns of collaboration and internationalization of universities, with the aim of helping managers and policy makers to take decisions related to their national research policies. Design/methodology/approach -Co-authorship analysis has been used in conjunction with social network analysis to model inter-institutional collaborations as networks, extracting these collaborations from the Web of Science database. Using several structural properties of the extracted networks and applying a statistical treatment, the main profiles of collaborations and internationalization have been obtained. Findings -Obtained results distinguish three patterns of collaborations according to the intensity and scope of collaborations. The statistical treatment also provides a segmentation of universities according to their collaboration profiles. Finally, universities are represented in bi-dimensional maps using external collaborations as a measure of similarity. Research limitations/implications -Although this study is restricted to English universities, it could probably be extended at least to other countries in the European Union or even other developed countries. Practical implications -Research and institutions productivity are usually linked to the amount of received funding. The use of indicators related to internationalization of institutions can help to avoid a bias in favour of research quantity rather than quality, and towards a short-term performance rather than a long-term research capacity. Originality/value -As a difference to previous works, this paper analyses networks of collaboration from the viewpoint of institutions. More specifically, the combination of social network analysis and factor analysis is used to identify patterns of collaboration among institutions. A longitudinal study is also included to demonstrate that the obtained categorization of universities is maintained over time. Co-operation between different scientific disciplines, different organisational units, and external actors seem to be a common and increasing phenomenon of academic reality (Guimera et al., 2005) . Obviously, collaboration has always been part of academic life, but the context of an increasingly globalised research environment has encouraged academic institutions to strengthen their external and international dimension. Both of them are considered essential to remain competitive and to drive economic growth. Several reasons can explain this trend. Research collaboration is important in order to meet the big global challenges confronting science. In fact, an increasing number of topics require today an interdisciplinary treatment, being necessary the participation of department or organisation belonging to different fields of knowledge (Bessis, 2009; Bordons et al., 1999; Knowles, 2010) . From the researchers point-of-view, group collaborations show that people who already have written a paper previously together are much more likely to succeed in future collaborations, as they have already paid the start-up costs of getting to know each other's languages, approaches and methodologies (Cummings and Kiesler, 2008) . Furthermore, attracting and retaining links with the best scientific talents ensures that researchers and institutions stay at the centre of global innovation networks.. In general, all the actors involved in the academic world, including researchers, managers, politicians and policy makers, are broadly in agreement about the benefits of reinforcing external collaborations. The main benefits for higher education institutions derive from being visible and attracting reputed researchers as well as potential research students from all over the world. Researchers also consider more exciting in working with people and groups that have different skills and viewpoints. Politicians and policy makers are usually more worried about the competitiveness and sustainability of the domestic research system and the domestic economic growth.. The most extended technique for analysing collaborations is co-authorship analysis (Liu et al., 2005) . Much of the previous work in this area has used co-authorship analysis to assess collaboration among researchers or the structure of scientific collaborations (Farkas et al., 2002; Rodriguez and Pepe, 2008) . In this paper, we propose the use of co-authorship analysis to assess the collaboration among research institutions in a certain geographical environment using social network analysis techniques. As a case study, academic institutions of England are considered, and thus, the extracted results have been analysed using social network analysis techniques. The remainder of this paper is presented as follows: section 2 details previous research in the field of co-authorship analysis and social network analysis. Section 3 describes the methodology, including the set of considered data, retrieval of information and the analysis of this information. Obtained results are presented in section 4 while their discussion and implications are included in section 5. Finally, the conclusions can be found in section 6. This study has analysed the impact of external collaborations on university performance and has extracted three profiles of universities regarding their external collaborations. Obtained results show a reduced top list of universities, responsible of the majority of collaborations, a second group of universities with lower intensity but wide scope in their external collaboration and a third group of universities with no external collaboration orientation. The scope of collaboration feature has been analysed using multidimensional scaling to distinguish several patterns in the form of maps. Both features intensity and scope of external collaborations are the main features to consider when assessing universities external policies. Obtained results can be easily interpreted and provide valuable information to university managers and policy makers about possible improvements in their strategic policies. First of all, a ranking of England universities has been used to test the influence of the listed indicators in the overall performance of universities. For this purpose, the ranking of the Complete University Guide (www.thecompleteuniversityguide.co.uk/ league-tables/rankings) has been chosen. In particular, this guide offers a ranking of England universities attending to their average quality of their research. Table II , performance of universities is positively correlated with external collaborations, both in terms of internal and international collaborations. It is also positively correlated with the scope and intensity of these collaborations. On the other hand, performance is not significantly correlated with the role of universities as structural holes and negatively correlated with their clustering coefficient.. To obtain the different patterns of collaborations of England universities, a factor analysis has been applied to the extracted data set. Factor analysis is a way to fit a model to multivariate data, estimating their interdependence. It addresses the problem of analysing the structure of inter-relationships among a number of variables by defining a set of common underlying dimensions, the factors, which are not directly observable, segmenting a sample into relatively homogeneous segments (Rencher, 2002) . Because each factor may affect several variables in common, they are known as "common factors". Each variable is assumed to be dependent on a linear combination of the common factors, and the coefficients are known as loadings. Factor analysis can be used for either exploratory or confirmatory purposes: exploratory analyses do not set any a priori constraints on the estimation of factors or the number of factors to be extracted, while confirmatory analysis does (Raban and Rabin, 2009 ). In our case, we have developed an exploratory analysis as we did not know the number of underlying dimensions. That is to say, a decision must be made about the number of factors to be extracted. There are several criteria for doing this, being the most extensive the eigenvalue and percentage of variance criterion. The eigenvalue criterion considers a number of factors equals to the number of eigenvalues higher than 1. The percentage of variance criterion considers all factors accounting for about 70 per cent of the variance of the original variables (Rencher, 2002; . Table III details the eigenvalues and the percentage of variance explained for the proposed case study. Both criteria are satisfied for a number of factors equals to three.. Once the number of factors has been determined, the next step is to interpret them according to the factor loadings matrix. The estimated loadings from an unrotated factor analysis fit can usually have a complicated structure. The goal of orthogonal factor rotation is to find a parameterisation in which each variable has only a small number of large loadings, i.e. is affected by a small number of factors. The rotated factor analysis ensures that factors represent unidimensional constructs while preserving the essential properties of the original loadings. The most popular of these techniques is the varimax rotation, which seeks rotated loadings that maximize the variance of the squared loadings in each column of the factor loading matrix (Rencher, 2002) . Factor loadings with varimax rotation are shown in Table IV . Each row represents the factor loadings of each variable. Moving horizontally from left to right across the five loadings in each row, the highest loading has to be identified. All the variables associated in this way with the same factor are hypothesised to share a common meaning that the analyst should discover.. According to Table IV , several factors can be distinguished; these are discussed next.. . F1. Collaboration intensity: this factor characterizes those universities with the highest collaboration ratings, both in terms of internal and international collaboration. The high value of factor loadings for the degree, brokerage roles and number of lines with the first neighbour confirms this pattern of behaviour. This group is composed by 15 universities, most of them occupying the first positions of the ranking used to test their research performance. F2. Scope of collaboration: this group is defined by the high value of closeness centrality and the low value of structural holes (negative factor loadings). That means this group exhibit a good connectivity with other institutions but with lower intensity than the previous group. This group is integrated by 55 universities.. .

O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O B O B O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O B O O O O O O B I O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O B O O B I O O O O O O O O B O O O O O O O O O O B O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O B O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O


Automatic detection and segmentation of bovine corpora lutea in ultrasonographic ovarian images using genetic programming and rotation invariant local binary patterns Abstract In this study, we propose a fully automatic algorithm to detect and segment corpora lutea (CL) using genetic programming and rotationally invariant local binary patterns. Detection and segmentation experiments were conducted and evaluated on 30 images containing a CL and 30 images with no CL. The detection algorithm correctly determined the presence or absence of a CL in 93.33 % of the images. The segmentation algorithm achieved a mean (±standard deviation) sensitivity and specificity of 0.8693 ± 0.1371 and 0.9136 ± 0.0503, respectively, over the 30 CL images. The mean root mean squared distance of the segmented boundary from the true boundary was 1.12 ± 0.463 mm and the mean maximum deviation (Hausdorff distance) was 3.39 ± 2.00 mm. The success of these algorithms demonstrates that similar algorithms designed for the analysis of in vivo human ovaries are likely viable. The ovaries of all mammalian species, including humans and cattle, contain follicles and corpora lutea (CL). The corpus luteum is a temporary endocrine gland that forms from the follicular tissue after ovulation. Its primary function is to produce the steroid hormone progesterone, which is necessary for maintaining pregnancy [13] and for regulation of folliculogenesis [4] . For background on follicular dynamics in cattle and humans, the reader is referred to Adams and Pierson [1] and Baerwald et al. [3] , respectively.. Singh et al. [18] demonstrated that mean pixel intensity in ultrasonographic images of bovine ovaries was significantly different between the metoestrus, early/mid-dioestrus, and pro-oestrus phases. In the same study, several correlations between mean pixel intensity of luteal tissues in ultrasonographic images and histological and biochemical observations were shown, specifically that mean pixel intensity was strongly correlated with volume density of luteal cells, connective tissue, and stromal components, and that mean pixel intensity was strongly correlated with plasma and luteal progesterone concentration.. Similar variations in mean intensity of luteal pixels were observed in ultrasonographic images of human ovaries through the interovulatory interval (IOI) and the variations were not significantly different between women with cycles of two and three waves of follicular growth [4] . In the same study, mean luteal area was found to be positively correlated with serum progesterone and estradiol concentrations, again with no differences between women with two and three-wave cycles.. These observations suggest the possibility of predicting the ovarian physiological status of an individual from luteal brightness and luteal area measurements based on a single day's ultrasonographic examination. Indeed, it has been shown, using data collected from Singh et al.'s experiments [18] , that information regarding CL size, and number and sizes of ovarian follicles are sufficient to predict bovine oestrus phase [10] . Part of the process of automating such a determination is developing the capacity for automatic localization of the CL. Presently, CL detection and segmentation in ultrasonographic images are typically performed manually which is time consuming and subject to variance in human interpretation of images.. The objective of our study was to design a high-performance, fully automated computer algorithm for the detection of the presence or absence of a CL in a single image and the segmentation of CL regions. We have developed CL detection and segmentation algorithms for bovine ovaries imaged ex situ under ideal conditions [18] , which demonstrate the potential feasibility for doing the same with in vivo human CL images. The bovine model for studying human ovarian function has been well established [1, 17] .. Validation of our algorithm was performed using the same images obtained by Singh et al. [18] which were used to correlate luteal pixel brightness with the aforementioned histological and biochemical features. These algorithms could be used as part of a larger automated system to automatically detect, segment, and sample the luteal brightness in ultrasonographic images, and predict the ovarian physiological status based on a single ultrasonographic examination.. No previous studies of automated CL detection in a single image were found in the literature. The only previously published study on CL segmentation was limited in size and scope and the algorithm presented was not completely automatic [16] . The mean (±standard deviation) sensitivity and specificity of the CL segmentations produced by their algorithm were 0.814 ± 0.171 and 0.990 ± 0.00786, respectively. The algorithm requires an initial contour to be manually placed within the CL region to be segmented. Moreover, for CL's exhibiting a central cavity, the initial contour must enclose and not intersect with the central cavity.. In contrast, our algorithm uses genetic programming (GP) to evolve computer programs that perform texture classification using rotation invariant local binary patterns (LBP) to find highly fit algorithms for automatic detection and segmentation of CLs. Figure 1 is an example of ultrasound image containing a CL; Fig. 2 shows an example of ultrasound image that does not contain a CL. The visible difference in texture of the CL region compared with the other visible textures motivates a texture-based segmentation approach. Our CL segmentation and detection algorithms work by learning computer programs that are highly fit for the task of distinguishing the ultrasonographic echo texture of corpora lutea from other textures in the image. We begin this section with some background on genetic programming and LBP, followed by a detailed description of our use of genetic programming, our algorithms, and experimental designs. Herein we presented a new CL segmentation and detection algorithm. The accuracy of the segmentations were found not to be dramatically worse or better than the previous method, however, the current solution is fully automatic and more than five times faster which is a major advantage over the previous method. The other main contribution of this work is a CL detection algorithm which correctly determined the presence or absence of a CL in an image in 93 % of cases.

O O O O O O B I O O O O O B I O O O B I I O O O O O O O O O O O O O O B I O O B I O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O B I O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Identification of single nucleotide polymorphisms from the transcriptome of an organism with a whole genome duplication Background: The common ancestor of salmonid fishes, including rainbow trout (Oncorhynchus mykiss), experienced a whole genome duplication between 20 and 100 million years ago, and many of the duplicated genes have been retained in the trout genome. This retention complicates efforts to detect allelic variation in salmonid fishes. Specifically, single nucleotide polymorphism (SNP) detection is problematic because nucleotide variation can be found between the duplicate copies (paralogs) of a gene as well as between alleles. Results: We present a method of differentiating between allelic and paralogous (gene copy) sequence variants, allowing identification of SNPs in organisms with multiple copies of a gene or set of genes. The basic strategy is to: 1) identify windows of unique cDNA sequences with homology to each other, 2) compare these unique cDNAs if they are not shared between individuals (i.e. the cDNA is homozygous in one individual and homozygous for another cDNA in the other individual), and 3) give a "SNP score" value between zero and one to each candidate sequence variant based on six criteria. Using this strategy we were able to detect about seven thousand potential SNPs from the transcriptomes of several clonal lines of rainbow trout. When directly compared to a pre-validated set of SNPs in polyploid wheat, we were also able to estimate the false-positive rate of this strategy as 0 to 28% depending on parameters used. Conclusions: This strategy has an advantage over traditional techniques of SNP identification because another dimension of sequencing information is utilized. This method is especially well suited for identifying SNPs in polyploids, both outbred and inbred, but would tend to be conservative for diploid organisms. The SNP validation evidence suggests that our method offers an advantage over existing strategies of SNP identification for polyploid organisms. This strategy might also be used for analyzing data derived from diploid organisms, but would likely be overly conservative for SNP identification in those organisms, resulting in identification of fewer SNPs.. Methods mRNA isolation, cDNA synthesis, and 454 pyrosequencing Total RNA was isolated from tissues of five different clonal lines of doubled haploid rainbow trout. Arlee, Clearwater, and Swanson are YY male lines [38] , Skamania is apparently an XX male line with a female-to-male sex reversal mutation (Paul Wheeler, personal communitication), and the Whale Rock line is an XX female line [30] . RNA was extracted from approximately 30 eyed-stage embryos (~15 days post fertilization at 11°C) from each clonal line. The yolk sacs were removed from the embryos in a chilled 0.9% saline solution before RNA extraction. Head kidney RNA was also isolated from an~one-year-old fish for all five clonal lines.. Tissues were suspended in TRIzol (Invitrogen), flash frozen in liquid nitrogen, and stored at −80°C until RNA extraction. Tissue samples were homogenized using a glass Dounce tissue grinder as recommended in the TRIzol RNA extraction protocol [39] . After TRIzol phase separation, two additional rounds of RNA extraction were performed A B Figure 4 Effect of window size on distinguishing paralogs and the amount of useable data. Panel A shows two homeologs and the sequence of paralogs from a homozygous fish. Paralogous sequence variants are in bold text. Two windows are represented (1 and 16), only the 16 nucleotide window can differentiate between the paralogs. Panel B shows a multiple sequence alignment of the expressed cDNA reads aligned to the gene sequence from Chrom 1a. Depending on the alignment criteria and the sequence similarity, the two different paralogs will both align to the sequence from Chrom 1a. The number of useable sequences depends heavily on the window size. The larger the window size, the less likely that a read will span the window length, but the more likely the paralogs will be distinguishable.. using a four to one ratio of acidic phenol (pH~4.5): chloroform, followed by a final chloroform extraction. Total RNA was precipitated with isopropyl alcohol, washed with 70% ethanol, and suspended in water. cDNA was synthesized from each total RNA source using the SMARTer™ PCR cDNA synthesis protocol (Clontech) and was amplified with Advantage PCR according to the manufacturer's instructions. Amplified cDNAs were purified by phenolchloroform extraction [40] and precipitated with an equal volume of isopropyl alcohol, washed with 70% ethanol, and suspended in water.. The samples were then sent to the Genomics Core at Washington State University where the cDNA quality was assessed using an Agilent DNA 1000 kit (Agilent Technologies). Nebulization of the cDNA followed, using the 454 Rapid DNA Library protocol (Roche). Each cDNA sample was then barcoded and each cDNA library was quantified using a PerkinElmer VICTOR tm X. Libraries were titrated by small volume emulsion PCR and then pooled into two libraries for large volume emulsion PCR. Finally, both libraries were sequenced using a Roche 454 FLX Titanium Genome Sequencer on a single picotiter plate. Traditional methods of SNP identification are effective for standard diploid organisms, but are not appropriate (23) False-positives 61. The number of SNPs from the original study and from different settings using our strategy. There are multiple numbers per parameter explored. These reflect different alignment programs used under these settings. The first set of numbers were from Novoalign alignments, and the second were from Megablast (in parentheses). Panel A is a histogram of sequence similarity of alignments for the Clearwater clonal line. Alignments were produced by either Megablast or Novoalign and for every 80 nucleotide window the alignments were binned into their respective similarity category based on the number of mismatches in the window. The second peak of alignments around 92.5% with Megablast likely represents a set of genes duplicated during a whole genome duplication. Novoalign does not show this pattern because Novoalign uses a more stringent alignment algorithm. Panel B was produced in the same way, but it represents the combination of two polyploid wheat lines for 125 UniGenes used in SNP validation. The second peak for this panel is around 98.75% indicating a much more recent whole genome duplication. Both alignment programs have similar results with wheat because the paralogs have high sequence similarity.. for organisms that have had a genome duplication. Other methods have been employed to overcome traditional limitations [30] [31] [32] , but they may be of limited use for future studies if they cannot effectively integrate the occurrence of paralogs into SNP identification. Our strategy incorporates such information during SNP calling and may be used for both inbred lines and outbred populations.. The importance of alignment program selection increases as paralogs diverge. Early after a genome duplication, it is likely that most alignment programs could effectively align paralogous sequences together. As mutations alter the paralog sequences, high stringency alignment programs will no longer align paralogs together. SNP discovery in diploids benefits from accurate alignments, but information about the paralogs is much more valuable in polyploids than highly precise alignments.. Dependence on a nucleotide window is both a weakness and strength of this strategy. While modifications may be made to increase or decrease the window size, doing so may also influence the results. For example, a decreased window size may limit the ability to distinguish similar paralogs (Figure 4 ). Alternatively, an increased window size would allow the identification of all non-identical paralogs, but would decrease the likelihood that a cDNA sequence would span the window completely and would decrease the amount of usable data. Traditional strategies have an effective window size of one nucleotide and for this reason are unable to differentiate between paralogs.. One distinctive component of our strategy is the stringent use of only homozygous alleles in SNP identification. This eliminates many false-positive SNPs that are the result of paralogous sequence variants. At the same time, fewer SNPs will be found because heterozygous alleles are eliminated during SNP identification. To maximize SNP identification, it may be more appropriate to use a low stringency method and use allele frequency as a filter instead of the homozygous selection method described here.. A complementary application of this method might be in the identification of gene families or paralogs. Our method tries to identify paralogs from short cDNA sequences in order to score SNPs, but the estimation may be useful in other ways. For example, the described strategy may be used as an initial method for identifying genes that may be duplicated. Identification and enumeration of paralogs would benefit gene expression, phylogenetic, and gene ontology studies. cDNA output, SNP calling, and paralog counting Embryo and head kidney cDNA were sequenced for five homozygous clonal lines of rainbow trout. The average number of reads per clonal line was 114,096 (SD = 67 k) for the embryo and 105,464 (SD = 71 k) for the head kidney (Table 1 ). cDNA reads were aligned to the unique rainbow trout UniGene database (build #34) with Megablast version 2.2.21 [33] and with Novoalign version 3.00.05 [34] to compare these two alignment programs.. For each UniGene sequence, the aligned cDNA reads were used to estimate the number of paralogs and identify potential SNPs for both tissues ( Table 2 ). Figure 2 shows A B Figure 1 A comparison between traditional approaches and our strategy of SNP identification. Panel A shows two homeologs (duplicated chromosomes) and the sequence of both alleles from each chromosome. The fish are homozygous and only have one allele from each homeolog. This means that SNPs can only be found by comparing sequences between the two homozygous fish. Any variation found within a fish is a paralogous sequence variant (i.e. the first nucleotide in the gene sequence). Panel B illustrates the differences between traditional approaches and ours. The traditional approach would scan every nucleotide position and identify any variant as a possible SNP. This leads to a 50% error rate for the illustrated case (SNP1 is actually a paralogous sequence variant). Our approach uses windows of sequence to identify potential SNPs. Variant windows, in this case 9 nucleotides, are compared between individuals, with windows found in both individuals not considered for SNP identification. Table 3 ). The number of SNPs between lines appears to be correlated with number of reads, with the lines having higher read counts also having more SNPs (Tables 2 and 3) . A value of 0.25 for the SNP score was used as a threshold for reporting based on Table 4 (discussed below), and because an allele only represented by one read would score below this value (discussed in Methods section). Removing these alleles should remove most sequencing errors. The embryo and head kidney tissues had the same gene counts for roughly half of the overlapping UniGenes (2326 of 4782) when using Megablast alignments and 72% (1340 of 1858) using Novoalign alignments.. The different SNP numbers and percent gene duplication (~32% Megablast and~14% Novoalign), identified while using different alignment programs resulted from how alignments were produced. Novoalign uses a global alignment algorithm and produced fewer alignments between diverged paralogs ( Figure 3 ). The Novoalign program produces relatively few alignments with lower sequence identity compared to the Megablast program. The Megablast result is similar to an all-against-all EST comparison from Atlantic salmon with greater divergence between ancestral genomes in the rainbow trout [35] .. In a general sense, having few low sequence identity alignments indicates that the Novoalign program is more accurate because diverged paralogs are not aligning to the reference sequences. However, our strategy requires the alignment of paralogs so we can distinguish between these sequences and identify SNPs in paralogs that are not represented in the reference sequences. Whole genome duplications followed by differentiation of many gene duplicates in the ancestors of rainbow trout and other salmonid fishes [1, 2] have created one of the most complex animal genomes [3] [4] [5] . Historical polyploid events have also been important in the ancestry of all vertebrates [6, 7] , and are of broad significance in plant evolution [8, 9] . Genome duplications increase the complexity of genomic studies [10] and result in a need to distinguish between paralogs [11, 12] . Population and quantitative genetics fundamentally rely on the accurate identification of the alleles of a gene or locus [13] .. Identification of alleles is complicated when paralogous genes or sequences are easily mistaken for alleles [14] . Recent analytical methods have increasingly turned to single nucleotide polymorphisms (SNPs) as the preferred genetic marker to distinguish between alleles because they are ubiquitous and can be readily scored [15] . SNPs are easily mistaken for paralogous sequence variants because many paralogs are similar in sequence and may contain common variants that were present before genome duplication.. Traditional SNP calling programs use sequence alignments of cDNA or genomic sequence and identify any variant position as a possible SNP [16] . If a paralog is included in the alignment, traditional strategies will incorrectly identify paralogous sequence variants as possible SNPs (Figure 1 ). Traditional approaches of transcriptome data analysis for SNP identification have been utilized for both diploid and polyploid organisms [17, 18] .. In the diploid carrot, 18% of the potential SNPs were found to be false-positives (excluding technical failures) using a traditional method of analyzing transcriptomic data [17] , and in some fish species the false-positive rate was very high (e.g. catfish 41.4%) [18] . In fishes with polyploid ancestries, the false-positive rate was 19.4% for whitefish [19] , and 15.9% for chum salmon [20] .. Two main non-traditional approaches have been used to distinguish SNPs from paralogous sequence variants. The most common strategy has been to remove all polymorphisms associated with genes that have paralogs [21] [22] [23] [24] [25] . Such filtering drastically reduces the total number of genes in which polymorphisms can be detected in species with recent polyploidy ancestries and may still lead to a relatively high false-positive rate. A filtering strategy was used for a diploid coral transcriptomic dataset, which resulted in a 30% false-positive rate [26] and a 12% false-positive rate was found for ryegrass using a similar strategy [27] . In polyploid alfalfa, a window approach was used to eliminate SNPs if the potential alleles differed by 10% or more in the window surrounding the SNP [28] . This resulted in a false-positive rate of 37.5%, a very positive outcome considering that the alfalfa was both polyploid and had heterozygous genotypes. In salmonids, filtering resulted in a false-positive rate of 68.6% [29] .. Other researchers have proposed strategies to detect polymorphisms without filtering paralogs [30] [31] [32] . These methods allow identification of differences between alleles in genes with paralogs, but alleles will still be indistinguishable from paralogs in future studies if the sequence is not reported with the SNP. Knowledge of a SNP at a given location is not fully informative as paralogs may share common sequence with an allele. The SNP calling method described here involves the analysis of windows of sequence (similar to [28] ) and only comparing homozygous alleles differing between individuals ( Figure 1 ). We utilized homozygous clonal lines of rainbow trout because they ensure homozygous alleles at every locus and any difference within an individual likely represents a paralogous sequence variant. This strategy may also be used for SNP identification in outbred organisms, but only SNPs from homozygous loci will be identified.

O O O O O O O O O O O O O O B I O O O O O O O O B I O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O B O O B O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O B O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O B O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O B O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O


Generating and using truly random quantum states in Mathematica The problem of generating random quantum states is of a great interest from the quantum information theory point of view. In this paper we present a package for Mathematica computing system harnessing a specific piece of hardware, namely Quantis quantum random number generator (QRNG), for investigating statistical properties of quantum states. The described package implements a number of functions for generating random states, which use Quantis QRNG as a source of randomness. It also provides procedures which can be used in simulations not related directly to quantum information processing. As full scale quantum computing devices are still missing, the simulation of quantum computers has gained considerable attention as a method for investigation the behaviour of quantum algorithms and protocols [1] . It also provides a valuable method for inspecting the mathematical structure of quantum theory by providing information about statistical properties of quantum states and operations [2] .. Generating random numbers using the statistical nature of quantum theory provides one of the first practical applications of quantum information theory. At the same time the high quality of random numbers generated using quantum random number generators is based on the very basic principles of Nature [3] . Since random numbers are important in many areas of human activity, at the moment this provides one of the most important applications of quantum information theory.. During the last several years many simulators of quantum computers have been developed and the most up-to-date list of available software is available at [1] . Many simulators of quantum information processing were developed using Mathematica computing system [4, 5, 6, 7, 8] . Also some attention has been devoted to utilising CUDA programming model [9] and parallel processing model [10, 11, 12] . The research effort in using parallel and distributed computing for the purpose of quantum information processing was motivated by the amount of computational resources needed in order to perform a simulation of quantum computation.. In this paper we present a TRQS (True Quantum Random States) package for Mathematica computing system harnessing a specific piece of hardware, namely Quantis quantum random number generator (QRNG), for investigating statistical properties of quantum states. The described package implements a number of functions for using numbers and generating random states (i.e. random state vectors and random density matrices), using Quantis QRNG as the source of randomness. The presented package has been developed for the purpose of quantum information theory, but it can be easily utilised in other areas of science.. The motivation for utilising random numbers generated using quantum devices is twofold. Firstly, QRNGs provide a high-quality source of randomness which can be used in various areas of computational physics. Recent progress in this area [13] suggests that QRNGs are of a great interest for experimentalists, as well as theorists, working in the field of quantum information theory. Secondly, it has been shown that the statistical properties of obtained numbers cannot be reproduced using standard methods of generating random numbers [3] . This paper is organised as follows. In Section 2 we introduce basic theoretical facts concerning random states and operations. In Section 3 we describe the functions implemented in the presented package and in Section 4 we use the described package to analyse some problems related to quantum information theory. We also use TRQS package be benchmark the speed of Quantis random number generator. Finally, in Section 5, we provide some concluding remarks and discuss the alternative sources of random numbers generated using quantum random number generators. Good random number generators are undoubtedly one of the most crucial elements used in computational physics. In particular, in simulations of quantum computing the use of random numbers is required to imitate the statistical behaviour of quantum mechanical objects, e.g. quantum register after measurement [24] or particle in quantum walks [25] .. The described package can be used along with QI package for Mathematica [7] and some of the described functions are implemented in QI with the use of a pseudo-random number generator available in Mathematica. As the functions implemented in the presented package operate on basic data types available in Mathematica, it is also possible to use the package with other Mathematica packages developed for the simulation of quantum computing [5, 6, 8] . However, the potential application of the presented package is not limited to quantum information theory and the implemented functions can be used in other fields where good quality random numbers are required.. The obtained timings for different methods of producing random numbers suggest that the main obstacle in using the presented software in large scale simulations using random numbers is the speed of the random number generators. Clearly, at the moment the built-in pseudo-random number generator in Mathematica outperforms the Quantis-based random number generator. Quantis device provides a stream of random numbers generated at 4 Mbits/s. Additionally, the speed of random number generation is limited by the speed of the I/O operations. The speed of functions using Quantis QRNG can be improved by using libQuantis function QuantisRead for reading a larger amount of random data in the situation when e.g. large arrays are filled with random numbers. However, for the needs of simulations connected to quantum information theory, especially related to investigations of properties of low-dimensional systems the presented functions provide a satisfactory user experience. On the other hand, the recent progress in quantum random generation provides the methods for delivering random numbers generated at a rate of up to 50 Mbit/s [13] or higher [26] .. Clearly the application of the described package is limited by the availability of Quantis quantum random number generator. However, alternative sources of random numbers generated using hardware operating on the basis of quantum mechanics exist. In particular, QRNG Service provided by PicoQuant GmbH and the Nano-Optics group at the Department of Physics of Humboldt University [27] allows to obtain samples of random numbers generated using quantum hardware. The samples can be downloaded directly via web page or, alternatively, using the provided library libQRNG. This library can be used in 32 and 64-bit versions of Linux and Windows operating systems. Another option is provided by the Quantum Random Bit Generator Service [28] developed by Centre for Informatics and Computing, Ruder Bošković Institute, Zagreb, Croatia. This service provides bindings for a variety of programming languages, including C, Java and Python. Both services require registration and have some limitations concerning the amount of random data that can be downloaded. However, they provide free and relatively easy to use alternative for the commercial solution provided by ID Quantique.. 6 Acknowledgements

O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O B I I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Plaintext awareness in identity-based key encapsulation The notion of plaintext awareness (PA) has many applications in public key cryptography: it offers unique, stand-alone security guarantees for public key encryption schemes, has been used as a sufficient condition for proving indistinguishability against adaptive chosen-ciphertext attacks (IND-CCA), and can be used to construct privacypreserving protocols such as deniable authentication. Unlike many other security notions, plaintext awareness is very fragile when it comes to differences between the random oracle and standard models; for example, many implications involving PA in the random oracle model are not valid in the standard model and vice versa. Similarly, strategies for proving PA of schemes in one model cannot be adapted to the other model. Existing research addresses PA in detail only in the This research work is part of the bilateral research project between Germany and Australia, funded jointly by the German Academic Exchange Service (DAAD) public key setting. This paper gives the first formal exploration of plaintext awareness in the identity-based setting and, as initial work, proceeds in the random oracle model. The focus is laid mainly on identity-based key encapsulation mechanisms (IB-KEMs), for which the paper presents the first definitions of plaintext awareness, highlights the role of PA in proof strategies of IND-CCA security, and explores relationships between PA and other security properties. On the practical side, our work offers the first, highly efficient, general approach for building IB-KEMs that are simultaneously plaintext-aware and IND-CCA-secure. Our construction is inspired by the Fujisaki-Okamoto (FO) transform, but demands weaker and more natural properties of its building blocks. This result comes from a new look at the notion of γ -uniformity that was inherent in the original FO transform. We show that for IB-KEMs (and PK-KEMs), this assumption can be replaced with a weaker computational notion, which is in fact implied by one-wayness. Finally, we give the first concrete IB-KEM scheme that is PA and IND-CCAsecure by applying our construction to a popular IB-KEM and optimizing it for better performance. A modern approach to hybrid encryption is given by the KEM/DEM paradigm [1, 17, 18, 21, 39] , which gives a modular construction of public key encryption (PKE) and identitybased encryption (IBE) schemes. The key encapsulation mechanism (KEM) is first applied by the sender to compute the key and its encapsulation. The output key is used in the data encapsulation mechanism (DEM) to encrypt the message. The recipient decapsulates the key and then decrypts the message. This mechanism is especially valuable for secure transmission of longer messages since the DEM part is usually based on fast, symmetric techniques.. Adaptive CCA security and transformations The widely accepted security notion for KEMs is indistinguishability against adaptive chosen-ciphertext attacks (IND-CCA 1 ) [18, 29] , and diverse KEM constructions satisfying this property have been proposed in the public key (PK-KEM) [13, [17] [18] [19] 32, 39] and the identity-based (IB-KEM) [6, 33] settings. Some [6, 19, 39] are secure in the random oracle model; others [13, 17, 18, 32, 33, 39] in the standard model.. In general, IND-CCA-secure KEMs can trivially be obtained from any IND-CCA-secure encryption scheme by encrypting (sufficiently many) randomly chosen messages that are then used as the encapsulated key. In the random oracle model, Dent [19] demonstrated that IND-CCA-secure PK-KEMs can further be obtained from PKE schemes that satisfy only a weaker property of one-wayness (OW). These results were extended by Bentahar et al. [6] to the identitybased setting. This parallels prior work on IND-CCA-secure encryption: in the random oracle model, transformations by Fujisaki and Okamoto [26, 27] and by Okamoto and Pointcheval [36] offer IND-CCA security for PKE schemes that are one-way and whose ciphertexts are close to uniformly distributed (so-called γ -uniformity); similar transformations were shown by Kitagawa et al. [34] and Yang et al. [42] to apply in the identity-based setting. In the standard model, IND-CCA-secure PK-KEMs can be obtained using transformations originally proposed for IND-CCA-secure PKE schemes, e.g., by adding a "proof of well-formedness" to an IND-CPA-secure scheme [17, 18, 23, 25, 37] , or by converting a weakly secure IBE scheme [10, 12, 14] . We have defined and analyzed the notion of plaintext awareness for KEMs in the identity-based setting and the public key setting in the random oracle model. We have explored the relationships between plaintext awareness and other security notions, noting that a scheme that is both PA and OW is also OW-CCA. We have also introduced a generic transformation F, somewhat related to the FO transformation for PKE, that can be used to construct a plaintext-aware KEM from an OW-secure KEM. Notably, our F construction uses a weaker security notion which we call computational uniformity (and which is in fact implied by OW) than the distinct notion of uniformity required by FO; this security notion may be of independent interest. We further propose a simple hash-based construction # that, combined with our F construction, converts a weak (OW-secure) KEM into a strong (plaintext-aware and IND-CCA-secure) KEM. We apply this construction to several existing IB-KEMs, resulting in the first provably plaintext-aware secure IB-KEMs. This transformation can also be applied in the public key KEM setting. Our techniques and results apply in the random oracle model. Existing proof strategies for plaintext awareness in the standard model, such as the simulatability approach of Birkett and Dent [8] , do not seem to apply current standard model IB-KEMs, and we identify the development of proof strategies for plaintext awareness of identity-based constructions in the standard model as open question.

B I O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O


Optimizing CMOS circuits for low power using transistor reordering Activity(transJsec)(1) The continuous increasing packing densit and clock frequenc of static CMOS circuits has pushellow power as one o?the principal design parameters, specially in batterypowered portable systems, such as note-pad computers, sonal digital assistants, multi-media terminals and moEfi telephones.. This paper addresses the optimization of a circuit for low power using Fapsistor reordering from a gate-level description. The optimization al orithm uses a power-consumption model of a static CMO! gate that takes into account the power of the internal nodes of the gate. This model allows a fast ex loration of the different configurations of a ate that are oitained by reordering its transistors. Thus, the [est configuration of each gate is selected and the overall power consum tion of the circuit is decreased.. We ~C U S on combinational multilevel circuits, where it has been shown that the power consumption of useless signal transitions (i.e. those transitions that do not contribute to the final result of the circuit) accounts for a large fraction of the overall dynamic power consumption of the circuit. Thus, it is necessary to incorporate the switching activity of the input signals into the power-consumption of the gate. This paper shows that average power reductions of 12% with a 4% increase in delay can be achieved by applying the transistor reordering technique. An optimization algorithm that uses a power-consumption model of a static CMOS gate has been presented. This novel power-consumption gate model takes into account both the probabilities and the transition densities of the inputs of the gates that compose the circuit.. The results suggest that (a) current libraries may be upgraded with more instances of the gates with different transistor reorderings, so that an optimization al orithm can choose the best instance forpower reduction and!(b) it is possible to obtain power reductions without increasing the delay of the circuit. Our future work in the transistor reordering field is devoted to this second direction.

O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O


Deriving object typestates in the presence of inter-object references We are interested in static analysis of Java classes with the goal of discovering the preconditions under which a certain program point within a method may be reached, taking into account the effects of previous method calls on an object of that class. The information pertinent to this computation is represented as the object's typestate, which is a finite set of relevant predicates that abstract the object's actual state. The execution of a method depends on an object's current typestate as well as other input parameters; the object may transition to a different typestate during the method's execution.It is common for objects to contain references to other objects. In such cases, an object's behavior may depend on, in addition to its own state, the state of objects it has a reference to. The main contribution of this paper is to discover relevant object typestates, as well as transitions between typestates, in the presence of inter-object references. Our analysis first performs a combined predicate discovery and predicate abstraction to derive "boolean" versions of Java classes given as input. It then uses abstract interpretation to compute the typestate transitions caused by method calls. A novel aspect of this work is that a set of Java classes is analyzed in isolation, without any client program being provided. To do this, the analysis simulates all possible client's actions via a synthetic heap, all of whose interesting configurations are explored by our analysis.The information we compute can be put to use in several ways. It can be used in checking whether a given client code erroneously uses a set of Java classes in a way that can throw an exception. It can also be used in creating test drivers for Java classes in order to exercise all relevant code paths in the corresponding methods. It is common to develop and distribute software components as building blocks of large software systems. For the purpose of this paper, a software component is a set of Java classes that are closed in the sense that the target of any call within the component is also part of the component. While components promote modularity, for clients it is important to know how to use a component properly. For instance, a client may need to know under which circumstances a certain method invocation may throw an exception. Merely knowing Java's type signature of the method can be insufficient, as correct usage may depend upon the dynamic state of the concerned objects.. This problem can be addressed to a certain extent by associating each object with a typestate [17] . A typestate is an abstraction of the dynamic state of an object. It depends on the problem at hand to figure out which state properties to reflect in the typestate. Typically, only simple properties such as values of flags are included in the typestate. As long as a specification of preconditions and postconditions for each method is given in terms of typestates, a user can use the component properly. However, when inter-object references are present, components can become much more difficult to understand and verify; this is because it is difficult to associate with an object a typestate that encapsulates the relevant aliasing information. Figure 1 shows two classes A and C. 1 The code shown contains only statements relevant from the point of view of a client interested in preconditions for calling A.run() or A.set() without throwing an exception. It is straightforward to describe the relevant behavior of C in isolation in terms of typestates. A C object is either in the state C1 in which C.disposed is false, or it is in the state C2 in which C.disposed is true. The call to C.dispose() changes C's state from C1 to C2, and it is an error to call C.run() or C.dispose() in state C2.. Suppose we attempt to capture the behavior of A in terms of the typestate of A.f. Here, the call to A.set(C1) would take A.f from null to C1. One might expect that a subsequent call to A.set(C1) would retain the state of a.f. Surprisingly, the call sequence a.set(c), a.set(c), a.run() leads to an error. This is because the same object c is passed in as a formal parameter to the second call to A.set, and causes a.f to point to a c object which is now in state C2. The call sequence a.set(c), a'.set(c), a.done(), a'.run() would also lead to an error. Here, the state change caused by the call to a.done() ends up changing the state of a'.f as well, because the c object is shared. As the preceding example shows, in order to characterize the behavior of objects related by inter-object references, typestates and transitions thereon need to factor in the aliasing relationships that hold among the objects involved in a method call in order to prevent these types of errors. Traditional typestate systems do not satisfy this requirement. This paper presents an approach to deriving relevant object typestates in the presence of inter-object references that do satisfy this requirement.. We use static analysis to automatically derive object typestates, accounting both for inter-object references and the local object state. Predicates of interest with respect to the typestates are discovered by analyzing reachability of certain program points, e.g. throw statements, within a method. The typestate of the object on which a method is invoked-along with typestates of any objects passed as parameters and possibly values of certain boolean flags-gives the reachability precondition for the method: whether the specified program point may be reached. Our analysis also derives transitions between object typestates caused by a method call, taking into account the typestate changes in related objects as well. The effect of a method on an object 2 A convention in Eclipse is that ContentViewers cannot share an IBaseLabelProvider object, but the API itself does not make this obvious. Also in other situations, certain objects are supposed to be shared for efficient utilization of resources.. a may not only update a's typestate, it may update typestates of objects that are referred to by a, and it may also update typestates of any objects passed in as parameters to the call. It may even update typestate of objects that are not reachable from a, but nevertheless have some aliasing relationship of consequence.. A key difficulty in computing and presenting this information is that the client of the component being analyzed is not known a priori. The analysis has to somehow account for all possible actions the client code can take that may lead to different possible transitions. We do this analysis by exploring method calls on a synthesized heap. It is synthesized in the sense that it does not come from an actual client; it is produced by a client emulator that constructs all heap states of interest. Effects of method calls are expressed in how objects in a heap undergo typestate transitions.. Our overall approach is sketched in Figure 2 . 1. We first discover predicates that determine reachability of specified program points in the component. These predicates control, either directly or indirectly, the outcomes of conditionals leading from the component boundary to the specified program points. Therefore, the predicate discovery phase starts with predicates from branches leading to the critical program points. It then performs a limited iterative weakest pre-condition computation which generates additional predicates. The limitations imposed ensure that only a finite number of predicates can be generated. Predicate discovery is performed via backwards intra-and interprocedural "slicing"; a preliminary inter-procedural dependence analysis is performed to enable this slicing. Because the client code is unknown, the propagation simulates a nondeterministic client that obeys Java type rules to "stitch" the control-flow graphs at the component boundary.. 2. The predicates resulting from the predicate discovery are then used for predicate abstraction, in which we convert the code for each method in the input Java classes to "boolean" code. The boolean code abstracts out all scalar computation in the method to reads and writes of predicates of interest. Departing from a truly boolean program, the algorithm retains assignments to reference variables (including reference fields), and allocations in the "boolean" program. Predicates in our boolean code are parameterized over such reference variables. Our boolean abstraction is conservative primarily due to our inability in handling arithmetic in the weakest pre-condition computation, not due to approximations in the preliminary pointer analysis.. 3. Given the boolean methods, client emulation and abstract interpretation are used to explore the possible behaviors of the component. Since we have to bound the number of observable behaviors, we map the "states" of the synthetic heap into an abstract heap state space, which is finite by design. The abstract heap states bound the number of distinct typestates for any object, as well as the number of distinct typestate transitions that a method can cause. The abstract heap state space is constructed by repeated application of boolean methods over the synthetic heap followed by an abstraction of the synthetic heap. The exploration increases the size of the synthesized heap, up to the point where no new typestates or transitions in the abstract heap state space are observed.. The result of our analysis is a set of object typestates and transitions that describe how a method call influences the typestates of various objects that participate in it. For some Figure 2 : Overview of the approach methods, some of the transitions are error transitions-that is, the initial typestates of participating objects (or some of the formal parameters) are such that the execution of the method may reach an error statement. The result characterizes the preconditions for safe use of a component: as long as the transition followed is not an error transition, the call is guaranteed to not reach an error-causing statement in the corresponding Java method. Due to the limited precision of the boolean abstraction, the analysis may be overly pessimistic, in that it may flag certain safe uses as possibly erroneous. Note that in order to be able to determine legality of calls for a sequence of method calls clients need to maintain typestate information for the participating objects.. Returning to the example shown in Figure 1 , our analysis will associate a typestate with A that contains information whether A.f is in state C1 or C2. The abstract heap state space will show a transition for method call A.set(C1), in which, if the instance of C passed in as the formal parameter is aliased by A.f, the final typestate of that C object will be C2; correspondingly the state of A.f will be C2 and a call A.run() would be an error transition. The abstract heap state space will also include a transition for the call A.set(C1), in which an unaliased instance of C is supplied. In this case, a subsequent call to A.run will not be an error transition.. The paper uses two additional examples as running examples to illustrate the various parts of our analysis. The Set-Iterator example in Figure 3 shows the use of a Java collection class. We invite the reader to verify that the sequence of calls i = s.iterator(), s.add(), i.next() leads to an error. The List example in Figure 4 shows a recursive data structure. Although our analysis is not designed for reasoning about shape properties, we include this example to demonstrate how we finitize object typestates.. We believe that our technique of reachability analysis is a new and powerful static analysis tool; being able to decide reachability is a useful building block for other applications. For example, it may be employed for interface synthesis, program verification and also various optimization problems. Note that the reachability problem can also model the question of whether any user-specified predicate holds after the execution of each method call. Describing these applications in detail is outside the scope of this paper. Specifically, the paper does not include an algorithm for statically verifying client code, though Section 5.6 shows some examples of how this may be done.. The paper is closely related to several threads of recent work. It is related to work on object typestate formalisms, in which manually specified typestates capture aliasing in cer- Figure 3 : Set and an Iterator over the Set tain ways [8, 11] . This work was inspired by algorithms that discover typestates for the purpose of interface synthesis [2, 18] . It is also related to work on component verification using predicate abstraction [15] and shape analysis [12, 16] . Related work is discussed in more detail in Section 7.. Our overall approach is built upon fairly standard analysis techniques: alias analysis, predicate abstraction, and finite heap abstraction. Our contribution is primarily in adapting a combination of these techniques for a new application. The two most important technical novelties of this paper are:. • We infer relevant object typestates in the presence of inter-object references automatically. In contrast, previous work has either required manual specification of typestates, has restricted aliasing in certain ways, or has ignored inter-object references completely. • Moreover, we show how to perform this analysis without client code being given. We use a novel technique of client emulation to determine all interesting object typestates and transitions.. The paper is structured as follows. Section 2 describes preparatory pointer and escape analysis that is subsequently needed for predicate generation. Section 3 describes the predicate abstraction, including a description of interprocedural slicing. Section 4 describes the boolean program model. Section 5 describes how we construct an abstract heap state space via client emulation; it also discusses several examples to highlight interesting aspects of our analysis. Section 6 reports some experimental data. Section 7 describes related work, and Section 8 concludes the paper. We presented a new static analysis to derive relevant object typestates in the presence of inter-object references. Object typestates contain predicates on an object's local state as well as on the state of the objects it may refer to. This is important in order to be able to account for side-effects that inter-object references may cause. Our analysis works in three parts. It first uses reachability of a certain program point as the criteria for predicate discovery. It then performs predicate abstraction to convert each input method to a boolean program. Finally, it uses client emulation to explore heap states that help discover distinct typestates and transitions. This analysis enables further applications such as client code verification.. In future work, we plan to devise ways to infer an interface specification for each component from the heap state space. Such specification would then be used for statically checking client code for correct use of the component. In this section we briefly describe more examples that we tested our algorithm against, though due to space limitations we do not show the transition diagrams. We ran the examples on an Intel based Linux machine (2.2 GHz, 2GB RAM). We report the time to execute the various components of the algorithm.. Sample Programs. In addition to the A-C example, the List example and the Set-Iterator example that have been extensively described in the text we ran our implementation on the following test examples: The Grabbed Resource Problem (GRP) example described in the Canvas paper [15] throws an error if there is more than one simultaneous traversal of a graph. The TooManyListeners (TML) example is an emulation of the DropTarget class from τ pred-value field-typestate typestates for objects of type Implementation Details. Our algorithm was built on top of a standard Java bytecode analyzer that takes Java bytecode and builds the control flow graph with all local variables in SSA form. Our algorithm consists of the following components -(i) Escape Analysis, (ii) Computing the control dependence, (iii) Slicing and Boolean Code Generation, and (iv) Abstract Interpretation and Client Emulation. Table 5 gives the compute times for each of the components for the sample programs described in this paper. Table 6 shows the number of heap objects of each type that were generated for each of the examples. The number of objects ranges from 8 to 17. This shows that a relatively small heap space suffices to reason about these programs.. Although the running time is pretty reasonable for small examples, it is clear that scalability will be a concern for larger components. In future work, we plan to work with larger components and devise techniques for trading off precision with scalability. Building on the early work on typestates [17] , recent work has applied typestates to objects. In [8] a typestate system is presented that takes into account states of nested objects as well; however, unrestricted inter-object references are not permitted. In [11] , a very general typestate system is presented in which typestate is expressed as membership in certain sets. This work can account for inter-object references in a fairly general way. However, in both these systems the typestate specification is entirely manual. The component writer must specify the preconditions and postconditions for each method. In contrast, our work attempts to create relevant typestates automatically based on a given reachability criterion.. A tool presented in [9] uses a built-in set of predicates to derive abstract object states, called roles, that are of interest to the programmer. In addition to being limited to the build-in predicates, the tool does not use static analysis; instead, it executes an instrumented version of the program and tracks the transitions that can be observed. The user is then expected to manually coarsen the abstraction, thus creating "role subspaces", in order to obtain usable problemspecific information. In contrast, the goal of this work is to automatically generate useful, problem-specific information using static analysis of a component.. Automatically determining specifications that describe legal call sequences for object-oriented components was pioneered by [18] . However, their work does not support aliasing and focuses on a single object. Their approach was also severely limited in the amount of context that could be expressed in the interface specification: the specification only described constraints based on the last method invoked on the component. The Jist [2] project improves on this technique by allowing the programmer to select the amount of context captured in the specification with a parameter k, resulting in a finite state machine with at most k states. Jist work does not account for the behavior of inter-object references. However, Jist takes certain steps to synthesize an interface that is easily understood. We might be able to leverage the Jist techniques to go from the heap state space to a readable interface specification.. An alternative approach [10] uses iterative, counter-example driven iterative refinement to create a safe and permissive but also possibly much larger interface. This approach separates the abstraction refinement for showing safety and permissiveness, which helps in obtaining parsimonious abstractions. While the described algorithm can be applied to components that use references, it is only guaranteed to terminate if the state of the component is finite.. The Canvas work [15] tries to create abstractions of provided components, using which client code can be checked for conformance. Canvas uses programmer supplied predicates to base predicate abstraction. Their focus is also on aliasing properties, and the Set-Iterator example in our work is inspired by their work. Canvas does not create object typestates-it is not its purpose. Rather, Canvas inlines a method's abstraction-essentially a boolean program-with abstracted client code and then uses TVLA [12] to verify correct usage in the client. By contrast, for limited variety of predicates, we construct method preconditions and postconditions without any client code being given.. The goal of shape analysis [12, 16] is finding precise heap abstractions that can model aliasing relationships between objects. The heap abstraction used by the three value logic analyzer (TVLA) system [12] uses a set of binary abstraction predicates to decide which objects should be summarized with only one node in the heap abstraction. For each of these nodes, TVLA then keeps 3-valued (true, false, unknown) information about various other predicates of interest. Similar to the work presented in this paper, TVLA uses abstract interpretation over a heap abstraction that is based on predicates to statically analyze programs. In contrast to our work, TVLA's abstract interpreter operates on an abstracted heap; our interpreter operates on concrete heaps and only uses the abstraction function to bound the exploration of the concrete synthetic heaps. Using concrete synthetic heaps for the interpretation has the advantage that summary nodes can be avoided since all references are "must" pointers. However, using predicates on summary nodes TVLA is theoretically able express more general properties, in particular those that involve transitive closure. Since the predicate discovery used in this paper will not generate such predicates, this potential advantage is insignificant for the problem at hand.. Automatic discovery of predicates has previously done using counterexample-guided abstraction refinement [4, 6, 7] . In those analyses the algorithm checks if the counterexample that was found when trying to verify a property is spurious, and if so uses those spurious counterexamples to iteratively construct a refined abstraction. These analyses are typically limited to a fixed, finite abstract domain of cartesian products of boolean values. In the domain of shape-analysis [12, 16] , recent work [13] described an algorithm that iteratively breaks the verification condition down into smaller abstraction predicates. In contrast, the work presented in this paper does not use complex programmer-provided verification conditions but uses reachability as the only input beyond the code itself.

O B O O O B O O O O O O O O B O B O O O O O O O O O O O O O B O O B O O O O O B O O O O B O O O B O O B O O O O O B O O O O O B O O O O O O O O O O O O O O O O O O B O O O O O B O O O O B O O B O O O O O B O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O B O O O O B O O O O O O O O O B O O O O B O O O O O O O B I O O O O O B O O O B O O O O B O O O B O O O B O O O B O O O O O O O O B O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O B O O O O O B O O O O O O O O B O O O O O O O B O O B O O B O B O O B O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O B O O O O B O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O B O O O B O O B O O O O O O B O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O B O O O O O O O O O O O B O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O B O O O O O O O O O O O O O O O O B O O O O O O O B O O O O O O O O O O O O O O O O B O O O O O O O B O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O B O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O B O O O B O O O O O O O O O O O O O O O O O O O O O O O O O B O O B O O O O O O O B O O O O O O O B O O O O O O B O O O B O O O O O O O O O B O B O O O B O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O B O B O O B O O O B O O O O O O O O O O O O O O O O O O O O O O B O O O O B O O O O B O O O O B O O O O B O O O B O B O O O O O O O B O O B O O B O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O B O O O O O O B O O O O O O O O O O O O B O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O B O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O B O O B O O B B O O O B O O B O O O O B O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O B O O O O O O O O O O O O O O B O O O O O O O O B O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O B O O O B O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O B O O O O B O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O B B O O O O O O O O B O B O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O B O O O O O B O O O O O O O O O O O O O O O B O O O B O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O B O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O B O O O O O O O O B O O B O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O B O O O O O O O O B O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O B O O B O O O O O O O O O B O O O O O O O O O O O O O B O O O O O O O O O O O O O O O B B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O B O O O O O O O O O O O O O O O O O O O O O B O O B B I O O O B O O O O O O O O O O O O O O O O O O O O O O O B O O O O O B O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O B O O O B O O O O O O O O O O B O O O O B O O O O O O O O O O O B O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O B O O O O O B O O O B O O O B O O O B O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O B O O O O O O O O B O O O O O O O O O O O O B O O O O O O O O O B I O O O B B O O O O O O O O O O O O O O O O O O O O O B O O O O O O B O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O B O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O B O O O O B O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O B O O O O B O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O B O O O O O O O O O O O O O O O O O O O B O O O O O B O O O O O O O O O O B O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O B O B O O O O O B O O O O O O O O O O O O O O O O O O O O B O O O O O B O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O B I O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O B O O O O O O B O O O O O O B O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O B O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O B O O B O O O O O O O O O O B O O B O


Sparse Poisson Noisy Image Deblurring Abstract-Deblurring noisy Poisson images has recently been a subject of an increasing amount of works in many areas such as astronomy and biological imaging. In this paper, we focus on confocal microscopy, which is a very popular technique for 3-D imaging of biological living specimens that gives images with a very good resolution (several hundreds of nanometers), although degraded by both blur and Poisson noise. Deconvolution methods have been proposed to reduce these degradations, and in this paper, we focus on techniques that promote the introduction of an explicit prior on the solution. One difficulty of these techniques is to set the value of the parameter, which weights the tradeoff between the data term and the regularizing term. Only few works have been devoted to the research of an automatic selection of this regularizing parameter when considering Poisson noise; therefore, it is often set manually such that it gives the best visual results. We present here two recent methods to estimate this regularizing parameter, and we first propose an improvement of these estimators, which takes advantage of confocal images. Following these estimators, we secondly propose to express the problem of the deconvolution of Poisson noisy images as the minimization of a new constrained problem. The proposed constrained formulation is well suited to this application domain since it is directly expressed using the antilog likelihood of the Poisson distribution and therefore does not require any approximation. We show how to solve the unconstrained and constrained problems using the recent alternating-direction technique, and we present results on synthetic and real data using well-known priors, such as total variation and wavelet transforms. Among these wavelet transforms, we specially focus on the dual-tree complex wavelet transform and on the dictionary composed of curvelets and an undecimated wavelet transform. We have proposed a method for the deconvolution of images corrupted by blur and Poisson noise and applied it on confocal microscopy images. This method includes a wavelet prior, which is well adapted to represent the thin structures of specimens in 3-D, and a method to estimate the value of the regularizing parameter based on a discrepancy principle. A new constrained minimization problem is introduced, allowing easy and fast parameter setting, and gives efficient algorithm, which is important in regard to the big volume of data coming from 3-D confocal images. This method will be analyzed and tested on large data basis in order to estimate its range of validity.

O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Survey of Experimental Evaluation Studies for Wireless Mesh Network Deployments in Urban Areas Towards Ubiquitous Internet Abstract-Establishing wireless networks in urban areas that can provide ubiquitous Internet access to end-users is a central part of the efforts towards defining the Internet of the future. In recent years, Wireless Mesh Network (WMN) backbone infrastructures are proposed as a cost effective technology to provide city-wide Internet access. Studies that evaluate the performance of city-wide mesh network deployments via experiments provide essential information on various challenges of building them. In this survey, we particularly focus on such studies and provide brief conclusions on the problems, benefits, and future research directions of city-wide WMNs.

O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O