493 research outputs found

    Program development using abstract interpretation (and the ciao system preprocessor)

    Get PDF
    The technique of Abstract Interpretation has allowed the development of very sophisticated global program analyses which are at the same time provably correct and practical. We present in a tutorial fashion a novel program development framework which uses abstract interpretation as a fundamental tool. The framework uses modular, incremental abstract interpretation to obtain information about the program. This information is used to validate programs, to detect bugs with respect to partial specifications written using assertions (in the program itself and/or in system librarles), to genérate and simplify run-time tests, and to perform high-level program transformations such as múltiple abstract specialization, parallelization, and resource usage control, all in a provably correct way. In the case of validation and debugging, the assertions can refer to a variety of program points such as procedure entry, procedure exit, points within procedures, or global computations. The system can reason with much richer information than, for example, traditional types. This includes data structure shape (including pointer sharing), bounds on data structure sizes, and other operational variable instantiation properties, as well as procedure-level properties such as determinacy, termination, non-failure, and bounds on resource consumption (time or space cost). CiaoPP, the preprocessor of the Ciao multi-paradigm programming system, which implements the described functionality, will be used to illustrate the fundamental ideas

    Continuous symmetrized Sobolev inner products of order N (II)

    Get PDF
    Given a symmetrized Sobolev inner product of order N, the corresponding sequence of monic orthogonal polynomials {Qn} satisfies Q2n(x)=Pn(x2), Q2n+1(x)=xRn(x2) for certain sequences of monic polynomials {Pn} and {Rn}. In this paper we consider the particular case when all the measures that define the symmetrized Sobolev inner product are equal, absolutely continuous and semiclassical. Under such restrictions, we give explicit algebraic relations between the sequences {Pn} and {Rn}, as well as higher-order recurrence relations that they satisfy.The work of the authors has been partially supported by Dirección General de Investigación (Ministerio de Ciencia y Tecnología) of Spain under grants BFM 2003-06335-C03-02 (M.I.B., F.M., J.S.R.) and BFM2001-3878-C02-01 (J.S.R.), INTAS Research Network NeCCA INTAS 03-51-6637 (F.M.), and the Junta de Andalucía research group FQM-0207 (J.S.R)

    A framework for assertion-based debugging in constraint logic programming

    Full text link
    We propose a general framework for assertion-based debugging of constraint logic programs. Assertions are linguistic constructions which allow expressing properties of programs. We define assertion schemas which allow writing (partial) specifications for constraint logic programs using quite general properties, including user-defined programs. The framework is aimed at detecting deviations of the program behavior (symptoms) with respect to the given assertions, either at compile-time or run-time. We provide techniques for using information from global analysis both to detect at compile-time assertions which do not hold in at least one of the possible executions (i.e., static symptoms) and assertions which hold for all possible executions (i.e., statically proved assertions). We also provide program transformations which introduce tests in the program for checking at run-time those assertions whose status cannot be determined at compile-time. Both the static and the dynamic checking are provably safe in the sense that all errors flagged are definite violations of the specifications. Finally, we report on an implemented instance of the assertion language and framework

    Combined static and dynamic assertion-based debugging of constraint logic programs

    Get PDF
    We propose a general framework for assertion-based debugging of constraint logic programs. Assertions are linguistic constructions for expressing properties of programs. We define several assertion schemas for writing (partial) specifications for constraint logic programs using quite general properties, including user-defined programs. The framework is aimed at detecting deviations of the program behavior (symptoms) with respect to the given assertions, either at compile-time (i.e., statically) or run-time (i.e., dynamically). We provide techniques for using information from global analysis both to detect at compile-time assertions which do not hold in at least one of the possible executions (i.e., static symptoms) and assertions which hold for all possible executions (i.e., statically proved assertions). We also provide program transformations which introduce tests in the program for checking at run-time those assertions whose status cannot be determined at compile-time. Both the static and the dynamic checking are provably safe in the sense that all errors flagged are definite violations of the pecifications. Finally, we report briefly on the currently implemented instances of the generic framework

    Control of PCNA deubiquitylation in yeast

    Get PDF
    El pdf del artículo es la versión post-print.Eukaryotes ubiquitylate the replication factor PCNA (proliferating-cell nuclear antigen) so that it tolerates DNA damage. Although, in the last few years, the understanding of the evolutionarily conserved mechanism of ubiquitylation of PCNA, and its crucial role in DNA damage tolerance, has progressed impressively, little is known about the deubiquitylation of this sliding clamp in most organisms. In the present review, we will discuss potential molecular mechanisms regulating PCNA deubiquitylation in yeast.Peer reviewe

    Macrophages direct cancer cells through a LOXL2-mediated metastatic cascade in pancreatic ductal adenocarcinoma

    Full text link
    The lysyl oxidase-like protein 2 (LOXL2) contributes to tumour progression and metastasis in different tumour entities, but its role in pancreatic ductal adenocarcinoma (PDAC) has not been evaluated in immunocompetent in vivo PDAC models.Towards this end, we used PDAC patient data sets, patient-derived xenograft in vivo and in vitro models, and four conditional genetically-engineered mouse models (GEMMS) to dissect the role of LOXL2 in PDAC. For GEMM-based studies, K-Ras +/LSL-G12D;Trp53 LSL-R172H;Pdx1-Cre mice (KPC) and the K-Ras +/LSL-G12D;Pdx1-Cre mice (KC) were crossed with Loxl2 allele floxed mice (Loxl2 Exon2 fl/fl) or conditional Loxl2 overexpressing mice (R26Loxl2 KI/KI) to generate KPCL2 KO or KCL2 KO and KPCL2 KI or KCL2 KI mice, which were used to study overall survival; tumour incidence, burden and differentiation; metastases; epithelial to mesenchymal transition (EMT); stemness and extracellular collagen matrix (ECM) organisation. Using these PDAC mouse models, we show that while Loxl2 ablation had little effect on primary tumour development and growth, its loss significantly decreased metastasis and increased overall survival. We attribute this effect to non-cell autonomous factors, primarily ECM remodelling. Loxl2 overexpression, on the other hand, promoted primary and metastatic tumour growth and decreased overall survival, which could be linked to increased EMT and stemness. We also identified tumour-associated macrophage-secreted oncostatin M (OSM) as an inducer of LOXL2 expression, and show that targeting macrophages in vivo affects Osm and Loxl2 expression and collagen fibre alignment.Taken together, our findings establish novel pathophysiological roles and functions for LOXL2 in PDAC, which could be potentially exploited to treat metastatic diseaseg JCL-G received support from a ’la Caixa’ Foundation (ID 100010434) fellowship (LCF/BQ/DR21/11880011). This study was supported by ISCIII FIS grants PI18/00757 and PI21/01110 (BSJ) and PI18/00267 (LG-B), and grants from the Spanish Ministry of Economy and Innovation SAF2016-76504-R (ACan and FP), PID2019-111052RB-I00 (FP), PID2019-104644RB-I00 (GM-B), a Ramón y Cajal Merit Award RYC-2012–12104 (BSJ) and ISCIII, CIBERONC, CB16/12/00446 (ACar) and CB16/12/00295 (ACan and GM-B), all of them co-financed through Fondo Europeo de Desarrollo Regional (FEDER) ’Una manera de hacer Europa’; a Fero Foundation Grant (BSJ); a Coordinated grant (GC16173694BARB) from the Fundación Científica Asociación Española Contra el Cáncer (FC-AECC) (BSJ); a Miguel Servet award (CP16/00121) (PS); a DFG, German Research Foundation Grant—Project no: 492 436 553 (KG); and a Max Eder Fellowship of the German Cancer Aid (111746) (PCH

    A tutorial on program development and optimization using the Ciao preprocessor

    Get PDF
    We present in a tutorial fashion CiaoPP, the preprocessor of the Ciao multi-paradigm programming system, which implements a novel program development framework which uses abstract interpretation as a fundamental tool. The framework uses modular, incremental abstract interpretation to obtain information about the program. This information is used to validate programs, to detect bugs with respect to partial specifications written using assertions (in the program itself and/or in system libraries), to generate and simplify run-time tests, and to perform high-level program transformations such as multiple abstract specialization, parallelization, and resource usage control, all in a provably correct way. In the case of validation and debugging, the assertions can refer to a variety of program points such as procedure entry, procedure exit, points within procedures, or global computations. The system can reason with much richer information than, for example, traditional types. This includes data structure shape (including pointer sharing), bounds on data structure sizes, and other operational variable instantiation properties, as well as procedure-level properties such as determinacy, termination, non-failure, and bounds on resource consumption (time or space cost)

    The ciao preprocessor

    Get PDF
    Abstract is not available
    corecore