11 research outputs found

    A Practical Type Analysis for Verification of Modular Prolog Programs

    Get PDF
    Regular types are a powerful tool for computing very precise descriptive types for logic programs. However, in the context of real life, modular Prolog programs, the accurate results obtained by regular types often come at the price of efficiency. In this paper we propose a combination of techniques aimed at improving analysis efficiency in this context. As a first technique we allow optionally reducing the accuracy of inferred types by using only the types defined by the user or present in the libraries. We claim that, for the purpose of verifying type signatures given in the form of assertions the precision obtained using this approach is sufficient, and show that analysis times can be reduced significantly. Our second technique is aimed at dealing with situations where we would like to limit the amount of reanalysis performed, especially for library modules. Borrowing some ideas from polymorphic type systems, we show how to solve the problem by admitting parameters in type specifications. This allows us to compose new call patterns with some pre computed analysis info without losing any information. We argue that together these two techniques contribute to the practical and scalable analysis and verification of types in Prolog programs

    Experiments in context-sensitive analysis of modular programs

    Full text link
    Several models for context-sensitive analysis of modular programs have been proposed, each with different characteristics and representing different trade-offs. The advantage of these context-sensitive analyses is that they provide information which is potentially more accurate than that provided by context-free analyses. Such information can then be applied to validating/debugging the program and/or to specializing the program in order to obtain important performance improvements. Some very preliminary experimental results have also been reported for some of these models which provided initial evidence on their potential. However, further experimentation, which is needed in order to understand the many issues left open and to show that the proposed modes scale and are usable in the context of large, real-life modular programs, was left as future work. The aim of this paper is two-fold. On one hand we provide an empirical comparison of the different models proposed in previous work, as well as experimental data on the different choices left open in those designs. On the other hand we explore the scalability of these models by using larger modular programs as benchmarks. The results have been obtained from a realistic implementation of the models, integrated in a production-quality compiler (CiaoPP/Ciao). Our experimental results shed light on the practical implications of the different design choices and of the models themselves. We also show that contextsensitive analysis of modular programs is indeed feasible in practice, and that in certain critical cases it provides better performance results than those achievable by analyzing the whole program at once, specially in terms of memory consumption and when reanalyzing after making changes to a program, as is often the case during program development

    Agent Programming in Ciao Prolog

    Get PDF
    The agent programming landscape has been revealed as a natural framework for developing “intelligence” in AI. This can be seen from the extensive use of the agent concept in presenting (and developing) AI systems, the proliferation of agent theories, and the evolution of concepts such as agent societies (social intelligence) and coordination

    Static Analysis-based Debugging, Certification, Testing, and Optimization with CiaoPP

    Get PDF
    Facilitate the development of safe, efficient programs. Approach: •Next-generation, higher-level, multiparadigm prog. languages. •Improved program development environments. •A framework (CiaoPP) which integrates: •Debugging. •Verification and certification. •Testing. •Optimization (optimized compilation, parallelization, ...

    Espacio Cooperativo en Internet: conocer y reconocer a los innovadores

    Get PDF
    Los equipos directivos del CPS y EUITIZ, junto con varios profesores de ambos Centros, algunos de ellos integrantes del grupo Formación Matemática en Ingeniería, percibíamos que son muchas y muy variadas las actividades de innovación docente que desarrollan diversos grupos de profesores con docencia en ambos Centros. Juzgamos que, a la vez que se ponen en marcha experiencias innovadoras, es necesario darlas a conocer y compartirlas con la comunidad universitaria. A eso contribuyen jornadas, tanto internas, como en el marco de congresos más generales, en las que es posible mostrar el espacio cooperativo creado en esta experiencia y configurado en Internet para ofrecer un escaparate “virtual” con las experiencias de innovación educativa desarrolladas en nuestros Centros, crear foros para su debate, animar a compartir los materiales y las ideas, y utilizar herramientas para desarrollar nuevos proyectos de forma colaborativa. Creemos que es muy interesante la existencia de foros permanentes que atraigan a participar a los “innovadores” y que animen a los que podrían serlo. Esperamos que, con este espacio cooperativo, la comunidad universitaria se beneficie del trabajo realizado por los innovadores, a la vez que se siembran semillas para que surjan nuevas iniciativas, además de conseguir coordinar los esfuerzos de innovación docente de ambos Centros.Esta experiencia se enmarca dentro del proyecto “Espacio cooperativo en Internet para promover la Innovación Educativa en el CPS y la EUITIZ”. Programa de acciones de mejora de la docencia. PMDUZ-2007-2. para cuya realización agradecemos el apoyo de la Universidad de Zaragoza

    Desarrollo de una herramienta de depuración simbólica para las asignaturas de iniciación a la programación en las facultades de Informática y Estudios Estadísticos

    Get PDF
    El proyecto plantea el desarrollo de una herramienta de depuración simbólica que ayude a los estudiantes de las asignaturas de iniciación a la programación en las facultades de Informática y Estudios Estadístico

    Diseño de un proyecto experimental en el área de Educación Artística

    No full text
    Se trata de realizar un proceso de formación de los profesores de Infantil y Primaria que tenga como consecuencia el diseño curricular del área de Educación Artística para aplicarla en varios niveles. El objetivo principal es desarrollar en el alumno la creatividad y la participación a través de la comunicación audiovisual. El programa consta de tres fases; seminario de formación para profesores en el primer trimestre; puesta en práctica de pequeños proyectos con el alumnado sobre el mundo de la imagen y medios audiovisuales, en el segundo trimestre; y, por último, aplicación práctica y revisión de la programación del área de Educación Artística del centro. La evaluación tiene en cuenta la consecución de objetivos mediante guías de observación, cuestionarios, trabajos y autoevaluación de los alumnos.Madrid (Comunidad Autónoma). Consejería de Educación y CulturaMadridMadrid (Comunidad Autónoma). Subdirección General de Formación del Profesorado. CRIF Las Acacias; General Ricardos 179 - 28025 Madrid; Tel. + 34915250893ES
    corecore