10,652 research outputs found
Automated Workarounds from Java Program Specifications based on SAT Solving
The failures that bugs in software lead to can sometimes be bypassed by the so-called workarounds: when a (faulty) routine fails, alternative routines that the system offers can be used in place of the failing one, to circumvent the failure. Existing approaches to workaround-based system recovery consider workarounds that are produced from equivalent method sequences, automatically computed from user-provided abstract models, or directly produced from user-provided equivalent sequences of operations. In this paper, we present two techniques for computing workarounds from Java code equipped with formal specifications, that improve previous approaches in two respects. First, the particular state where the failure originated is actively involved in computing workarounds, thus leading to repairs that are more state specific. Second, our techniques automatically compute workarounds on concrete program state characterizations, avoiding abstract software models and user-provided equivalences. The first technique uses SAT solving to compute a sequence of methods that is equivalent to a failing method on a specific failing state, but which can also be generalized to schemas for workaround reuse. The second technique directly exploits SAT to circumvent a failing method, building a state that mimics the (correct) behaviour of a failing routine, from a specific program state too. We perform an experimental evaluation based on case studies involving implementations of collections and a library for date arithmetic, showing that the techniques can effectively compute workarounds from complex contracts in an important number of cases, in time that makes them feasible to be used for run-time repairs. Our results also show that our state-specific workarounds enable us to produce repairs in many cases where previous workaround-based approaches are inapplicable.Fil: Uva, Marcelo Ariel. Universidad Nacional de Río Cuarto; ArgentinaFil: Ponzio, Pablo Daniel. Consejo Nacional de Investigaciones Científicas y Técnicas. Centro Científico Tecnológico Conicet - Córdoba; Argentina. Universidad Nacional de Río Cuarto; ArgentinaFil: Regis, Germán. Universidad Nacional de Río Cuarto; ArgentinaFil: Aguirre, Nazareno Matias. Consejo Nacional de Investigaciones Científicas y Técnicas. Centro Científico Tecnológico Conicet - Córdoba; Argentina. Universidad Nacional de Río Cuarto; ArgentinaFil: Frias, Marcelo Fabian. Consejo Nacional de Investigaciones Científicas y Técnicas. Centro Científico Tecnológico Conicet - Córdoba; Argentina. Instituto Tecnológico de Buenos Aires; Argentin
Automatic Software Repair: a Bibliography
This article presents a survey on automatic software repair. Automatic
software repair consists of automatically finding a solution to software bugs
without human intervention. This article considers all kinds of repairs. First,
it discusses behavioral repair where test suites, contracts, models, and
crashing inputs are taken as oracle. Second, it discusses state repair, also
known as runtime repair or runtime recovery, with techniques such as checkpoint
and restart, reconfiguration, and invariant restoration. The uniqueness of this
article is that it spans the research communities that contribute to this body
of knowledge: software engineering, dependability, operating systems,
programming languages, and security. It provides a novel and structured
overview of the diversity of bug oracles and repair operators used in the
literature
Feasibility of remotely manipulated welding in space. A step in the development of novel joining technologies
In order to establish permanent human presence in space technologies of constructing and repairing space stations and other space structures must be developed. Most construction jobs are performed on earth and the fabricated modules will then be delivered to space by the Space Shuttle. Only limited final assembly jobs, which are primarily mechanical fastening, will be performed on site in space. Such fabrication plans, however, limit the designs of these structures, because each module must fit inside the transport vehicle and must withstand launching stresses which are considerably high. Large-scale utilization of space necessitates more extensive construction work on site. Furthermore, continuous operations of space stations and other structures require maintenance and repairs of structural components as well as of tools and equipment on these space structures. Metal joining technologies, and especially high-quality welding, in space need developing
ARMD Workshop on Materials and Methods for Rapid Manufacturing for Commercial and Urban Aviation
This report documents the goals, organization and outcomes of the NASA Aeronautics Research Mission Directorates (ARMD) Materials and Methods for Rapid Manufacturing for Commercial and Urban Aviation Workshop. The workshop began with a series of plenary presentations by leaders in the field of structures and materials, followed by concurrent symposia focused on forecasting the future of various technologies related to rapid manufacturing of metallic materials and polymeric matrix composites, referred to herein as composites. Shortly after the workshop, questionnaires were sent to key workshop participants from the aerospace industry with requests to rank the importance of a series of potential investment areas identified during the workshop. Outcomes from the workshop and subsequent questionnaires are being used as guidance for NASA investments in this important technology area
Bounded Exhaustive Search of Alloy Specification Repairs
The rising popularity of declarative languages and the hard to debug nature thereof have motivated the need for applicable, automated repair techniques for such languages. However, despite significant advances in program repair for imperative languages, there is a dearth of repair techniques for declarative languages. We present BeAFix, an automated repair technique for faulty models written in Alloy, a first-order relational logic language.
BeAFix has a number of distinguishing features. Firstly, it supports any kind of oracle, including assertions typically found in formal specifications, as well as “specification tests”. This is important since unit tests, widely available for programs, are not typically found in formal specifications. Secondly, given a defined set of mutation operations, a set of suspicious expressions and a maximum number of mutations to apply per expression, BeAFix's bounded-exhaustive approach will either find a fix, or guarantee that such a fix is not possible, within the provided bounds. With respect to fault localization, BeAFix is not tightly integrated to any specific technique. In fact, our technique is independent of the fault localization technique used, and the fault localization is run only once before the repair process begins.
To support a bounded-exhaustive approach while keeping repair times reasonable, sound state pruning techniques (i.e., those that guarantee that no valid fixes are removed) are introduced. When a faulty model has more than one suspicious expression, we use both syntactic analysis and dynamically generated scenario-based assertions to check the feasibility of a particular repair candidate. A failing check will determine that this candidate would never lead to a fully repaired model, allowing BeAFix to prune significant parts of the search space.
We evaluated our technique on two Alloy benchmarks, including one previously used in a state-of-the-art technique for Alloy repair. The results show that BeAFix is able to repair thousands of real-world faulty models, corroborating its ability to effectively, and efficiently generate correct repairs while also being less prone to overfitting than previous techniques.Sociedad Argentina de Informática e Investigación Operativ
Crucible: Graphical Test Cases for Alloy Models
Alloy is a declarative modeling language that is well suited for verifying
system designs. Alloy models are automatically analyzed using the Analyzer, a
toolset that helps the user understand their system by displaying the
consequences of their properties, helping identify any missing or incorrect
properties, and exploring the impact of modifications to those properties. To
achieve this, the Analyzer invokes off-the-shelf SAT solvers to search for
scenarios, which are assignments to the sets and relations of the model such
that all executed formulas hold. To help write more accurate software models,
Alloy has a unit testing framework, AUnit, which allows users to outline
specific scenarios and check if those scenarios are correctly generated or
prevented by their model. Unfortunately, AUnit currently only supports textual
specifications of scenarios. This paper introduces Crucible, which allows users
to graphically create AUnit test cases. In addition, Crucible provides
automated guidance to users to ensure they are creating well structured,
valuable test cases. As a result, Crucible eases the burden of adopting AUnit
and brings AUnit test case creation more in line with how Alloy scenarios are
commonly interacted with, which is graphically
Recommended from our members
The Evolution of Dental Materials over the Past Century: Silver and Gold to Tooth Color and Beyond.
The field of dental materials has undergone more of a revolution than an evolution over the past 100 y. The development of new products, especially in the past half century, has occurred at a staggering pace, and their introduction to the market has been equally impressive. The movement has mostly come in the area of improved esthetics, marked by the gradual replacement of dental amalgam with dental composite and all-metal and porcelain-fused-to-metal indirect restorations with reinforced dental ceramics, all made possible by the rapid improvements in dental adhesive materials. This article covers the time course of dental materials development over the past century in which the Journal of Dental Research has been published. While there have been advances in nearly all materials used in the field, this article focuses on several areas, including dental amalgam, dental composites and light curing, dental adhesives and dental cements, ceramics, and new functional repair materials. A few short statements on future advances will be included at the end
A UML/OCL framework for the analysis of fraph transformation rules
In this paper we present an approach for the analysis of graph transformation rules based on an intermediate OCL representation. We translate different rule semantics into OCL, together with the properties of interest (like rule applicability, conflicts or independence). The intermediate representation serves three purposes: (i) it allows the seamless integration of graph transformation rules with the MOF and OCL standards, and enables taking the meta-model and its OCL constraints (i.e. well-formedness rules) into account when verifying the correctness of the rules; (ii) it permits the interoperability of graph transformation concepts with a number of standards-based model-driven development tools; and (iii) it makes available a plethora of OCL tools to actually perform the rule analysis. This approach is especially useful to analyse the operational semantics of Domain Specific Visual Languages. We have automated these ideas by providing designers with tools for the graphical specification and analysis of graph transformation rules, including a backannotation mechanism that presents the analysis results in terms of the original language notation
Recommended from our members
Automated Additive Construction (AAC) for Earth and Space Using In-situ Resources
Using Automated Additive Construction (AAC), low-fidelity large-scale compressive structures can be produced out of a wide variety of materials found in the environment. Compressionintensive structures need not utilize materials that have tight specifications for internal force management, meaning that the production of the building materials do not require costly methods for their preparation. Where a certain degree of surface roughness can be tolerated, lower-fidelity numerical control of deposited materials can provide a low-cost means for automating building processes, which can be utilized in remote or extreme environments on Earth or in Space. For space missions where every kilogram of mass must be lifted out of Earth’s gravity well, the promise of using in-situ materials for the construction of outposts, facilities, and installations could prove to be enabling if significant reduction of payload mass can be achieved. In a 2015 workshop sponsored by the Keck nstitute for Space Studies, on the topic of Three Dimensional (3D) Additive Construction For Space Using In-situ Resources, was conducted with additive construction experts from around the globe in attendance. The workshop explored disparate efforts, methods, and technologies and established a proposed framework for the field of Additive Construction Using In-situ Resources.
This paper defines the field of Automated Additive Construction Using In-situ Resources, describes the state-of-the-art for various methods, establishes a vision for future efforts, identifies gaps in current technologies, explores investment opportunities, and proposes potential technology demonstration missions for terrestrial, International Space Station (ISS), lunar, deep space zero-gravity, and Mars environments
- …