865,258 research outputs found
Programming Safety Tips: Why You Should Use Immutable Objects or How to create programs with bugs that can never be found or fixed.
Program safety deals with how to make programs as error free as possible. The hardest errors in a program for a programmer to find are often errors in using memory. There are two reasons for this. The first is that errors in accessing memory almost never show problems in the proximate area of the program where the error is made. The error has no apparent impact when it is made, but often causes catastrophic results to occur much later in the program, in areas of the program unrelated to memory error that caused it.
The second reason memory errors are so difficult to find is that the working of memory is often poorly understood by most novice, and many professional, programmers. This makes it difficult for many programmers to even understand why an action causes the error.
This article will show an example of a program error that can easily occur when memory access is poorly understood. This leads to program errors that are very easy to fix when they are found, but extremely difficult to find. The article will then explain how many memory errors can be easily avoided by following the very simple rule, “Make all object immutable unless there is a good reason to make them mutable”, and why immutable objects are an essential tool in good, safe programming practice
Training of Working Memory Impacts Neural Processing of Vocal Pitch Regulation
Working memory training can improve the performance of tasks that were not trained. Whether auditory-motor integration for voice control can benefit from working memory training, however, remains unclear. The present event-related potential (ERP) study examined the impact of working memory training on the auditory-motor processing of vocal pitch. Trained participants underwent adaptive working memory training using a digit span backwards paradigm, while control participants did not receive any training. Before and after training, both trained and control participants were exposed to frequency-altered auditory feedback while producing vocalizations. After training, trained participants exhibited significantly decreased N1 amplitudes and increased P2 amplitudes in response to pitch errors in voice auditory feedback. In addition, there was a significant positive correlation between the degree of improvement in working memory capacity and the post-pre difference in P2 amplitudes. Training-related changes in the vocal compensation, however, were not observed. There was no systematic change in either vocal or cortical responses for control participants. These findings provide evidence that working memory training impacts the cortical processing of feedback errors in vocal pitch regulation. This enhanced cortical processing may be the result of increased neural efficiency in the detection of pitch errors between the intended and actual feedback
The antisaccade task as an index of sustained goal activation in working memory: modulation by nicotine
The antisaccade task provides a laboratory analogue of situations in which execution of the correct behavioural response requires the suppression of a more prepotent or habitual response. Errors (failures to inhibit a reflexive prosaccade towards a sudden onset target) are significantly increased in patients with damage to the dorsolateral prefrontal cortex and patients with schizophrenia. Recent models of antisaccade performance suggest that errors are more likely to occur when the intention to initiate an antisaccade is insufficiently activated within working memory. Nicotine has been shown to enhance specific working memory processes in healthy adults. MATERIALS AND METHODS: We explored the effect of nicotine on antisaccade performance in a large sample (N = 44) of young adult smokers. Minimally abstinent participants attended two test sessions and were asked to smoke one of their own cigarettes between baseline and retest during one session only. RESULTS AND CONCLUSION: Nicotine reduced antisaccade errors and correct antisaccade latencies if delivered before optimum performance levels are achieved, suggesting that nicotine supports the activation of intentions in working memory during task performance. The implications of this research for current theoretical accounts of antisaccade performance, and for interpreting the increased rate of antisaccade errors found in some psychiatric patient groups are discussed
EffectiveSan: Type and Memory Error Detection using Dynamically Typed C/C++
Low-level programming languages with weak/static type systems, such as C and
C++, are vulnerable to errors relating to the misuse of memory at runtime, such
as (sub-)object bounds overflows, (re)use-after-free, and type confusion. Such
errors account for many security and other undefined behavior bugs for programs
written in these languages. In this paper, we introduce the notion of
dynamically typed C/C++, which aims to detect such errors by dynamically
checking the "effective type" of each object before use at runtime. We also
present an implementation of dynamically typed C/C++ in the form of the
Effective Type Sanitizer (EffectiveSan). EffectiveSan enforces type and memory
safety using a combination of low-fat pointers, type meta data and type/bounds
check instrumentation. We evaluate EffectiveSan against the SPEC2006 benchmark
suite and the Firefox web browser, and detect several new type and memory
errors. We also show that EffectiveSan achieves high compatibility and
reasonable overheads for the given error coverage. Finally, we highlight that
EffectiveSan is one of only a few tools that can detect sub-object bounds
errors, and uses a novel approach (dynamic type checking) to do so.Comment: To appear in the Proceedings of 39th ACM SIGPLAN Conference on
Programming Language Design and Implementation (PLDI2018
RowHammer: Reliability Analysis and Security Implications
As process technology scales down to smaller dimensions, DRAM chips become
more vulnerable to disturbance, a phenomenon in which different DRAM cells
interfere with each other's operation. For the first time in academic
literature, our ISCA paper exposes the existence of disturbance errors in
commodity DRAM chips that are sold and used today. We show that repeatedly
reading from the same address could corrupt data in nearby addresses. More
specifically: When a DRAM row is opened (i.e., activated) and closed (i.e.,
precharged) repeatedly (i.e., hammered), it can induce disturbance errors in
adjacent DRAM rows. This failure mode is popularly called RowHammer. We tested
129 DRAM modules manufactured within the past six years (2008-2014) and found
110 of them to exhibit RowHammer disturbance errors, the earliest of which
dates back to 2010. In particular, all modules from the past two years
(2012-2013) were vulnerable, which implies that the errors are a recent
phenomenon affecting more advanced generations of process technology.
Importantly, disturbance errors pose an easily-exploitable security threat
since they are a breach of memory protection, wherein accesses to one page
(mapped to one row) modifies the data stored in another page (mapped to an
adjacent row).Comment: This is the summary of the paper titled "Flipping Bits in Memory
Without Accessing Them: An Experimental Study of DRAM Disturbance Errors"
which appeared in ISCA in June 201
False memory ≠ false memory: DRM errors are unrelated to the misinformation effect
The DRM method has proved to be a popular and powerful, if controversial, way to study 'false memories'. One reason for the controversy is that the extent to which the DRM effect generalises to other kinds of memory error has been neither satisfactorily established nor subject to much empirical attention. In the present paper we contribute data to this ongoing debate. One hundred and twenty participants took part in a standard misinformation effect experiment, in which they watched some CCTV footage, were exposed to misleading post-event information about events depicted in the footage, and then completed free recall and recognition tests. Participants also completed a DRM test as an ostensibly unrelated filler task. Despite obtaining robust misinformation and DRM effects, there were no correlations between a broad range of misinformation and DRM effect measures (mean r = -.01). This was not due to reliability issues with our measures or a lack of power. Thus DRM 'false memories' and misinformation effect 'false memories' do not appear to be equivalent
False claims about false memory research
Pezdek and Lam [Pezdek, K. & Lam, S. (2007). What research paradigms have cognitive psychologists used to study “False memory,” and what are the implications of these choices? Consciousness and Cognition] claim that the majority of research into false memories has been misguided. Specifically, they charge that false memory scientists have been (1) misusing the term “false memory,” (2) relying on the wrong methodologies to study false memories, and (3) misapplying false memory research to real world situations. We review each of these claims and highlight the problems with them. We conclude that several types of false memory research have advanced our knowledge of autobiographical and recovered memories, and that future research will continue to make significant contributions to how we understand memory and memory errors
- …
