4,528 research outputs found

    A foundation for synthesising programming language semantics

    Get PDF
    Programming or scripting languages used in real-world systems are seldom designed with a formal semantics in mind from the outset. Therefore, the first step for developing well-founded analysis tools for these systems is to reverse-engineer a formal semantics. This can take months or years of effort. Could we automate this process, at least partially? Though desirable, automatically reverse-engineering semantics rules from an implementation is very challenging, as found by Krishnamurthi, Lerner and Elberty. They propose automatically learning desugaring translation rules, mapping the language whose semantics we seek to a simplified, core version, whose semantics are much easier to write. The present thesis contains an analysis of their challenge, as well as the first steps towards a solution. Scaling methods with the size of the language is very difficult due to state space explosion, so this thesis proposes an incremental approach to learning the translation rules. I present a formalisation that both clarifies the informal description of the challenge by Krishnamurthi et al, and re-formulates the problem, shifting the focus to the conditions for incremental learning. The central definition of the new formalisation is the desugaring extension problem, i.e. extending a set of established translation rules by synthesising new ones. In a synthesis algorithm, the choice of search space is important and non-trivial, as it needs to strike a good balance between expressiveness and efficiency. The rest of the thesis focuses on defining search spaces for translation rules via typing rules. Two prerequisites are required for comparing search spaces. The first is a series of benchmarks, a set of source and target languages equipped with intended translation rules between them. The second is an enumerative synthesis algorithm for efficiently enumerating typed programs. I show how algebraic enumeration techniques can be applied to enumerating well-typed translation rules, and discuss the properties expected from a type system for ensuring that typed programs be efficiently enumerable. The thesis presents and empirically evaluates two search spaces. A baseline search space yields the first practical solution to the challenge. The second search space is based on a natural heuristic for translation rules, limiting the usage of variables so that they are used exactly once. I present a linear type system designed to efficiently enumerate translation rules, where this heuristic is enforced. Through informal analysis and empirical comparison to the baseline, I then show that using linear types can speed up the synthesis of translation rules by an order of magnitude

    An Evaluation of the risks to food safety and shellfish farming in Great Britain,posed by marine biotoxins from, current and future emerging, marine microalgal species

    Get PDF
    Harmful marine microalgae are a global concern, impacting human and ecosystem health as well as having socioeconomic impacts for coastal communities. The changing world climate has an impact on marine organisms including the harmful algal species. These changes will have impacts on species already present in a nations waters whilst also influencing the emergence of novel species. This is assessed here, in part, with regards to Great Britain (GB). This thesis explores the current extent of a harmful species, Alexandrium minutum, globally and in the South of GB. This shows that A. minutum occurs widely across the globe with different populations possessing varying toxin profiles. Populations from GB geographically neighbouring areas share similar toxin profiles. Within the South of GB, the current extent of A. minutum appears patchy, with evidence gathered by toxin profile analysis but successful germinations of vegetative cells from field samples proving unsuccessful. Experimental work determined a mechanism for the use of chemotaxonomy to differentiate the source of shellfish intoxications, allowing for separation of two key GB saxitoxin producers, A. minutum and Alexandrium catenella. This technique could enhance routine monitoring data with little additional cost. Assessment of harmful microalgal taxa considered as non-native species (NNS) to GB suggested that several species could pose a risk of future successful invasion of GB coastal waters, within the next 30 years. This was principally based on the environmental tolerances of NNS. If established the impacts which NNS could impose on GB include similar impacts to native harmful species as well as a higher risk of environmental damage. Experimental work with a high-risk potential invasive species, Ostreopsis cf. ovata, indicated that this impact could be acute, with rapid mortalities observed in exposed naïve GB mussels. Taken together this body of work shows the validity of chemotaxonomic assessment of toxin profiles as an additional tool for the tracking of harmful microalgal species as well as proactively assessing the risk and impacts which climate change might have for the future impacts of harmful marine microalgal species around GB

    Measuring and Correcting the Effects of Scintillation in Astronomy

    Get PDF
    High-precision ground-based time-resolved photometry is significantly limited by the effects of the Earth's atmosphere. Optical atmospheric turbulence, produced by the mixing of layers of air of different temperatures, results in layers of spatially and temporally varying refractive indices. These result in phase aberrations of the star light which have two effects: firstly the point spread function is broadened, thus limiting the resolution, and secondly the propagation of these aberrations results in spatio-temporal intensity fluctuations in the pupil-plane of the telescope known as scintillation. The first effect can be corrected with adaptive optics, however the scintillation noise remains. In this thesis, the results from testing a scintillation correction technique that uses tomographic wavefront sensing are presented. The technique was explored extensively in simulation before being tested on-sky on the Isaac Newton Telescope in La Palma, Spain. Scintillation noise also limits the signal-to-noise ratio that can be achieved for standard differential photometry as the random noise fluctuations in the comparison star and the target star light curves add in quadrature. A differential photometry technique that uses optimised temporal binning of the comparison star to minimise the addition of random noise fluctuations is presented and tested both in simulation and with on-sky data. Finally, an investigation into the use of sparse arrays of small telescopes to reduce scintillation noise in photometry is presented. The impact of several parameters on the correlation of scintillation noise measured between sub-apertures in the array is explored

    The brown algal genus Fucus : A unique insight into reproduction and the evolution of sex-biased genes

    Get PDF
    Doctoral thesis (PhD) - Nord University, 2023publishedVersio

    Smart object-oriented access control: Distributed access control for the Internet of Things

    Get PDF
    Ensuring that data and devices are secure is of critical importance to information technology. While access control has held a key role in traditional computer security, its role in the evolving Internet of Things is less clear. In particular, the access control literature has suggested that new challenges, such as multi-user controls, fine-grained controls, and dynamic controls, prompt a foundational re-thinking of access control. We analyse these challenges, finding instead that the main foundational challenge posed by the Internet of Things involves decentralization: accurately describing access control in Internet of Things environments (e.g., the Smart Home) requires a new model of multiple, independent access control systems. To address this challenge, we propose a meta-model (i.e., a model of models): Smart Object-Oriented Access Control (SOOAC). This model is an extension of the XACML framework, built from principles relating to modularity adapted from object-oriented programming and design. SOOAC draws attention to a new class of problem involving the resolution of policy conflicts that emerge from the interaction of smart devices in the home. Contrary to traditional (local) policy conflicts, these global policy conflicts emerge when contradictory policies exist across multiple access control systems. We give a running example of a global policy conflict involving transitive access. To automatically avoid global policy conflicts before they arise, we extend SOOAC with a recursive algorithm through which devices communicate access requests before allowing or denying access themselves. This algorithm ensures that both individual devices and the collective smart home are secure. We implement SOOAC within a prototype smart home and assess its validity in terms of effectiveness and efficiency. Our analysis shows that SOOAC is successful at avoiding policy conflicts before they emerge, in real time. Finally, we explore improvements that can be made to SOOAC and suggest directions for future work

    The van Wijngaarden grammars: A syntax primer with decidable restrictions

    Get PDF
    Expressiveness and decidability are two core aspects of programming languages that should be thoroughly known by those who use them; this includes knowledge of their metalanguages a.k.a. formal grammars. The van Wijngaarden grammars (WGs) are capable of generating all the languages in the Chomsky hierarchy and beyond; this makes them a relevant tool in the design of (more) expressive programming languages. But this expressiveness comes at a very high cost: The syntax of WGs is extremely complex and the decision problem for the generated languages is generally unsolvable. With this in mind, I provide here a short primer of the syntax of WGs, which includes syntactic restrictions that guarantee decidability for the corresponding generated languages

    Modeling for policy: Challenges for technology assessment from new prognostic methods

    Get PDF

    Improving Object-Oriented Programming by Integrating Language Features to Support Immutability

    Get PDF
    Nowadays developers consider Object-Oriented Programming (OOP) the de-facto general programming paradigm. While successful, OOP is not without problems. In 1994, Gamma et al. published a book with a set of 23 design patterns addressing recurring problems found in OOP software. These patterns are well-known in the industry and are taught in universities as part of software engineering curricula. Despite their usefulness in solving recurring problems, these design patterns bring a certain complexity in their implementation. That complexity is influenced by the features available in the implementation language. In this thesis, we want to decrease this complexity by focusing on the problems that design patterns attempt to solve and the language features that can be used to solve them. Thus, we aim to investigate the impact of specific language features on OOP and contribute guidelines to improve OOP language design. We first perform a mapping study to catalogue the language features that have been proposed in the literature to improve design pattern implementations. From those features, we focus on investigating the impact of immutability-related features on OOP. We then perform an exploratory study measuring the impact of introducing immutability in OOP software with the objective of establishing the advantages and drawbacks of using immutability in the context of OOP. Results indicate that immutability may produce more granular and easier-to-understand programs. We also perform an experiment to measure the impact of new language features added into the C\# language for better immutability support. Results show that these specific language features facilitate developers' tasks when aiming to implement immutability in OOP. We finally present a new design pattern aimed at solving a problem with method overriding in the context of immutable hierarchies of objects. We discuss the impact of language features on the implementations of this pattern by comparing these implementations in different programming languages, including Clojure, Java, and Kotlin. Finally, we implement these language features as a language extension to Common Lisp and discuss their usage

    Natural type inference

    Get PDF
    Recently, dynamic language users have started to recognize the value of types in their code. To fulfil this need, many popular dynamic languages have adopted extensions that support type annotations. A prominent example is that of TypeScript which offers a module system, classes, interfaces, and an optional type system on top of JavaScript. However, providing usable (not too verbose, or complex) types via traditional type inference is more challenging in optional type systems. Motivated by this, we redefine the goal of type inference for optionally typed languages as: infer the maximally natural and sound type, instead of the most general one. By the maximally natural and sound, we refer to a type that (1) is derivable in the type system, and (2) maximally reflects the intention of the programmer with respect to a learnt model. We formally devise a type inference problem that aids the inference of the maximally natural type. Towards this goal, our problem asks to combine information derived from two sources: (1) from algorithmic type systems using deductive logic-based techniques; and (2) from the source code text using inductive machine learning techniques. To tackle our formulated problem, we develop two frameworks that combine the two sources of information using mathematical optimization. In the first framework, we formulate the inference problem as a problem in numerical optimization. In the second framework, we map the inference problem into popular problems in discrete optimization: maximum satisfiability (MaxSAT) and Integer Linear Programming (ILP). Both frameworks are built to be consistent with information derived from the different sources. Moreover, through formal proofs, we validate the soundness and completeness of the developed framework for a core lambda-calculus with named types. To assess the efficacy of the developed frameworks, we implement them in a tool named Optyper that realizes natural type inference for TypeScript. We evaluate Optyperon TypeSript programs obtained from real world projects. By evaluating our theoretical frameworks we show that, in practice, the combination of logical and natural constraints yields a large improvement in performance over either kind of information individually. Further, we demonstrate that our frameworks out-perform state-of-the-art techniques in type inference to produce natural and sound types

    Buněčné inkluze v mikroskopických eukaryotech

    Get PDF
    This thesis reports, for the first time, a systematic study identifying various cell inclusions across the broad diversity of all major eukaryotic supergroups. Raman microspectroscopy technique was employed as a powerful technique, which is becoming the method of the first choice for such studies. In Chapter 1, the spatial reconstruction of chloroplasts of the unicellular zygnematophyte Cylindrocystis sp. (Streptophyta) revealed "empty spaces" inside. Subsequent analysis showed massive accumulations of polyphosphate, which is not located in the cytoplasm as in other species, but inside the chloroplasts. This newly discovered ability of the zygnematophytes, a sister group of terrestrial plants, to accumulate polyphosphate leads us to speculate about a possible adaptation to extreme Arctic conditions or even a preadaptation leading to plant terrestrialization. Chapter 2 summarizes the serendipitous discovery of purine crystalline inclusions in dinoflagellates and other microalgae. Investigated dinoflagellate species comprised zooxanthellae, the endosymbionts of reef-building corals, and the species causing toxic algal blooms. Purine crystals were further shown to act as dynamic high-capacity nitrogen storage. To show how widespread purine inclusions are, a revision of crystalline inclusions in all...Tato práce přináší systematickou studii, která identifikuje různé buněčné inkluze napříč širokou diverzitou všech hlavních eukaryotických domén. Technika Ramanovy mikrospektroskopie byla použita jako metoda první volby pro studie, které vyžadují mikroanalytický přístup. V kapitole 1 odhalila prostorová rekonstrukce chloroplastů jednobuněčné spájivky Cylindrocystis sp. (Streptophyta) "prázdné prostory". Následná analýza prokázala masivními akumulace polyfosfátu, který není jako v jiných druzích v cytoplazmě, ale právě uvnitř chloroplastů. Tato nově objevená schopnost zygnematofyt, sesterské skupiny suchozemských rostlin, nás vede ke spekulacím o možné adaptaci na extrémní arktické podmínky nebo dokonce preadaptaci vedoucí k terestrializaci rostlin. Kapitola 2 shrnuje náš náhodný objev purinových krystalických inkluzí u obrněnek (Dinoflagellata, Alveolata) a dalších mikrořas. Nejprve byly zkoumány druhy způsobující toxické vodní květy a zooxantely, endosymbionti korálů budujících útesy. Dále bylo prokázáno, že purinové krystaly fungují jako dynamická vysokokapacitní zásobárna dusíku. Aby se ukázalo, jak jsou purinové inkluze rozšířené, byla provedena revize krystalických inkluzí ve všech hlavních eukaryotických skupinách. Byli zkoumáni zástupci z řad volně žijících prvoků a řas, parazitů i...Department of Experimental Plant BiologyKatedra experimentální biologie rostlinFaculty of SciencePřírodovědecká fakult
    corecore