3,375 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

    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

    La comunidad fitoplanctónica en zonas costeras previamente inexploradas del oeste de la Península Antártica (63° – 67° S) : Composición, dinámica espacio-temporal y productividad

    Get PDF
    El oeste de la Península Antártica (PA) es una de las regiones más productivas del Océano Austral, siendo las zonas costeras los lugares con mayor acumulación de fitoplancton. Particularmente, la región costera al oeste de la PA entre los 63° y 67° S encierra varios fiordos y bahías con glaciares que descargan directamente en el mar, caletas, pasajes y estrechos entre islas. Los procesos ecológicos y biogeoquímicos de estos ecosistemas costeros están fuertemente influenciados por la formación de hielo marino y la entrada de agua dulce procedente del deshielo de los glaciares y el hielo marino. Recientemente, la PA ha sufrido un rápido calentamiento climático con un aumento de 2°C de la temperatura media anual desde 1950, generando una disminución de la extensión y duración del hielo marino y el retroceso de los glaciares. Las zonas costeras de la PA son un refugio para los mamíferos y aves marinos que llegan principalmente atraídos por su fuente de alimento, el krill antártico. El rol fundamental que cumple el fitoplancton como la base de la cadena trófica y sustento del krill, implica que cambios en su composición pueden tener efecto en cadena en todo el ecosistema. Por ejemplo, el reemplazo en esta comunidad de diatomeas microplanctónicas (>20 μm) por flagelados nanoplanctónicos (2-20 μm) podría significar una pérdida de entre el 40% y el 60% de energía en la red trófica, debido a que el krill se alimenta selectivamente de diatomeas microplanctónicas. Las altas congregaciones de krill en estas zonas costeras sugieren una alta productividad primaria asociada a floraciones de diatomeas microplanctónicas, aunque no existen estudios que lo confirmen. Tampoco estudios que describan la composición fitoplanctónica ni muestreos plurianuales que permitan captar la estacionalidad, sobre todo durante la temporada productiva (primavera-verano). La evaluación de la estructura y dinámica de los ecosistemas en las zonas costeras al oeste de la PA es esencial para dilucidar los patrones existentes de productividad y biodiversidad y comprender la sensibilidad de dichos ecosistemas al cambio climático. En este contexto, el presente trabajo de tesis tiene como objetivo general caracterizar la composición, dinámica espacial y temporal y productividad de la comunidad fitoplanctónica de estas zonas costeras poco exploradas ubicadas en la costa oeste de la PA entre los 63° y 67° S, con el fin de proveer información de base sobre el estado actual que sirva para evaluar los posibles efectos del cambio climático sobre estas comunidades y los ecosistemas asociados. Para tal fin se colectaron muestras de agua para análisis microscópicos provenientes de distintas zonas costeras y en distintas estaciones del año (primavera, verano y otoño) entre los años 2015 y 2019, en el marco de dos proyectos colaborativos internacionales. En este trabajo de tesis se registraron cinco grupos fitoplanctónicos principales (criptofitas, diatomeas, dinoflagelados, pequeños flagelados y prasinofitas), pertenecientes a la fracción nano y microplanctónica. Dentro de estos cinco grupos, las diatomeas fueron el grupo más común y diverso, con 50 géneros y numerosos taxones endémicos. Los organismos nanoplanctónicos (ej. criptofitas, prasinofitas y pequeños dinoflagelados) fueron difícilmente identificados microscópicamente debido a la necesidad de emplear otras técnicas o a que los organismos no coincidían con citas previas para la PA ni para Antártida. Esto sugiere que en aguas Antárticas todavía queda una diversidad inexplorada de organismos fitoplanctónicos. Se analizó la abundancia y biomasa de los componentes del fitoplancton en las distintas estaciones del año en diferentes zonas costeras al oeste de la PA con el fin de comparar y contextualizar los resultados con investigaciones previas llevadas a cabo en otras zonas mejor conocidas de la PA. Los valores más altos de abundancia y biomasa se registraron durante los meses de primavera y verano cuando se registraron varias floraciones (≥1,5 x 106 células L-1 y ≥97,5 μgC L-1), entre ellas la primera floración de dinoflagelados desnudos al oeste de la PA. Se destaca la elevada abundancia de los nanoflagelados en estas aguas y el aporte de biomasa de las diatomeas microplanctónicas. Asimismo, se analizó particularmente el fitoplancton de primavera (2015) y otoño (2016) en un fiordo (bahía Andvord) ubicado en la zona media de la PA, en relación con la productividad primaria y las tasas de crecimiento, medidas con incubaciones de 14C. Se destaca la alta productividad de la bahía en primavera (151,2 ± 62,5 mgC m-3 d-1), particularmente en muestras dominadas por un ensamble de diatomeas microplanctónicas (ej. Odontella weissflogii, Neomoelleria antarctica, Proboscia spp.). El ensamble dominado por criptofitas tuvo una productividad intermedia (63,1 ± 32 mgC m-3 d-1) y la productividad más baja se encontró en un ensamble dominado por pequeños dinoflagelados gymnodinioides (6,9 ± 5,1 mgC m-3 d-1). Los resultados de este análisis apoyan hipótesis previas de que el cambio climático podría afectar los ecosistemas costeros de la PA al favorecer ensambles de fitoplancton menos productivos (criptofitas) sobre ensambles de fitoplancton más productivos (diatomeas). Las estimaciones de productividad, asimilación de carbono y crecimiento del fitoplancton presentadas en esta tesis contribuyen a comprender el ciclo del carbono en estos ecosistemas. Conjuntamente, se analizó el fitoplancton de seis zonas costeras conectadas al estrecho de Gerlache entre los 64° y 65° S durante tres veranos consecutivos (2016-2019) a lo largo de los meses de primavera-verano (de noviembre a marzo). Los patrones sucesionales detectados se ponen en contexto con procesos oceanográficos a pequeña escala, particularmente con la ocurrencia de un frente térmico que se forma en el medio del estrecho de Gerlache (~64,5°S) durante los meses de verano, separando aguas más cálidas al norte y más frías al sur. En los dos primeros veranos se encontraron diferencias significativas en la composición de la comunidad fitoplanctónica y en los patrones sucesionales al norte y al sur del área de muestreo, principalmente en los meses de alta biomasa: diciembre y enero. Durante diciembre, las criptofitas formaron floraciones al norte, mientras que las diatomeas microplanctónicas dominaron al sur, y durante enero, pequeñas diatomeas centrales dominaron al norte, mientras que las prasinofitas formaron floraciones al sur. Esta distinción espacial en las comunidades de fitoplancton se asoció a la presencia del frente térmico en el estrecho de Gerlache, que fue confirmado por el análisis de 10 años de datos de teledetección. Esta tesis representa una línea de base a partir de la cual futuras investigaciones en zonas costeras al oeste de la PA podrán evaluar cambios en la comunidad fitoplanctónica asociados al calentamiento global. La identidad de los organismos nanoplanctónicos formadores de floraciones no pudo ser dilucidada mediante análisis ultraestructurales con microscopía electrónica, por lo cual estudios futuros deberán incluir el establecimiento de cultivos celulares y combinar análisis microscópicos y genéticos a fin de brindar una caracterización más completa de la diversidad fitoplanctónica en estas aguas. Durante el período abarcado en esta tesis no se encontraron floraciones de diatomeas microplanctónicas probablemente debido al retroceso temprano del hielo marino durante los años muestreados. Se considera también la posibilidad de que el krill antártico ejerza una importante presión de pastoreo sobre las diatomeas microplanctónicas en las zonas costeras analizadas, favoreciendo así el predominio de la fracción nanoplanctónica. Sin embargo, se necesitan análisis comparativos complementarios de fitoplancton y zooplancton para probar esta hipótesis, así como el análisis de otros factores ambientales. Estudios a futuro permitirán comprobar el poder predictivo de los patrones sucesionales aquí propuestos y seguir aprendiendo sobre la composición del fitoplancton en estas zonas costeras.Facultad de Ciencias Naturales y Muse

    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

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

    Get PDF

    Context-Bounded Verification of Context-Free Specifications

    Get PDF

    101 Eclipsing Quadruple Star Candidates Discovered in TESS Full Frame Images

    Full text link
    We present our second catalog of quadruple star candidates, containing 101 systems discovered in TESS Full-Frame Image data. The targets were initially detected as eclipsing binary stars with the help of supervised machine learning methods applied to sectors Sectors 1 through 54. A dedicated team of citizen scientists subsequently identified through visual inspection two sets of eclipses following two different periods. All 101 systems presented here pass comprehensive photocenter motion tests confirming that both sets of eclipses originate from the target star. Some of the systems exhibit prominent eclipse time variations suggesting dynamical interactions between the two component binary stars. One target is an eclipsing quintuple candidate with a (2+1)+2 hierarchical configuration, such that the (2+1) subsystem produces eclipses on the triple orbit as well. Another has recently been confirmed as the second shortest period quadruple reported to date. This catalog provides ephemerides, eclipse depths and durations, sample statistics, and highlights potentially interesting targets for future studies.Comment: 38 pages, 21 figures, 2 tables. Table with targets available online at MNRA

    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

    A Core Calculus for Documents

    Full text link
    Passive documents and active programs now widely comingle. Document languages include Turing-complete programming elements, and programming languages include sophisticated document notations. However, there are no formal foundations that model these languages. This matters because the interaction between document and program can be subtle and error-prone. In this paper we describe several such problems, then taxonomize and formalize document languages as levels of a document calculus. We employ the calculus as a foundation for implementing complex features such as reactivity, as well as for proving theorems about the boundary of content and computation. We intend for the document calculus to provide a theoretical basis for new document languages, and to assist designers in cleaning up the unsavory corners of existing languages.Comment: Published at POPL 202

    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
    • …
    corecore