Many model-driven engineering workflows take the existing code of a system as an input. Some of these include validation and verification, software modernisation or knowledge extraction. Current approaches take the co...
详细信息
The paper is devoted to the mutation testing technique that is widely used when testing different software tools. This paper presents a comparative analysis of two mutation testing tools for java programs, namely Pite...
详细信息
ISBN:
(纸本)9781509006939
The paper is devoted to the mutation testing technique that is widely used when testing different software tools. This paper presents a comparative analysis of two mutation testing tools for java programs, namely Pitest and ae java. They both allow automatically introducing faults into a software code. The analysis has revealed their pros and cons, as well as specific features of their launch and application. Such comparison can help to select the choose the most appropriate mutation tool or the combination of these tools when testing java programs. We further discuss how these two tools might be combined and which of the two tools better for the mutation generation.
For program analysis of java in software engineering, control-flow, data dependence, control dependence, and method call relationships are often required. Existing tools provide features to extract the required inform...
详细信息
For program analysis of java in software engineering, control-flow, data dependence, control dependence, and method call relationships are often required. Existing tools provide features to extract the required information, however, it is difficult to use the tools for users who are unfamiliar with algorithms for program analysis. SOBA (Simple Objects for Bytecode Analysis) is a class library that is easy to use without detailed knowledge of program analysis. This paper introduces main features, design policy, and example programs of SOBA.
Safety is the main concern for RTOSes. Choosing a good programminglanguage can significantly improve the safety of the RTOSes. In this paper, we investigate the advantages and disadvantages of developing RTOSes in Ja...
详细信息
Big data processing is no longer restricted to specially-trained engineers. Instead, domain experts, data scientists and data users all want to benefit from applying data mining and machine learning algorithms at scal...
详细信息
ISBN:
(纸本)9781509020218
Big data processing is no longer restricted to specially-trained engineers. Instead, domain experts, data scientists and data users all want to benefit from applying data mining and machine learning algorithms at scale. A considerable obstacle towards this "democratisation of big data" are programming models: current scalable big data processing platforms such as Spark, Naiad and Flink require users to learn custom functional or declarative programming models, which differ fundamentally from popular languages such as java, Matlab, Python or C++. An open challenge is how to provide a big data programming model for users that are not familiar with functional programming, while maintaining performance, scalability and fault tolerance. We describe java2SDG, a compiler that translates annotated java programs to stateful dataflow graphs (SDGs) that can execute on a compute cluster in a data-parallel and fault-tolerant fashion. Compared to existing distributed dataflow models, a distinguishing feature of SDGs is that their computational tasks can access distributed mutable state, thus allowing SDGs to capture the semantics of stateful java programs. As part of the demonstration, we provide examples of machine learning programs in java, including collaborative filtering and logistic regression, and we explain how they are translated to SDGs and executed on a large set of machines.
Improving spatial locality has a great impact on improving cache performance by reducing the number of cache misses. Object model optimization is one way to improve the locality of references inside particular objects...
详细信息
ISBN:
(纸本)9781467387224
Improving spatial locality has a great impact on improving cache performance by reducing the number of cache misses. Object model optimization is one way to improve the locality of references inside particular objects. This paper extends the object layout optimization study by focusing on the internal layout of java objects in applications running on the java Virtual Machine (JVM). In this research, the IBM JVM is modified to be able to organize fields inside java objects based on their access frequency and access order. Our results show reductions in the number of cache misses in the 20% range and an almost 40% speed up in some benchmarks.
Packed objects are an experimental feature in the IBM J9 Virtual Machine. Packed objects can be used to gain greater control over the layout of objects in memory and greater flexibility of memory structures that are n...
详细信息
ISBN:
(纸本)9781467387224
Packed objects are an experimental feature in the IBM J9 Virtual Machine. Packed objects can be used to gain greater control over the layout of objects in memory and greater flexibility of memory structures that are not in java code, to reduce the amount of memory required to store objects, and to increase the efficiency of caching. If the application is accessing a significant amount of native data using JNI method calls, then the use of packed objects will eliminate marshalling/unmarshalling of native data into java objects and thus eliminate redundant data copying. The purpose of developing this profiling tool is to assist software developers in determining how much memory can be saved if they switch to packed objects from standard java objects. The correctness and usefulness of the profiling tool is evaluated by running several test programs. Based on the results, the programs were modified to use packed objects instead of standard java objects and the reduction in memory consumption was measured.
Humans possess a large amount of, and almost limitless, visual memory, that assists them to remember pictures far better than words. This phenomenon has recently motivated the computer security researchers' in aca...
详细信息
ISBN:
(纸本)9781467396103
Humans possess a large amount of, and almost limitless, visual memory, that assists them to remember pictures far better than words. This phenomenon has recently motivated the computer security researchers' in academia and industry to design and develop graphical user identification systems (GUISs). Cognometric GUISs are more memorable than drawmetric GUISs, but takes more time to authenticate. None of the previously proposed GUISs combines the advantages of both cognometric and drawmetric systems. A signature personify a person and a graphical signature is easier to recall than other drawings. This paper proposes a new graphical Signature-based User Identification System named SUIS. It is based on a 2D grid technology, that is used to draw, digitize and store the signature for user identification. SUIS is categorized as both a cognometric and drawmetric system. Unlike other systems that use 2D grid: We take one cell in a grid as one pixel in the drawing; for signature matching, the signature drawn has to follow the same grid cells as the signature stored, independent of the sequence; and that the system is not based on any machine learning model. Increasing the number of grid cells increases the password space, and decreasing the size of the grid cell increases the precision of the signature. These characteristics makes SUIS: (1) Rigorous enough to be a password system, but easy enough to be usable. (2) Independent of the language and device used to draw the signature. (3) Efficient and practical to be used for online authentication systems. Currently we are developing a prototype tool in java to implement SUIS and will carry out a study with a large number of participants to evaluate the validity of SUIS.
We propose JAS, a JVM-based active storage framework for object-based storage systems. JAS programs the active storage functions of users as java codes, and allows them to be executed on different OSD platforms (Opera...
详细信息
暂无评论