619 research outputs found
TORQUE COEFFICIENTS IN AUTOMOTIVE BOLTED JOINT ASSEMBLY
The thesis investigated the effects of four factors and their combinations on the torque coefficients of the first and second tightening of bolted joints by conducting a general full-factorial design with randomized blocks on 20 replications. The experiment involved three levels of tightening tool types, two levels of bolt dimensions, two levels of nut types, and two levels of plate type. The torque coefficients were calculated indirectly through the measuring the torque applied and bolt preload. The response variables studied were the mean and the variance between runs of the torque coefficients of the first tightening, as well as the ratio between the torque coefficients of the first and second tightening. The effects of the four factors and their combinations on the response variables were analyzed and reported. All main effects, three of the two-way interactions, one three-way interaction, and the four-way interaction were found to have statistically significant effects on the torque coefficients of the first tightening. The 24 combinations of the factors were found to have significant effects on the variance between runs of the torque coefficients of the first tightening
Soft Contract Verification
Behavioral software contracts are a widely used mechanism for governing the
flow of values between components. However, run-time monitoring and enforcement
of contracts imposes significant overhead and delays discovery of faulty
components to run-time.
To overcome these issues, we present soft contract verification, which aims
to statically prove either complete or partial contract correctness of
components, written in an untyped, higher-order language with first-class
contracts. Our approach uses higher-order symbolic execution, leveraging
contracts as a source of symbolic values including unknown behavioral values,
and employs an updatable heap of contract invariants to reason about
flow-sensitive facts. We prove the symbolic execution soundly approximates the
dynamic semantics and that verified programs can't be blamed.
The approach is able to analyze first-class contracts, recursive data
structures, unknown functions, and control-flow-sensitive refinements of
values, which are all idiomatic in dynamic languages. It makes effective use of
an off-the-shelf solver to decide problems without heavy encodings. The
approach is competitive with a wide range of existing tools---including type
systems, flow analyzers, and model checkers---on their own benchmarks.Comment: ICFP '14, September 1-6, 2014, Gothenburg, Swede
A cell-based smoothed discrete shear gap method (CS-DSG3) using triangular elements for static and free vibration analyses of shell structures
Size-Change Termination as a Contract
Termination is an important but undecidable program property, which has led
to a large body of work on static methods for conservatively predicting or
enforcing termination. One such method is the size-change termination approach
of Lee, Jones, and Ben-Amram, which operates in two phases: (1) abstract
programs into "size-change graphs," and (2) check these graphs for the
size-change property: the existence of paths that lead to infinite decreasing
sequences.
We transpose these two phases with an operational semantics that accounts for
the run-time enforcement of the size-change property, postponing (or entirely
avoiding) program abstraction. This choice has two key consequences: (1)
size-change termination can be checked at run-time and (2) termination can be
rephrased as a safety property analyzed using existing methods for systematic
abstraction.
We formulate run-time size-change checks as contracts in the style of Findler
and Felleisen. The result compliments existing contracts that enforce partial
correctness specifications to obtain contracts for total correctness. Our
approach combines the robustness of the size-change principle for termination
with the precise information available at run-time. It has tunable overhead and
can check for nontermination without the conservativeness necessary in static
checking. To obtain a sound and computable termination analysis, we apply
existing abstract interpretation techniques directly to the operational
semantics, avoiding the need for custom abstractions for termination. The
resulting analyzer is competitive with with existing, purpose-built analyzers
- …