51,650 research outputs found

    Software Verification and Graph Similarity for Automated Evaluation of Students' Assignments

    Get PDF
    In this paper we promote introducing software verification and control flow graph similarity measurement in automated evaluation of students' programs. We present a new grading framework that merges results obtained by combination of these two approaches with results obtained by automated testing, leading to improved quality and precision of automated grading. These two approaches are also useful in providing a comprehensible feedback that can help students to improve the quality of their programs We also present our corresponding tools that are publicly available and open source. The tools are based on LLVM low-level intermediate code representation, so they could be applied to a number of programming languages. Experimental evaluation of the proposed grading framework is performed on a corpus of university students' programs written in programming language C. Results of the experiments show that automatically generated grades are highly correlated with manually determined grades suggesting that the presented tools can find real-world applications in studying and grading

    Self-Assembly Behavior of Amphiphilic Janus Dendrimers in Water: A Combined Experimental and Coarse-Grained Molecular Dynamics Simulation Approach

    Get PDF
    Indexación: Scopus.Acknowledgments: M.E.E.G. thank the Ph. D. scholarship (251115) from CONACyT. The authors would like to thank: Luis Elizalde-Herrera (CIQA) for his help running the NMR spectra; Gloria Macedo-Raygoza and Miguel J. Beltrán-García (UAG), for their help in the measuring of MALDI-TOF mass spectra; and Maricela Rodríguez-Nieto and Jorge Luis Menchaca (UANL), for their help with the AFM measurements. FDGN thanks to the USA Air Force Office of Scientific Research Awards.Amphiphilic Janus dendrimers (JDs) are repetitively branched molecules with hydrophilic and hydrophobic components that self-assemble in water to form a variety of morphologies, including vesicles analogous to liposomes with potential pharmaceutical and medical application. To date, the self-assembly of JDs has not been fully investigated thus it is important to gain insight into its mechanism and dependence on JDs’ molecular structure. In this study, the aggregation behavior in water of a second-generation bis-MPA JD was evaluated using experimental and computational methods. Dispersions of JDs in water were carried out using the thin-film hydration and ethanol injection methods. Resulting assemblies were characterized by dynamic light scattering, confocal microscopy, and atomic force microscopy. Furthermore, a coarse-grained molecular dynamics (CG-MD) simulation was performed to study the mechanism of JDs aggregation. The obtaining of assemblies in water with no interdigitated bilayers was confirmed by the experimental characterization and CG-MD simulation. Assemblies with dendrimersome characteristics were obtained using the ethanol injection method. The results of this study establish a relationship between the molecular structure of the JD and the properties of its aggregates in water. Thus, our findings could be relevant for the design of novel JDs with tailored assemblies suitable for drug delivery systems. © 2018 by the authors.https://www.mdpi.com/1420-3049/23/4/96

    A Verified Information-Flow Architecture

    Get PDF
    SAFE is a clean-slate design for a highly secure computer system, with pervasive mechanisms for tracking and limiting information flows. At the lowest level, the SAFE hardware supports fine-grained programmable tags, with efficient and flexible propagation and combination of tags as instructions are executed. The operating system virtualizes these generic facilities to present an information-flow abstract machine that allows user programs to label sensitive data with rich confidentiality policies. We present a formal, machine-checked model of the key hardware and software mechanisms used to dynamically control information flow in SAFE and an end-to-end proof of noninterference for this model. We use a refinement proof methodology to propagate the noninterference property of the abstract machine down to the concrete machine level. We use an intermediate layer in the refinement chain that factors out the details of the information-flow control policy and devise a code generator for compiling such information-flow policies into low-level monitor code. Finally, we verify the correctness of this generator using a dedicated Hoare logic that abstracts from low-level machine instructions into a reusable set of verified structured code generators

    Perspectives on the Neuroscience of Cognition and Consciousness

    Get PDF
    The origin and current use of the concepts of computation, representation and information in Neuroscience are examined and conceptual flaws are identified which vitiate their usefulness for addressing problems of the neural basis of Cognition and Consciousness. In contrast, a convergence of views is presented to support the characterization of the Nervous System as a complex dynamical system operating in the metastable regime, and capable of evolving to configurations and transitions in phase space with potential relevance for Cognition and Consciousness

    Abstract Certification of Java Programs in Rewriting Logic

    Full text link
    In this thesis we propose an abstraction based certification technique for Java programs which is based on rewriting logic, a very general logical and semantic framework efficiently implemented in the functional programming language Maude. We focus on safety properties, i.e. properties of a system that are defined in terms of certain events not happening, which we characterize as unreachability problems in rewriting logic. The safety policy is expressed in the style of JML, a standard property specification language for Java modules. In order to provide a decision procedure, we enforce finite-state models of programs by using abstract interpretation. Starting from a specification of the Java semantics written in Maude, we develop an abstraction based, finite-state operational semantics also written in Maude which is appropriate for program verification. As a by-product of the verification based on abstraction, a dependable safety certificate is delivered which consists of a set of rewriting proofs that can be easily checked by the code consumer by using a standard rewriting logic engine. The abstraction based proof-carrying code technique, called JavaPCC, has been implemented and successfully tested on several examples, which demonstrate the feasibility of our approach. We analyse local properties of Java methods: i.e. properties of methods regarding their parameters and results. We also study global confidentiality properties of complete Java classes, by initially considering non--interference and, then, erasure with and without non--interference. Non--interference is a semantic program property that assigns confidentiality levels to data objects and prevents illicit information flows from occurring from high to low security levels. In this thesis, we present a novel security model for global non--interference which approximates non--interference as a safety property.Alba Castro, MF. (2011). Abstract Certification of Java Programs in Rewriting Logic [Tesis doctoral no publicada]. Universitat Politècnica de València. https://doi.org/10.4995/Thesis/10251/13617Palanci

    Verification of Java Bytecode using Analysis and Transformation of Logic Programs

    Full text link
    State of the art analyzers in the Logic Programming (LP) paradigm are nowadays mature and sophisticated. They allow inferring a wide variety of global properties including termination, bounds on resource consumption, etc. The aim of this work is to automatically transfer the power of such analysis tools for LP to the analysis and verification of Java bytecode (JVML). In order to achieve our goal, we rely on well-known techniques for meta-programming and program specialization. More precisely, we propose to partially evaluate a JVML interpreter implemented in LP together with (an LP representation of) a JVML program and then analyze the residual program. Interestingly, at least for the examples we have studied, our approach produces very simple LP representations of the original JVML programs. This can be seen as a decompilation from JVML to high-level LP source. By reasoning about such residual programs, we can automatically prove in the CiaoPP system some non-trivial properties of JVML programs such as termination, run-time error freeness and infer bounds on its resource consumption. We are not aware of any other system which is able to verify such advanced properties of Java bytecode
    • …
    corecore