9,388 research outputs found

    A Study of Concurrency Bugs and Advanced Development Support for Actor-based Programs

    Full text link
    The actor model is an attractive foundation for developing concurrent applications because actors are isolated concurrent entities that communicate through asynchronous messages and do not share state. Thereby, they avoid concurrency bugs such as data races, but are not immune to concurrency bugs in general. This study taxonomizes concurrency bugs in actor-based programs reported in literature. Furthermore, it analyzes the bugs to identify the patterns causing them as well as their observable behavior. Based on this taxonomy, we further analyze the literature and find that current approaches to static analysis and testing focus on communication deadlocks and message protocol violations. However, they do not provide solutions to identify livelocks and behavioral deadlocks. The insights obtained in this study can be used to improve debugging support for actor-based programs with new debugging techniques to identify the root cause of complex concurrency bugs.Comment: - Submitted for review - Removed section 6 "Research Roadmap for Debuggers", its content was summarized in the Future Work section - Added references for section 1, section 3, section 4.3 and section 5.1 - Updated citation

    Tools for Search Tree Visualization: The APT Tool

    Get PDF
    The control part of the execution of a constraint logic program can be conceptually shown as a search-tree, where nodes correspond to calis, and whose branches represent conjunctions and disjunctions. This tree represents the search space traversed by the program, and has also a direct relationship with the amount of work performed by the program. The nodes of the tree can be used to display information regarding the state and origin of instantiation of the variables involved in each cali. This depiction can also be used for the enumeration process. These are the features implemented in APT, a tool which runs constraint logic programs while depicting a (modified) search-tree, keeping at the same time information about the state of the variables at every moment in the execution. This information can be used to replay the execution at will, both forwards and backwards in time. These views can be abstracted when the size of the execution requires it. The search-tree view is used as a framework onto which constraint-level visualizations (such as those presented in the following chapter) can be attached

    An ontology for specifying and tracing requirements engineering artifacts and Test Artifacts

    Get PDF
    Nowadays, modern software development processes follow an iterative approach, which makes possible to start the testing of a system at early stages. This approach requires recording the requirements artifacts that specify the functionality or characteristics required by the system, and the test cases that are derived from each requirement artifact. Frequently, software development organizations employ supporting tools to create and maintain these artifacts. There exist numerous tools for supporting requirements specification activities, as well as the definition and execution of test cases. These separate tools have their own databases and metamodels. The lack of integration between these tools leads to difficulties in tracing related artifacts and obtaining useful knowledge to manage the developing process. It is necessary to understand without ambiguities the concepts used by the different tools to allow them to interoperate. This paper proposes an ontology that defines and integrates the concepts included by the metamodels of different Requirements Engineering and Testing Management supporting tools. The formalization of these concepts and their relationships in an ontology language prevents ambiguity of the concepts and permit to the tools involved to interoperate with each other, to achieve semantic consistency and the tracing of artifacts. The proposed ontology used in conjunction with a reasoner provides capabilities to infer traces that are not explicit, which makes it possible to easily maintain artifacts and associations between them. The approach facilitates backward tracing from test cases to use cases and functional requirements artifacts, obtain knowledge about the causes of a defect or a poor specification, and enable impact analysis.Fil: Roldán, María Luciana. Consejo Nacional de Investigaciones Científicas y Técnicas. Centro Científico Tecnológico Conicet - Santa Fe. Instituto de Desarrollo y Diseño. Universidad Tecnológica Nacional. Facultad Regional Santa Fe. Instituto de Desarrollo y Diseño; ArgentinaFil: Vegetti, Maria Marcela. Consejo Nacional de Investigaciones Científicas y Técnicas. Centro Científico Tecnológico Conicet - Santa Fe. Instituto de Desarrollo y Diseño. Universidad Tecnológica Nacional. Facultad Regional Santa Fe. Instituto de Desarrollo y Diseño; ArgentinaFil: Gonnet, Silvio Miguel. Consejo Nacional de Investigaciones Científicas y Técnicas. Centro Científico Tecnológico Conicet - Santa Fe. Instituto de Desarrollo y Diseño. Universidad Tecnológica Nacional. Facultad Regional Santa Fe. Instituto de Desarrollo y Diseño; ArgentinaFil: Marciszack, Marcelo Martín. Universidad Tecnológica Nacional. Facultad Regional Córdoba; ArgentinaFil: Leone, Horacio Pascual. Consejo Nacional de Investigaciones Científicas y Técnicas. Centro Científico Tecnológico Conicet - Santa Fe. Instituto de Desarrollo y Diseño. Universidad Tecnológica Nacional. Facultad Regional Santa Fe. Instituto de Desarrollo y Diseño; Argentin

    Model based functional testing using pattern directed filmstrips.

    Get PDF
    Model driven functional system testing generates test scenarios from behavioral and structural models. In order to automatically generate tests, conditions such as invariants and pre-/post-conditions must be precisely defined. UML provides the Object Constraint Language (OCL) for this purpose; however OCL expressions can become very complex. This paper describes an approach that allows many commonly found OCL patterns to be expressed as snapshot patterns that correspond directly to the information model diagrams. Behaviour is constructed as chains of snapshots, or filmstrips. Snapshots and filmstrips are as expressive as UML behaviour models and OCL but it is argued that they are more accessible and more modular
    corecore