Code based ("white box") approach to testing can be divided into two main types: control flow coverage and data flow coverage methods. Dataflow testing was introduced for structural programminglanguages and...
详细信息
Code based ("white box") approach to testing can be divided into two main types: control flow coverage and data flow coverage methods. Dataflow testing was introduced for structural programminglanguages and later adopted for object languages. Among many tools supporting code based testing of object programs, only JaBUTi and DFC (Data Flow Coverage) support dataflow testing of java programs. DFC is a tool implemented at the Institute of Computer Science Warsaw University of Technology as an Eclipse plug-in. The objective of this paper is to present dataflow coverage testing of java programs supported by DFC. DFC finds all definition-uses pairs in tested unit and provides also the definition-uses graph for methods. After the execution of test information which def-uses pairs were covered is shown. An example of data flow testing of java program is also presented.
Existing software allows the development of high quality interactive applications that permit their implementation in laboratories, both virtual and remote. To perform an experiment, the user needs to know how these a...
详细信息
The Synthetic Biology Open language (SBOL) is an emerging data standard for representing synthetic biology designs. The goal of SBOL is to improve the reproducibility of these designs and their electronic exchange bet...
详细信息
In the paper, we describe selected functionality of the current version of a new software tool, called Physarum Soft, developed for programming Physarum machines and simulating Physarum games. The tool was designed fo...
详细信息
ISBN:
(纸本)9788360810668
In the paper, we describe selected functionality of the current version of a new software tool, called Physarum Soft, developed for programming Physarum machines and simulating Physarum games. The tool was designed for the java platform. A Physarum machine is a biological computing device implemented in the plasmodium of Physarum polycephalum or Badhamia utricularis that are one-cell organisms able to build programmable complex networks. The plasmodial stage of such organisms is a natural transition system that can be used as a medium for solving different computational tasks as well as creating bio-inspired strategy games.
The Gas Electron Multiplier (GEM) is one of the most popular and powerful technologies for gaseous ionization detectors used in high energy physics, medical physics and other applications. One of the fundamental eleme...
详细信息
ISBN:
(纸本)9781467394611
The Gas Electron Multiplier (GEM) is one of the most popular and powerful technologies for gaseous ionization detectors used in high energy physics, medical physics and other applications. One of the fundamental elements of a GEM are foils with micro perforations;the quality of such perforations is determinant for an optimal performance of the GEM. In this work we study and develop different computational methods (implemented in java programming language), in order to determine the quality of GEM-foils from high resolution images of the foils. This computational method will provide an automatic and high precision alternative to the present procedures which are very expensive, time taking and imprecise, limiting the development and application of this important technology of detectors. The present method can be extended to other high resolution image analysis useful for nanostructures and microstructures. A preliminary study of the method applied to lower resolution images is also presented.
programming has evolved with diverse ways of doing things all with the aim of removing ambiguity and creating optimized methods in solving problems. The final keyword in java has been a point of discussion and controv...
详细信息
ISBN:
(纸本)9781479985470
programming has evolved with diverse ways of doing things all with the aim of removing ambiguity and creating optimized methods in solving problems. The final keyword in java has been a point of discussion and controversy since the inception of the java programming language. The final keyword has been seen by java programmers as a necessary tool for optimization. Other programmers have also seen it as a setback on the implementation of inheritance and re-useability. Few questions should be asked: Any relationship between final and finalization? Is the problem of optimization solved in the light of the usage of the final keyword? Are there better ways to present the idea behind this keyword which should be considered in the next version of java? Though not totally a fan of 'final' (you will find that out by the time you read my 'final' comment on final), in this paper, these questions are answered and a quick review of this keyword is done with the purpose of exposing its features, usefulness and, possibly, presenting its defects as most programmers tend to postulate. An expose on the concept behind the keyword is done to establish whether java's final keyword is actually 'final'.
Self-adaptive systems are capable of dealing with uncertainty at runtime handling complex issues as resource variability, changing user needs, and system intrusions or faults. If the requirements depend on context, ru...
详细信息
ISBN:
(纸本)9781467369053
Self-adaptive systems are capable of dealing with uncertainty at runtime handling complex issues as resource variability, changing user needs, and system intrusions or faults. If the requirements depend on context, runtime uncertainty will affect the execution of these contextual requirements. This work presents SACRE, a proof-of-concept implementation of an existing approach, ACon, developed by researchers of the Univ. of Victoria (Canada) in collaboration with the UPC (Spain). ACon uses a feedback loop to detect contextual requirements affected by uncertainty and data mining techniques to determine the best operationalization of contexts on top of sensed data. The implementation is placed in the domain of smart vehicles and the contextual requirements provide functionality for drowsy drivers.
Source code is often reused in software development. Although developers can avoid re-implementing features in existing products, doing so may result in a large number of similar software products. To understand the c...
详细信息
ISBN:
(纸本)9781467375269
Source code is often reused in software development. Although developers can avoid re-implementing features in existing products, doing so may result in a large number of similar software products. To understand the commonalities and variabilities of similar products, comparing their source code is critical. However, a product may change its own directory structure, even if the products share the same source code with other products. Hence, comparing source code among products in a systematic manner is difficult. In this paper, we propose a technique to extract and visualize a unified directory tree to compare the source code of similar products. This tree includes all directories of given products and merges corresponding directories into a single node. Since a node in a tree corresponds to multiple directories in products, developers can easily compare the contents of products. In our study, we implemented the visualization as a GUI tool. In addition, we conducted a case study using four Android products to demonstrate the tool's ability to assist developers in accessing the source code of multiple products.
The calculation of test coverage is often unfeasible for large-scale mining software repositories studies, as its computation requires building each project and executing their test suites. Because of that, we have be...
详细信息
ISBN:
(纸本)9781467392723
The calculation of test coverage is often unfeasible for large-scale mining software repositories studies, as its computation requires building each project and executing their test suites. Because of that, we have been working on heuristics to calculate code coverage based on static code analysis. However, our results have been disappointing so far. In this paper, we present our approach to the problem and an evaluation involving 18 open source projects (around 2,700 classes) from the Apache Software Foundation. Results show that our approach provides acceptable results for only 50% of all classes. We believe researchers can learn from our mistakes and possibly derive a better approach. We advise researchers who need to use code coverage in their studies to select projects with a well-defined build system, such as Maven.
Developers often release different versions of their applications to support various platform/programming-language application programming interfaces (APIs). To migrate an application written using one API (source) to...
详细信息
ISBN:
(纸本)9781467375290
Developers often release different versions of their applications to support various platform/programming-language application programming interfaces (APIs). To migrate an application written using one API (source) to another API (target), a developer must know how the methods in the source API map to the methods in the target API. Given a typical platform or language exposes a large number of API methods, manually writing API mappings is prohibitively resource-intensive and may be error prone. Recently, researchers proposed to automate the mapping process by mining API mappings from existing code-bases. However, these approaches require as input a manually ported (or at least functionally similar) code across source and target APIs. To address the shortcoming, this paper proposes TMAP: Text Mining based approach to discover likely API mappings using the similarity in the textual description of the source and target API documents. To evaluate our approach, we used TMAP to discover API mappings for 15 classes across: 1) java and C# API, and 2) java ME and Android API. We compared the discovered mappings with state-of-the-art source code analysis based approaches: Rosetta and StaMiner. Our results indicate that TMAP on average found relevant mappings for 57% more methods compared to previous approaches. Furthermore, our results also indicate that TMAP on average found exact mappings for 6.5 more methods per class with a maximum of 21 additional exact mappings for a single class as compared to previous approaches.
暂无评论