-Test driven development (TDD) is one of the basic practices of agile software development and both academia and practitioners claim that TDD, to a certain extent, improves the quality of the code produced by developers. However, recent results suggest that this practice is not followed to the extent preferred by industry. In order to pinpoint specific obstacles limiting its industrial adoption we have conducted a systematic literature review on empirical studies explicitly focusing on TDD as well as indirectly addressing TDD. Our review has identified seven limiting factors viz., increased development time, insufficient TDD experience/knowledge, lack of upfront design, domain and tool specific issues, lack of developer skill in writing test cases, insufficient adherence to TDD protocol, and legacy code. The results of this study is of special importance to the testing community, since it outlines the direction for further detailed scientific investigations as well as highlights the requirement of guidelines to overcome these limiting factors for successful industrial adoption of TDD.
Checkpointing is a relatively cost effective method for achieving fault tolerance in real-time systems. Since checkpointing schemes depend on time redundancy, they could affect the correctness of the system by causing deadlines to be missed.This paper provides exact schedulability tests for fault tolerant task sets under specified failure hypothesis and employing checkpointing to assist in fault recovery. The effects of checkpointing strategies on task response time are analysed and some insights for optimal checkpointing are provided. The emphasis here is on utilizing this analysis as an off-line design support tool. system design. Predictable performance in the event of failures is of paramount importance in most safety critical real-time systems. Among various hardware as well as software techniques employed for achieving fault-tolerance, checkpointing is a relatively cost-effective scheme. One needs to checkpoint only those variables whose values have changed since the last checkpoint operation. Bowen and Pradhan [I] give a detailed discussion on different types of processor as well as memory based checkpointing schemes. These schemes allow checkpoints to be performed like atomic operations with negligible overhead using 'copyback' cache and atomic-update feature of stable transaction memory(STM). However, since checkpointing schemes depend on time redundancy, it can affect the correctness of the system by causing deadlines to be missed.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.