scholarly journals Test-driven development with mutation testing – an experimental study

Author(s):  
Adam Roman ◽  
Michal Mnich

AbstractTest-driven development (TDD) is a popular design approach used by the developers with testing being the important software development driving factor. On the other hand, mutation testing is considered one of the most effective testing techniques. However, there is not so much research on combining these two techniques together. In this paper, we propose a novel, hybrid approach called TDD+M which combines test-driven development process together with the mutation approach. The aim was to check whether this modified approach allows the developers to write a better quality code. We verify our approach by conducting a controlled experiment and we show that it achieves better results than the sole TDD technique. The experiment involved 22 computer science students split into eight groups. Four groups (TDD+M) were using our approach, the other four (TDD) – a normal TDD process. We performed a cross-experiment by measuring the code coverage and mutation coverage for each combination (code of group X, tests from group Y). The TDD+M tests achieved better coverage on the code from TDD groups than the TDD tests on their own code (53.3% vs. 33.5% statement coverage and 64.9% vs. 37.5% mutation coverage). The TDD+M tests also found more post-release defects in the TDD code than TDD tests in the TDD+M code. The experiment showed that adding mutation into the TDD process allows the developers to provide better, stronger tests and to write a better quality code.

2019 ◽  
Vol 17 (3) ◽  
pp. 93-110
Author(s):  
A. V. Tkachev ◽  
D. V. Irtegov

The article is devoted to the technique of automated testing of NSUts – automatic assessment system for programming tasks developed at NSU. The main priority for this technique is to test both the old and the new versions of the application, so that the same or minimally modified tests could be executed on two versions of the system with different architectures. This could be useful while organizing the development process for other applications with a long life cycle. To test not only the server but also the client side of the web application, we suggest using tools like Selenium WebDriver to simulate user actions by sending commands to real browsers. We use the well-known Page Object design pattern to handle differences in HTML layout and functionality, and describe a number of ways to make developed tests less fragile and easily adapt those to work with the new version of the system. The article also describes the use of this technique to organize automated testing of the NSUts system and analyzes its effectiveness. The analysis shows that the estimated code coverage by these tests is quite high, and therefore the technique can be considered effective and applied to other similar web applications.


2020 ◽  
Vol 11 (2) ◽  
pp. 141-148
Author(s):  
Dewi Fitriasari ◽  
Naoko Kawahara

The research proposed a Time-Driven Activity-Based Costing (TDABC) model for cost and human capital analysis in a small startup in Indonesia. TDABC discussed and illustrated the integration of capabilities into cost and performance in startups. The researchers applied a qualitative simulation method. The data were taken from actual regulatory data of wage and salary from the local government of Jakarta. The other data were simulated data based on a software development process for a small startup. The result indicates that the TDABC can assist the company to trace its performance and costs. Additional factors in implementing the costing system are provided for further research and practical considerations in adopting the costing system.


2021 ◽  
Author(s):  
Christof Ferreira Torres ◽  
Antonio Ken Iannillo ◽  
Arthur Gervais ◽  
Radu State

<div> <div> <p>Smart contracts are Turing-complete programs that are executed across a blockchain. Unlike traditional programs, once deployed, they cannot be modified. As smart contracts carry more value, they become more of an exciting target for attackers. Over the last years, they suffered from exploits costing millions of dollars due to simple programming mistakes. As a result, a variety of tools for detecting bugs have been proposed. Most of these tools rely on symbolic execution, which may yield false positives due to over-approximation. Recently, many fuzzers have been proposed to detect bugs in smart contracts. However, these tend to be more effective in finding shallow bugs and less effective in finding bugs that lie deep in the execution, therefore achieving low code coverage and many false negatives. An alternative that has proven to achieve good results in traditional programs is hybrid fuzzing, a combination of symbolic execution and fuzzing. In this work, we study hybrid fuzzing on smart contracts and present ConFuzzius, the first hybrid fuzzer for smart contracts. ConFuzzius uses evolutionary fuzzing to exercise shallow parts of a smart contract and constraint solving to generate inputs that satisfy complex conditions that prevent evolutionary fuzzing from exploring deeper parts. Moreover, ConFuzzius leverages dynamic data dependency analysis to efficiently generate sequences of transactions that are more likely to result in contract states in which bugs may be hidden. We evaluate the effectiveness of ConFuzzius by comparing it with state-of-the-art symbolic execution tools and fuzzers for smart contracts. Our evaluation on a curated dataset of 128 contracts and a dataset of 21K real-world contracts shows that our hybrid approach detects more bugs than state-of-the-art tools (up to 23%) and that it outperforms existing tools in terms of code coverage (up to 69%). We also demonstrate that data dependency analysis can boost bug detection up to 18%.</p> </div> </div>


