993 research outputs found

    Program Analysis Scenarios in Rascal

    Get PDF
    Rascal is a meta programming language focused on the implementation of domain-specific languages and on the rapid construction of tools for software analysis and software transformation. In this paper we focus on the use of Rascal for software analysis. We illustrate a range of scenarios for building new software analysis tools through a number of examples, including one showing integration with an existing Maude-based analysis. We then focus on ongoing work on alias analysis and type inference for PHP, showing how Rascal is being used, and sketching a hypothetical solution in Maude. We conclude with a high-level discussion on the commonalities and differences between Rascal and Maude when applied to program analysis

    Comparison of chemical clustering methods using graph- and fingerprint-based similarity measures

    Get PDF
    This paper compares several published methods for clustering chemical structures, using both graph- and fingerprint-based similarity measures. The clusterings from each method were compared to determine the degree of cluster overlap. Each method was also evaluated on how well it grouped structures into clusters possessing a non-trivial substructural commonality. The methods which employ adjustable parameters were tested to determine the stability of each parameter for datasets of varying size and composition. Our experiments suggest that both graph- and fingerprint-based similarity measures can be used effectively for generating chemical clusterings; it is also suggested that the CAST and Yin–Chen methods, suggested recently for the clustering of gene expression patterns, may also prove effective for the clustering of 2D chemical structures

    Extending the tactical horizon networking aircraft to enable persistent surveillance and target development for SOF

    Get PDF
    The NPS Tactical Horizon Extension Project objective is to define and demonstrate a concept by which task force-level commanders and below can obtain a persistent, over-the-horizon surveillance capability for the purpose of target development and other missions without tasking national or theater-level assets. Our goal is to increase the ISR capacity of units who normally would not rate the priority to task a Predator, Global Hawk, or U-2. There are two guiding tenets in developing this concept. First, the equipment and its control should be organic to the SOF unit or task force. Second, utilizing this capability should not require the soldier to carry any additional equipment into the field. Initial research led us to the idea of using networked unmanned aerial systems (UAS's) to generate an over-the-horizon surveillance capability for SOF. We demonstrated the concept by forming a network comprised of a forward ground team, an inexpensive, test-bed UAS equipped with an off-the-shelf video camera, a manned aircraft, and a tactical operations center (TOC). We attained connectivity through an ITT Mesh structure at 2.4 GHz, amplified to 1W. Researchers were from the Defense Analysis, Mechanical and Astronautical Engineering, and Information Sciences Departments. We conducted successful experiments through the USSOCOM-NPS Cooperative Field Experimentation Program.http://archive.org/details/extendingtactica109452582Outstanding ThesisApproved for public release; distribution is unlimited

    Preparing a Small Town for a Hazardous Materials Incident: An Examination of Evacuation Routing Algorithms and Plume Models

    Get PDF
    Evacuation and shelter in place are two common protective action measures during hazardous events that involve the release of hazardous materials. These responses are complex and require advanced planning to determine their appropriateness to reduce human exposure to hazardous materials and minimize related health risks. Evacuation and shelter in place responses were assessed for people in the town of Erwin, Tennessee, USA, a small, rural town in the mountains of Northeast Tennessee, using a release of uranium hexafluoride (UF6). The population at risk was identified using historical meteorological data and the Radiological Assessment System for Consequence Analysis tool to create plume models for a hypothetical release of UF6 from a nuclear fuel facility that downblends highly enriched uranium. Two hypothetical evacuation scenarios were modeled. One uses the total road network in Erwin and the other involves a train impeding access to an arterial evacuation route. Two routing algorithms available within the custom network analyst routing tool (ArcCASPER) were used for each scenario: 1) a basic shortest path algorithm and 2) a capacity-aware shortest path evacuation routing algorithm. Post-hoc analyses of each scenario and algorithm indicated that the capacity-aware algorithm predicted the quickest evacuation times for both scenarios. Roads with the longest evacuation times and all critical facilities that would benefit from sheltering in place were identified. The study concluded that the capacity-aware algorithm available within ArcCASPER is the most realistic for the town of Erwin

    Composite load spectra for select space propulsion structural components

    Get PDF
    The work performed to develop composite load spectra (CLS) for the Space Shuttle Main Engine (SSME) using probabilistic methods. The three methods were implemented to be the engine system influence model. RASCAL was chosen to be the principal method as most component load models were implemented with the method. Validation of RASCAL was performed. High accuracy comparable to the Monte Carlo method can be obtained if a large enough bin size is used. Generic probabilistic models were developed and implemented for load calculations using the probabilistic methods discussed above. Each engine mission, either a real fighter or a test, has three mission phases: the engine start transient phase, the steady state phase, and the engine cut off transient phase. Power level and engine operating inlet conditions change during a mission. The load calculation module provides the steady-state and quasi-steady state calculation procedures with duty-cycle-data option. The quasi-steady state procedure is for engine transient phase calculations. In addition, a few generic probabilistic load models were also developed for specific conditions. These include the fixed transient spike model, the poison arrival transient spike model, and the rare event model. These generic probabilistic load models provide sufficient latitude for simulating loads with specific conditions. For SSME components, turbine blades, transfer ducts, LOX post, and the high pressure oxidizer turbopump (HPOTP) discharge duct were selected for application of the CLS program. They include static pressure loads and dynamic pressure loads for all four components, centrifugal force for the turbine blade, temperatures of thermal loads for all four components, and structural vibration loads for the ducts and LOX posts

    Tracing program transformations with string origins

    Get PDF
    Program transformations play an important role in domain-specific languages and model-driven development. Tracing the execution of such transformations has well-known benefits for debugging, visualization and error reporting. In this paper we introduce string origins as a lightweight, generic and portable technique to establish a tracing relation between the textual fragments in the input and output of a program transformation. We discuss the semantics and the implementation of string origins using the Rascal meta programming language as an example. Furthermore, we illustrate the utility of string origins by presenting data structures and operations for tracing generated code, implementing protected regions, performing name resolution, and fixing inadvertent name capture in generated code

    Finding Lightweight Opportunities for Parallelism in .NET C#

    Get PDF
    Adding parallelism to .NET C# software programs has become a great option that can be used to enable performance. But how can we find out if the existing large complex software programs are even suitable for parallelism, other than investing a lot of time by checking it by hand? By using static analysis to find dependencies in the source code of software programs, we are able to find actual opportunities for parallelism. This list of generated opportunities for parallelism provides information needed to make the decision whether it is worth the time and effort to implement parallelism to a software program, and also provides guidance for the programmers when parallelism is implemented

    High-fidelity metaprogramming with separator syntax trees

    Get PDF
    Many metaprogramming tasks, such as refactorings, automated bug fixing, or large-scale software renovation, require high-fidelity source code transformations-transformations which preserve comments and layout as much as possible. Abstract syntax trees (ASTs) typically abstract from such details, and hence would require pretty printing, destroying the original program layout. Concrete syntax trees (CSTs) preserve all layout information, but transformation systems or parsers that support CSTs are rare and can be cumbersome to use. In this paper we present separator syntax trees (SSTs), a lightweight syntax tree format, that sits between AST and CSTs, in terms of the amount of information they preserve. SSTs extend ASTs by recording textual layout information separating AST nodes. This information can be used to reconstruct the textual code after parsing, but can largely be ignored when implementing high-fidelity transformations. We have implemented SSTs in Rascal, and show how it enables the concise definition of high-fidelity source code transformations using a simple refactoring for C++
    • …
    corecore