51,650 research outputs found
Software Verification and Graph Similarity for Automated Evaluation of Students' Assignments
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
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
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
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
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
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
- …