179 research outputs found

    Compositional Verification of Heap-Manipulating Programs through Property-Guided Learning

    Get PDF
    Analyzing and verifying heap-manipulating programs automatically is challenging. A key for fighting the complexity is to develop compositional methods. For instance, many existing verifiers for heap-manipulating programs require user-provided specification for each function in the program in order to decompose the verification problem. The requirement, however, often hinders the users from applying such tools. To overcome the issue, we propose to automatically learn heap-related program invariants in a property-guided way for each function call. The invariants are learned based on the memory graphs observed during test execution and improved through memory graph mutation. We implemented a prototype of our approach and integrated it with two existing program verifiers. The experimental results show that our approach enhances existing verifiers effectively in automatically verifying complex heap-manipulating programs with multiple function calls

    Adaptation des composants centrée sur l'utilisation

    Get PDF
    Avec la notion de composant logiciel, la démarche de conception d'applications informatiques a vu apparaître une alternative intéressante à l'approche classique, où le développement est mené selon une approche centralisée. L'idée est en effet de permettre la construction d'applications adaptées aux besoins spécifiques de chaque utilisateur par assemblage de composants préexistants. Néanmoins, le choix de composants prédéfinis, sur étagère, pose le problème de leur adéquation à une utilisation spécifique. Dans ce contexte, la possibilité d'adapter les composants semble cruciale, si l'on souhaite rendre réellement effective l'approche de développement par assemblage de composants. Cette thèse introduit une nouvelle approche de l'adaptation de composants logiciels qui consiste à adapter le composant à ses contextes d'utilisation en se basant sur le point de vue de l'utilisateur. Nous décrivons le profil d'utilisation sous la forme d'un ensemble de triplets dont chacun spécifie les propriétés souhaitées, les réactions correspondantes à traiter dans le cas où une condition n'est pas vérifiée et les échéanciers d'évaluation des propriétés. Nous proposons aussi un service de supervision de composant (SSC) qui repose sur la surveillance de l'état des composants pour obtenir des clichés qui reflètent l'état actuel du composant et les changements récents. Nous définissons également le service de sûreté de service (SSS) qui intercepte les requêtes clientes et qui les délègue vers le composant le plus convenable, tout en gérant l'exécution du composant en fonction du profil d'usage. ABSTRACT : The concept of software component, provides an interesting alternative to the traditional way of designing data-processing applications, where the development is undertaken according to a centralized approach. The idea is indeed to allow the construction of applications adapted to the specific needs for each user by assembling preexistent components. Nevertheless, the choice of off-the-shelf components, raises the problem of their adequacy to a specific use. In this context, the ability to adapt components appears to be crucial, if one wishes to make really effective the approach of development by assembling components. This thesis introduces a new approach of the adaptation of software components which consists in adapting the component to its contexts of use centered on the point of view of the user. We describe a user profile as a set of triples, where each triple specifies the desired properties, the reactions to be run if a condition is not checked and the schedule of evaluation of properties. We propose also a service of supervision of component (SSC) which is based on the monitoring of the state of the components to obtain snapshots which reflect the current state of the component and the recent changes. We also define the service of safety of service (SSS) which intercepts the user requests and delegates them towards the most suitable component, while managing the execution of the component according to the profile of use

    Impact of Image Denoising Techniques on CNN-based Liver Vessel Segmentation using Synthesis Low-dose Contrast Enhanced CT Images

    Get PDF
    Liver vessel segmentation in contrast enhanced CT (CECT) image is relevant for several clinical applications. However, the liver segmentation on noisy images obtain incorrect liver vessel segmentation which may lead to distortion in the simulation of cooling effect near the vessels during the planning. In this study, we present a framework that consists of three well-known and state-of-the-art denoising techniques, Vesssel enhancing diffusion (VED), RED-CNN, and MAP-NN and using a state-of-the-art Convolution Neural Networks (nn-Unet) to segment the liver vessels from the CECT images. The impact of denoising methods on the vessel segmentation are ablated using with multi-level simulated low-dose CECT of the liver. The experiment is carried on CECT images of the liver from two public and one private datasets. We evaluate the performance of the framework using Dice score and sensitivity criteria. Furthermore, we investigate the efficient of denoising on roughness of the surface of liver vessel segmentation. The results from our experiment suggest that denoising methods can improve the liver vessel segmentation quality in the CECT image with high low-dose noise while they degrade the liver vessel segmentation accuracy for low-noise-level CECT images

    S2TD: a Separation Logic Verifier that Supports Reasoning of the Absence and Presence of Bugs

    Full text link
    Heap-manipulating programs are known to be challenging to reason about. We present a novel verifier for heap-manipulating programs called S2TD, which encodes programs systematically in the form of Constrained Horn Clauses (CHC) using a novel extension of separation logic (SL) with recursive predicates and dangling predicates. S2TD actively explores cyclic proofs to address the path explosion problem. S2TD differentiates itself from existing CHC-based verifiers by focusing on heap-manipulating programs and employing cyclic proof to efficiently verify or falsify them with counterexamples. Compared with existing SL-based verifiers, S2TD precisely specifies the heaps of de-allocated pointers to avoid false positives in reasoning about the presence of bugs. S2TD has been evaluated using a comprehensive set of benchmark programs from the SV-COMP repository. The results show that S2TD is more effective than state-of-art program verifiers and is more efficient than most of them.Comment: 24 page

    Concolic Testing Heap-Manipulating Programs

    Get PDF
    Concolic testing is a test generation technique which works effectively by integrating random testing generation and symbolic execution. Existing concolic testing engines focus on numeric programs. Heap-manipulating programs make extensive use of complex heap objects like trees and lists. Testing such programs is challenging due to multiple reasons. Firstly, test inputs for such program are required to satisfy non-trivial constraints which must be specified precisely. Secondly, precisely encoding and solving path conditions in such programs are challenging and often expensive. In this work, we propose the first concolic testing engine called CSF for heap-manipulating programs based on separation logic. CSF effectively combines specification-based testing and concolic execution for test input generation. It is evaluated on a set of challenging heap-manipulating programs. The results show that CSF generates valid test inputs with high coverage efficiently. Furthermore, we show that CSF can be potentially used in combination with precondition inference tools to reduce the user effort

    Robust adaptive controller for wheel mobile robot with disturbances and wheel slips

    Get PDF
    In this paper an observer based adaptive control algorithm is built for wheel mobile robot (WMR) with considering the system uncertainties, input disturbances, and wheel slips. Firstly, the model of the kinematic and dynamic loops is shown with presence of the disturbances and system uncertainties. Next, the adaptive controller for nonlinear mismatched disturbance systems based on the disturbances observer is presented in detail. The controller includes two parts, the first one is for the stability purpose and the later is for the disturbances compensation. After that this control scheme is applied for both two loops of the system. In this paper, the stability of the closed system which consists of two control loops and the convergence of the observers is mathematically analysed based on the Lyapunov theory. Moreover, the proposed model does not require the complex calculation so it is easy for the implementation. Finally, the simulation model is built for presented method and the existed one to verify the correctness and the effectiveness of the proposed scheme. The simulation results show that the introduced controller gives the good performances even that the desired trajectory is complicated and the working condition is hard

    Vietnamese children and adults' perceptions of genealogy's role in family tradition education

    Get PDF
    When one studies their ancestors, they acquire information and documentation about their marriages, births, and deaths as far back as possible, through their parents, grandparents, and great grandparents, as well as information and documentation about their children and grandchildren. In particular, the purpose of this study is to examine the perspectives of Vietnamese children and adults regarding the significance of genealogy in traditional family education in the country of Vietnam. One hundred and ninety-nine persons participated in the survey. In a questionnaire, they answered eight questions regarding the lives of their forefathers and foremothers. When this research came to a close, it was determined that the perceptions of Vietnamese children and adults about the function of genealogy in traditional family education fell into one of two categories: "below average" and "above average." All of the findings from this research are critical in terms of establishing family traditions in the minds of future generations

    UAV swarm attack: protection system alternatives for Destroyers

    Get PDF
    Systems Engineering Project ReportThe Navy needs to protect Destroyers (DDGs) from Unmanned Aerial Vehicle (UAV) attacks. The team, focusing on improving the DDG’s defenses against small radar cross section UAVs making suicide attacks, established a DRM, identified current capability gaps, established a functional flow, created requirements, modeled the DDG’s current sensing and engagement capabilities in Microsoft Excel, and used Monte Carlo analysis of 500 simulation runs to determine that four out of eight incoming IED UAVs are likely to hit the ship. Sensitivity analysis showed that improving weapon systems is more effec-tive than improving sensor systems, inspiring the generation of alternatives for improving UAV defense. For the eight feasible alternatives the team estimated cost, assessed risk in accordance with the requirements, simulated performance against the eight incoming UAVs, and performed cost benefit analysis. Adding CIWS mounts is the most cost effec-tive alternative, reducing the average number of UAV hits from a baseline of 3.82 to 2.50, costing 816Mtoequipthe62−DDGfleetfora12−yearlifecycle.CombiningthatwithupgradedEWcapabilitiestojamremote−controlledUAVsreducesthehitsto1.56for816M to equip the 62-DDG fleet for a 12-year life cycle. Combining that with upgraded EW capabilities to jam remote-controlled UAVs reduces the hits to 1.56 for 1844M, and combining those with decoy launchers to defeat the radar-seeking Har-py UAVs reduces the hits to 1.12 for $2862M.http://archive.org/details/uavswarmttackpro1094528669Approved for public release; distribution is unlimited.Approved for public release; distribution is unlimited
    • …
    corecore