184,636 research outputs found

    Research in computer science

    Get PDF
    Several short summaries of the work performed during this reporting period are presented. Topics discussed in this document include: (1) resilient seeded errors via simple techniques; (2) knowledge representation for engineering design; (3) analysis of faults in a multiversion software experiment; (4) implementation of parallel programming environment; (5) symbolic execution of concurrent programs; (6) two computer graphics systems for visualization of pressure distribution and convective density particles; (7) design of a source code management system; (8) vectorizing incomplete conjugate gradient on the Cyber 203/205; (9) extensions of domain testing theory and; (10) performance analyzer for the pisces system

    STGT program: Ada coding and architecture lessons learned

    Get PDF
    STGT (Second TDRSS Ground Terminal) is currently halfway through the System Integration Test phase (Level 4 Testing). To date, many software architecture and Ada language issues have been encountered and solved. This paper, which is the transcript of a presentation at the 3 Dec. meeting, attempts to define these lessons plus others learned regarding software project management and risk management issues, training, performance, reuse, and reliability. Observations are included regarding the use of particular Ada coding constructs, software architecture trade-offs during the prototyping, development and testing stages of the project, and dangers inherent in parallel or concurrent systems, software, hardware, and operations engineering

    Communication Capability for a Simulation-Based Test and Evaluation Framework for Autonomous Systems

    Get PDF
    The design and testing process for collaborative autonomous systems can be extremely complex and time-consuming, so it is advantageous to begin testing early in the design. A Test & Evaluation (T&E) Framework was previously developed to enable the testing of autonomous software at various levels of mixed reality. The Framework assumes a modular approach to autonomous software development, which introduces the possibility that components are not in the same stage of development. The T&E Framework allows testing to begin early in a simulated environment, with the autonomous software methodically migrating from virtual to augmented to physical environments as component development advances. This thesis extends the previous work to include a communication layer allowing collaborative autonomous systems to communicate with each other and with a virtual environment. Traversing through the virtuality-reality spectrum results in different communication needs for collaborative autonomous systems, namely the use of different communication protocols at each level of the spectrum. For example, testing in a fully simulated environment might be on a single processor or allow wired communication if distributed to different computing platforms. Alternatively, testing in a fully physical environment imposes the need for wireless communication. However, an augmented environment may require the concurrent use of multiple protocols. This research extends the Test & Evaluation Framework by developing a heterogeneous communication layer to facilitate the implementation and testing of collaborative autonomous systems throughout various levels of the virtuality-reality spectrum. The communication layer presented in this thesis allows developers of the core autonomous software to be shielded from the configuration of communication needs, with changes to the communication environment not resulting in changes to the autonomous software

    A Correctness Criterion for Eager Approach Validation for Transactional Memory System

    Get PDF
    With rise of multicore systems, software transactional memory (STM) has garnered significant interest as an elegant alternative for developing concurrent code. A (memory) transaction is an unit of code in execution in memory. A software transactional memory system (STM) ensures that a transaction appears either to execute atomically (even in presence of other concurrent transactions) or to never have executed at all. To achieve this property, a commonly used approach by STM systems is eager validation approach. In this approach, when a transaction performs a write operation the update is immediately written to the memory and is visible to other transactions. If the transaction aborts, then the writes performed by it previously are undone with the aid of undo logs. In this paper, we have presented a new correctness criterion EAC for eager approach validation systems. We have developed a STM system that implements this criterion. The STM system uses database recovery criterion strictness and the notion of conflict graphs used for testing conflict serializability

    Dynamic symbolic execution for testing distributed objects

    Get PDF
    Abstract. This paper extends dynamic symbolic execution to distributed and concurrent systems. Dynamic symbolic execution can be used in software testing to systematically identify equivalence classes of input values and has been shown to scale well to large systems. Although mainly applied to sequential programs, this scalability makes it interesting to consider the technique in the distributed and concurrent setting as well. In order to extend the technique to concurrent systems, it is necessary to obtain sufficient control over the scheduling of concurrent activities to avoid race conditions. Creol, a modeling language for distributed concurrent objects, solves this problem by abstracting from a particular scheduling policy but explicitly defining scheduling points. This provides sufficient control to apply the technique of dynamic symbolic execution for model based testing of interleaved processes. The technique has been formalized in rewriting logic, executes in Maude, and applied to nontrivial examples, including an industrial case study

    A methodology of testing high-level Petri nets

    Get PDF
    Petri nets have been extensively used in the modelling and analysis of concurrent and distributed systems. The verification and validation of Petri nets are of particular importance in the development of concurrent and distributed systems. As a complement to formal analysis techniques, testing has been proven to be effective in detecting system errors and is easy to apply. An open problem is how to test Petri nets systematically, effectively and efficiently. An approach to solve this problem is to develop test criteria so that test adequacy can be measured objectively and test cases can be generated efficiently, even automatically. In this paper, we present a methodology of testing high-level Petri nets based on our general theory of testing concurrent software systems. Four types of testing strategies are investigated, which include state-oriented testing, transition-oriented testing, flow-oriented testing and specification-oriented testing. For each strategy, a set of schemes toobserve and record testing results and a set of coverage criteria to measure test adequacy are defined. The subsumption relationships and extraction relationships among the proposed testing methods are systematically investigated and formally proved
    corecore