2016 ◽  
Vol 66 (1) ◽  
pp. 209-233 ◽  
Author(s):  
Claire Brighton

AbstractPoverty and environmental degradation are two of the gravest issues facing the planet today. The most obvious means of addressing each issue, however, appears ostensibly to undermine the other. While environmental and development strategies are largely associated with the concept of sustainable development that emerged in the 1990s, the debate between these two interests dates back to the 1940s. This article seeks to fill an apparent gap in environmental scholarship by presenting a history of the environmental protection/development relationship. It will argue that, rather than being the product of an organic development process, the concept of sustainable development and the principles underlying it were consciously shaped by a number of international actors with vested interests in their trajectory. Understanding why and how this was permitted is important not only for its capacity to throw light on the past, but also for its ability to assist in understanding and predicting the future.


Author(s):  
PAM BINNS ◽  
MATT ENGLEHART ◽  
MIKE JACKSON ◽  
STEVE VESTAL

We describe two languages and associated tools for capturing and analyzing two different views of the architecture of an embedded system. One language is tailored to address guidance, navigation, and feedback control issues, while the other is tailored to address real-time, fault-tolerance, secure partitioning, and scalable multiprocessor issues. Both languages have tools that perform analyses appropriate for the issues each addresses, and tools to automatically configure the application software from a sufficiently detailed specification. The integrated languages and tools are intended to support a development process based on reusing an easily configurable generic architecture developed for a family of products.


2007 ◽  
Vol 12 (6) ◽  
pp. 593-615 ◽  
Author(s):  
Matthias M. Müller ◽  
Andreas Höfer

Author(s):  
G. Drieux ◽  
J.-C. Le´on ◽  
N. Chevassus ◽  
F. Guillaume

The Digital Mock-Up (DMU), which is a comprehensive numerical model describing the final manufactured product, is today widely used in the industry (like the automotive and aeronautic industries) to support the concurrent engineering organizations and processes. On the other hand, simulation helps in the development of a product for design decision making or validation purposes. It allows to determine, with the appropriate level of accuracy, the behavior of the future product under a specific environment or set of exterior actions. Virtual Reality (VR) applications are simulations where the focus is on immersion and interaction with the product. However, there is still lacks in the integration of simulation within the product development phases. In particular the link between the DMU and the numerical models for simulation in the large is often hardly achieved. For some types of simulation, it is even inexistent. In this paper, we propose a new object, the Downstream Digital Mock-Up (DDMU), based on a polyhedral representation, and we show that it can be a support for the integration of a subset of simulation activities within the product development process by making the link between the DMU and these simulations. In the particular case of VR, we show that this object is particularly adapted. One particularity of the DDMU is to be prepared for a specific target application, defined by its objectives and the context in which it is immersed.


2017 ◽  
Vol 4 (2) ◽  
pp. 104-114
Author(s):  
Karina Auliasari ◽  
Mira Orisa

This study aims to automate the process of understanding temple relief, despite the difficulties to analyze the contents of natural images. Three preprocessing stages are develop in this research namely edge detection based on convolution (EC), edge detection based on gaussian (EG) and Hybrid which is a combination between edge detection based on convolution and gaussian. These algorithm is to support the operation of Watershed transform to segment relief images. A set of relief images obtained from several temples near Malang City are used in this experiment. Two experimental parameter are develop in order to measure the performance of these algorithm, namely number of object and quality of retrieval from segmentation result. The result of experiment show that hybrid approach deliver the best performances compare the other approaches.


Sign in / Sign up

Export Citation Format

Share Document