The development of instrumentation-based dynamic analyses for java bytecode is enabled by various bytecode rewriting frameworks. Those frameworks are all implemented in java. This complicates their use for developing ...
详细信息
Researchers have proposed always-on data-race exceptions as a way to avoid the ill effects of data races, but slow performance of accurate dynamic data-race detection remains a barrier to the adoption of always-on dat...
详细信息
ISBN:
(纸本)9781450323055
Researchers have proposed always-on data-race exceptions as a way to avoid the ill effects of data races, but slow performance of accurate dynamic data-race detection remains a barrier to the adoption of always-on data-race exceptions. Proposals for accurate low-level (e.g., hardware) data-race detection have the potential to reduce this performance barrier. This paper explains why low-level data-race detectors are wrong for programs written in high-level languages (e.g., java): they miss true data races and report false data races in these programs. To bring the benefits of low-level datarace detection to high-level languages, we design low-level abstractable race detection (LARD), an extension of the interface between low-level data-race detectors and run-time systems that enables accurate language-level data-race detection using low-level detection mechanisms. We implement accurate LARD data-race exception support for java, coupling a modified Jikes RVM java virtual machine and a simulated hardware race detector. We evaluate our detector's accuracy against an accurate dynamic java data-race detector and other low-level race detectors without LARD, showing that näive accurate low-level data-race detectors suffer from many missed and false language-level races in practice, and that LARD prevents this inaccuracy. Copyright is held by the owner/author(s).
Software Systems usually demand product customization for each client, frequently involving the creation of new components and changes to existing ones, possibly causing maintenance and evolution problems. One of the ...
详细信息
The article deals with the problem of complex technical systems diagnostics. A fuzzy equations mathematics is suggested for the problem solution. Fuzzy equations set, used to formalize the problem, may be inconsistent...
详细信息
A software product line (SPL) encodes a potentially large variety of software products as variants of some common code base. Up until now, re-using traditional static analyses for SPLs was virtually intractable, as it...
详细信息
Modern software systems that play critical roles in society are often required to change at runtime so that they can continuously provide essential services in the dynamic environments they operate in. Updating open, ...
详细信息
Functional Size Measurement (FSM) methods aim to measure the size of software by quantifying its functional user requirements. Although FSM is greatly beneficial in software project management, due to involving judgme...
详细信息
Detection of data races in java programs remains a difficult problem. The best static techniques produce many false positives, and also the best dynamic techniques leave room for improvement. We present a new techniqu...
详细信息
This paper proposes a framework for building multi-platform applications in java for High Performance Computing (HPC). It allows HPC developers to write their programs in java but dynamically translate part of the pro...
详细信息
ISBN:
(纸本)9781450326551
This paper proposes a framework for building multi-platform applications in java for High Performance Computing (HPC). It allows HPC developers to write their programs in java but dynamically translate part of the programs into C programs using MPI or CUDA so that the translated code can be executed on multi-platforms. The source of the translated code is written in java but with extensions for MPI and CUDA supports. The implementations for different platforms are switched by object-oriented mechanisms such as dynamic method dispatch. However, object oriented mechanisms are major sources of execution overheads. To reduce these overheads, the proposed framework requires that the translated code is subject to our coding rules, in which object-oriented mechanisms are avail- Able only in limited contexts. All objects except arrays must be immutable and most class types must be leaf classes. Only the types of method parameters and instance fields can be non-leaf class types. These restrictions allow our framework to statically determine object types during the code translation while they still enable building a practical class library for HPC with respect to customizability. This paper presents examples of the class libraries built on top of our framework. Their performance is sometime better than the performance of the programs written in C++ with equivalent class libraries since C++ is a general-purpose language and thus its expressiveness does not perfectly fit our problem domain, HPC applications. Categories and Subject Descriptors D.3.4 [programminglanguages]: Processors General Terms languages, Performance.
EvoSuite is a mature research prototype implementing a search-based approach to unit test generation for java classes. It has been successfully run on a variety of different java projects in the past, and after winnin...
详细信息
暂无评论