148,619 research outputs found
Preservice Teachers’ Algebraic Reasoning and Symbol Use on a Multistep Fraction Word Problem
Previous research on preservice teachers’ understanding of fractions and algebra has focused on one or the other. To extend this research, we examined 85 undergraduate elementary education majors and middle school mathematics education majors’ solutions and solution paths (i.e., the ways or methods in which preservice teachers solve word problems) when combining fractions with algebra on a multistep word problem. In this article, we identify and describe common strategy clusters and approaches present in the preservice teachers’ written work. Our results indicate that preservice teachers’ understanding of algebra include arithmetic methods, proportions, and is related to their understanding of a whole
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
Men with intellectual disabilities with a history of sexual offending: empathy for victims of sexual and non-sexual crimes
Background: The objectives were (a) to compare the general empathy abilities of men with intellectual disabilities (IDs) who had a history of sexual offending to men with IDs who had no known history of illegal behaviour, and (b) to determine whether men with IDs who had a history of sexual offending had different levels of specific victim empathy towards their own victim, in comparison to an unknown victim of sexual crime, and a victim of non-sexual crime, and make comparison to non-offenders.
Methods: Men with mild IDs (N = 35) were asked to complete a measure of general empathy and a measure of specific victim empathy. All participants completed the victim empathy measure in relation to a hypothetical victim of a sexual offence, and a non-sexual crime, while additionally, men with a history of sexual offending were asked to complete this measure in relation to their own most recent victim.
Results: Men with a history of sexual offending had significantly lower general empathy, and specific victim empathy towards an unknown sexual offence victim, than men with no known history of illegal behaviour. Men with a history of sexual offending had significantly lower victim empathy for their own victim than for an unknown sexual offence victim. Victim empathy towards an unknown victim of a non-sexual crime did not differ significantly between the two groups.
Conclusions: The findings suggest that it is important include interventions within treatment programmes that attempt to improve empathy and perspective-taking
Differentially Testing Soundness and Precision of Program Analyzers
In the last decades, numerous program analyzers have been developed both by
academia and industry. Despite their abundance however, there is currently no
systematic way of comparing the effectiveness of different analyzers on
arbitrary code. In this paper, we present the first automated technique for
differentially testing soundness and precision of program analyzers. We used
our technique to compare six mature, state-of-the art analyzers on tens of
thousands of automatically generated benchmarks. Our technique detected
soundness and precision issues in most analyzers, and we evaluated the
implications of these issues to both designers and users of program analyzers
Recommended from our members
Parametric Heap Abstraction for Dynamic Language Libraries
For commercial development, dynamic languages are growing in popularity. Consequently, dynamic language developers must consider the correctness of their code. Deployment of correct or sufficiently correct code is critical to the success and adoption of that code. However, it is challenging to ensure the correctness of dynamic language code when it is a library. Inputs to dynamic language libraries are often not simple values. They can also be open objects, which permit adding, removing, and iterating over attribute names, and they can be functions that may be called. Furthermore, the result of running library functions on objects is often new objects derived from the input objects.
To ensure the correctness of dynamic language libraries, this dissertation uses static analysis. Static analysis is typically used to infer facts about programs' values, but in these dynamic language libraries, values can be objects and functions. These objects may be unknown and thus have an unknown set of attribute names because they are inputs or these objects may be iteratively derived from other objects. Functions may be stored, called, or wrapped in other functions, regardless of if they are known or not. A static analysis for dynamic language libraries must handle these cases.
To support static analysis of libraries, this dissertation introduces local heap abstractions suitable for representing parts of memory that library code may affect. These abstractions build upon abstractions for sets that enable representing relations between attribute names of otherwise unknown objects. Furthermore, the local reasoning is utilized to abstract the effect of calling unknown functions.
The precision of these abstractions are demonstrated on a range of small, but complex JavaScript-inspired examples. The examples are extracted from libraries such as Traits.js and Google Closure
- …