On the Relationships of Faults for Boolean Specification Based Testing
|
|
- Agatha Price
- 5 years ago
- Views:
Transcription
1 On the Relationships of Faults for Boolean Specification Based Testing M. E LAU* School of Information Technology Swinbume University of Technology John Street, Hawthom 3122, AUSTRALIA edmonds@it.swin.edu.au Y. T. YU Department of Computer Science City University of Hong Kong Tat Chee Avenue, Kowloon Tong, HONG KONG csytyu@cityu.edu.hk Abstract Various methods of generating test cases based on Boolean specijications have previously been proposed. These methods are fault-based in the sense that test cases are aimed at detecting particular types of faults. Empirical results suggest that these methods are good at detecting particular types of faults. However, there is no information on the ability of these test cases in detecting other types of faults. This paper summarizes the relationships of faults in a Boolean expression in the form of a hieramhy. A test case that detects the faults at the lower level of the hierarchy will always detect the faults at the upper level of the hierarchy. The hierarchy helps us to better understand the relationships of faults ina Boolean expression, and hence to select fault-detecting test cases in a more systematic and eflcient mannel: Keywords: Boolean expression, fault class analysis, specification based testing, verification 1 Introduction Software testing aims at detecting software faults that are the result of human errors during software development. Specification based testing derives test cases from the specification rather than the actual implementation. A fault-based approach of generating test cases selects test cases that aim at detecting certain types of faults. Although a similar approach has also been used in the testing of hardware, the main focus in software testing is on human errors whereas in hardware testing the focus is mainly on manufacturing flaws [7, 121. In the past, many fault-based approaches on selecting test cases from the specifications have been proposed [2, 3, 6, 8, 9, 11, 121. Various types of faults are considered, such as expression negation fault (an * Corresponding author. edmondsgit. swin. edu. au expression being negated), variable negation fault (a variable being negated), variable reference fault (a variable being replaced by another variable or a constant), operator reference fault (an operator being replaced by another operator), and literal insertion fault (a literal being inserted into a term of the expression). Detailed discussions on the types of faults will be presented in later sections. Empirical results indicate that the proposed test case generation methodologies are quite effective in detecting many types of faults [l, 8, 10, 121. Recently, Kuhn has discovered certain relationships among several classes of faults [7]. The theoretical results show that any test that reveals a variable reference fault can also reveal the corresponding variable negation fault, and any test that reveals a variable negation fault can also reveal the corresponding expression negation fault. With this knowledge, test cases should be generated first that aim at detecting variable reference faults. However, it should be noted that, in Kuhn's study, the variable reference (negation) fault results in every occurrence of a variable being replaced (negated) by another variable. This leads to the following open questions: 1. Will the results hold if only one occurrence of a variable is being replaced or negated? In general, it is more difficult to reveal the software faults if only one occurrence of a variable is wrongly implemented. What are the relationships among other types of faults? With the knowledge of the relationships of more types of faults, fault-detecting test cases can be selected in a more systematic and efficient manner. In this paper, we attempt to provide some answers to these two questions. We study the relationship among seven types of faults that are related to the operands in a Boolean expression. Our results can be summarized by a hierarchy showing the relationships of these faults (see Section 4) /01 $ IEEE 21
2 A test case that detects the faults at the lower level of the hierarchy will always detect the faults at the upper level of the hierarchy. We also demonstrate how the theoretical results can be applied in the domain of mutation testing. Section 2 of this paper introduces the notation and terminology used. It also describes the seven types of faults that are related to the operands in a Boolean expression. In Section 3, we discuss previous work related to this research. Section 4 studies the theoretical relationships among the types of faults discussed in this paper. Section 5 discusses the application of the results to mutation testing, and some related issues. Section 6 summarizes and concludes the paper. 2 Preliminaries 1 Notation and Terminology We first introduce the notation and terminology used in this paper. We use -, + and - to denote the Boolean operators AND, OR and NOT, respectively. Moreover, we will omit the - symbol whenever it is clear from the context. The truth values TRUE and FALSE are denoted by 1 and 0, respectively. We use IB to denote the set of all truth values, that is B = (0, I}. The n-dimensional Boolean space is denoted by Bn. In a Boolean expression, a variable may occur as a positive literal or a negative literal. For example, for the same variable a in the Boolean expression a6 + &, a and H are positive literal and negative literal, respectively. Let S be a Boolean expression having n variables in disjunctive normal form. In general, S = p pm (1) where m is the number of terms in S and pi (i = 1,..,.. m) denotes the i-th term of S. Moreover, let pi = Y1...Yki where ki is the number of literals in pi, and x: (j = 1,..., ki) denotes the j-th literal in pi. A test case for testing the Boolean expression S is an element in the n-dimensional Boolean space F. 2 Types of Faults We now describe the types of faults related to the operands in the Boolean expression that may occur during implementation due to human errors. The Boolean expressions are assumed to be in disjunctive normal form. This paper considers only single operand faults, which may be further classified into the following seven types of faults. 1. Expression Negation Fault (ENF):- The Boolean expression is implemented as its negation. In this case, the implementation denoted by IENF will be equivalent to S. Term Negation Fault (TNF):- A term in the Boolean expression is replaced by its negation. For example, the specification abc + de is implemented as abc + - de. If the i-th term of S is negated, the implementation denoted by will be equivalent to p pi pm. 3. Literal Negation Fault (LNF):- A literal in a particular term in the Boolean expression is replaced by its negation. For example, the specification abc + de is implemented as ab?+ de. If the j-th literal of the i-th term of S is negated, the implementation denoted.by ZhF will be equivalent to pl x;...2; pm. 4. Term Omission Fault (T0F):- A particular term in the Boolean expression is omitted. For example, the specification ab + cd + ef is implemented as ab + cd. If the term pi of S is omitted, the implementation denoted by will be equivalent to p Pi-1 +pi+l+.+pm. 5. Literal Omission Fault (L0F):- A literal in a particular term of the Boolean expression is omitted. For example, the specification ubcd + def is implemented as abc + def. If the literal xf in pi of S is omitted, the implementation denoted by Z& will be equivalent to p $-l.$+l ---xki +...+p me 6. Literal Insertion Fault &IF):- A literal is inserted into a term of the Boolean expression. For example, the specification &I?+ de is implemented as abed + de or dd+ de. For LE, we do not consider the insertion of the following literals in the expression: (a) a literal that is already present in the term, because the resulting implementation is equivalent to the original expression; and (b) the negation of a literal that is already present in the term, because the result is effectively the same as that due to TOF with that particular term omitted. 22
3 For example, inserting E, 6, or c in the first term of abf+ de will produce an expression equivalent to de, which is the same as that due to TOF with the first term omitted. If a literal x is inserted in pj of S in which neither x nor its negation occur in pi, the implementation denoted by will be equivalent to pl pi. x pm. It should be noted that inserting a literal in an expression does not necessarily cause an error. For example, when the literal b is inserted in the first term of a + b, the resulting implementation ab + 6 is equivalent to the original specification. 7. Literal Reference Fault (LRF):- A literal in a particular term of the Boolean expression is replaced by another literal. For example, the specification abc+ de is implemented as abd + de (in which C has been replaced by d) or ubd+ de (in which E has been replaced by 2). For LRF, we do not consider the replacement of a literal by (a) its negation, because the result is effectively the same as that due to LNF, (b) another literal that is already present in the original expression, because the result is effectively the same as that due to LOF; or (c) the negation of another literal that is already present in that particular term, because the result is effectively the same as that due to TOE If the literal xf of pl in S is replaced by the literal x such that neither x nor X is present in pi, the 24 implementation denoted by will be equivalent to p x;-l i. k, ex Pm. It should be noted that the replacement of a literal by another literal does not necessarily cause an error. For example, when the literal b in the first term of bc+eb+ &+Ed is replaced by the literal a, the resulting implementation ac + r ~b + ab + ~d is equivalent to the original specification. 3 Related Work In the broader sense, testing of Boolean expressions in software bears some similarity to testing of digital circuits in computer hardware. However, as explained in Kuhn [7] and Weyuker et al. [12], there are some fundamental differences between the two. For example, from the circuit testing point of view, various hardware manufacturing flaws have been identified and hypothesized, and test cases are then generated to detect these flaws. On the other hand, from the software point of view, the number of possible software faults due to human errors during the development of the software is larger and the faults are more varied. 3.1 Test Case Generation from Boolean Specifications Tai and Su [lo] propose two test case generation algorithms which guarantee the detection of operator errors. However, their work is restricted to the testing of singular Boolean expressions in which each operand is a simple Boolean variable that cannot occur more than once in the Boolean expression. Tai [S, 91 extends this work to include the detection of Boolean operator faults, relational operator faults and a type of faults involving arithmetic expression. The Boolean operator faults considered by Tai involve the incorrect use of an AND operator, the incorrect use of an OR operator, the omission of a NOT operator, and the use of an extra NOT operator. Empirical studies reported in [S, 101 show that at least 98.6% and 96.8% of the mutants can be detected for singular Boolean expressions with 3 and 4 variables, respectively. By making simple syntactic changes to a Boolean expression, a mutant is created. For example, ae+ bc and a + bc are two possible mutants of the Boolean expression a + bc. However, Chilenski and Miller [3] have pointed out that the Boolean functions that can be expressed in singular Boolean expressions form only a small subset of all possible Boolean functions. They further investigate the applicability of the modified conditioddecision coverage criterion as an enhancement of the conditioddecision coverage criterion for testing of singular Boolean expressions. Weyuker et al. [12] propose and analyse a family of strategies for automatically generating test cases from a Boolean specification. Their MAX-B meaningful impact strategy, or simply the MAX-B strategy, is the most powerful since it subsumes all other strategies they propose. Their empirical results show that the basic meaningful impact strategy and the MAX-B strategy can distinguish at least 94.9% and 95.4% of the mutants, respectively. Their study has considered expression negation fault, variable negation fault, operator reference fault, variable reference fault, and associative shift fault. Chen and Lau [2] propose three other strategies for 23
4 generating test cases from Boolean specifications, namely, MUTP, CUTPNF" and MNFP. Test cases are derived to detect various types of faults that are related to operand faults as well as operator faults. The faults considered in [2] are expression negation fault, literal negation fault, literal omission fault, term omission fault, operator reference fault, literal insertion fault, and literal reference fault. Their results show that if the Boolean expression S is in irredundant disjunctive normal form, test cases that satisfy the three strategies can distinguish S from incorrect implementations that result from any one of the above faults. Empirical results [l] show that the number of test cases selected by the MUMCUT strategy, which is a combination of the MUTF', CUTPNFP, and MNFP strategies, ranges from 1.5% to 41.7% of the exhaustive test set, with 15.3% being the average. Moreover, this number ranges from 3.6% to 91.3% of all test cases selected by the MAX-B strategy, with an average of 45.1%. In other words, on average the three strategies saves 54.9% of the test cases generated by the MAX-B Strategy. Our approach in this paper is Werent from previous work in two aspects. First, all these studies basically attempt to propose methodologies for generating test cases from a Boolean expression, whereas this paper analyses the relationships among different types of faults. Second, most of the previous work perform empirical studies to analyse the effectiveness of their test case generation methodologies, whereas this paper performs a theoretical analysis of the characteristics of the faults. 3.2 Fault Class Analysis Kuhn [7] studies several classes of faults that may be made during the implementation of a Boolean expression S in disjunctive normal form. The faults he has analysed are expression negation fault, variable negation fault, and variable reference fault. Although Kuhn uses the same terms as those appearing in Weyuker et al. [12], he actually uses them with different meanings. For example, for variable negation fault, Kuhn refers to the fault which negates every occurrence of a variable in the Boolean expression, whereas Weyuker et al. refer to the fault which negates only one occurrence of a particular variable. Similarly, for variable reference fault, Kuhn refers to the fault which replaces every occurrence of a variable by another variable, whereas Weyuker et al. refer to the fault which replaces only one occurrence of the variable by another variable or a constant. Figure 1: Relationships among fault classes by Kuhn Kuhn denotes by SENF, SVNF and SVRF the expressions that are incorrectly implemented due to an expression negation fault, a variable negation fault and a variable reference fault, respectively. Two main results are proved in [7]. 1. If the variable being replaced in SVRF is the same variable as the one being negated in SVNF, any test that detects VRF can also detect VNF. If the terms containing the variable being negated in SVNF are negated in SENF, any test that detects VNF can also detect ENF. In other words, if there is a test case that detects VRF, the same test case can also detect VNF, provided that the variable being replaced in SVRF is the same as the variable negated in SVNF. Moreover, the same test case can also detect ENF, provided that all the terms containing the same variable are negated in SENF. Figure 1 shows the relationship among SVRF, SVNF and SENF [7l. Kuhn demonstrates how these results can be applied to generate a modified conditioddecision coverage test set for testing a Boolean expression. Moreover, he illustrates how to compare the effectiveness of different test strategies by using the theoretical results proved in 171. Our work in this paper complements the work of Kuhn [7] in two aspects. First, we analyse more types of faults than those in Kuhn's paper. We analyse faults due to negation, insertion, omission or replacement, whereas Kuhn has analysed only faults due to negation or replacement. Second, while Kuhn has analysed only faults that affect every occurrence of a variable, the faults we consider change only one occurrence of a literal. The former faults have much greater impact than the latter, while the latter faults model human errors that are of even 24
5 ENF t TNF LNF TOF LRF LOF LIF Figure 2: The Hierarchical Relationship more minimal in nature. As such, the faults considered here are more interesting, since they are in general easier to escape the programmer s attention, and harder to detect than their counterparts in [7]. 4 A Hierarchy of Relationships of Faults In this section, we discuss the theoretical foundation of the relationships among various types of faults given in Section The results of this section can be neatly summarized as a hierarchy shown in Figure The hierarchical relationships are interpreted in the following way. Let us consider the relationship between literal insertion fault (LIF) and term omission fault (TOF). Recall that a literal insertion fault is made if a literal is inserted into a term in a Boolean expression whereas a term omission fault is made if a term is omitted in the Boolean expression. An arrow from LIF to TOF means that if the term to be omitted due to TOF is the same term in which a literal is inserted due to LIF, any test case that detects the LIF will be able to detect the TOF as well. Other arrows in the figure are to be interpreted in a similar manner. In the rest of this section, we shall formally state and prove the relations between pairs of faults in the hierarchy one by one. Theorem 4.1 Let S be a Boolean expression in disjunctive.. can distinguish S and I,!$ for some i (15 i 5 m), the test case can also distinguish S and I&. Proof : Let 2 be a test case that can distinguish S and Ifig for some i where 15 i 5 m. In other words, S and IE; evaluate to different truth values. Recall that, S = p pm andi,!$=pl +...+pi- X+...+pm. This implies that 2 must satisfy of the following conditions: 1. every term other than pi evaluates to o (otherwise, so =If$(?) = l), the term pi evaluates to 1 (otherwise, S(?) = Zfigo = O), ancl 3. the literal x evaluates to o (otherwise, I,$:@ = so = 1). Under such circumstances, S(z) = 1 and I&.@ = 0. Hence, S(t) and 0 are different. This completes the proof. 0 Theorem 4.2 Let S be a Boolean expression in disjunctive nom1 form with m terms. If there is a test case that can distinguish S and I:; for some i (15 i 5 m), the test $ case can also distinguish S and I& for every j = I,..., ki, where ki is the number of literals in pi. Proof : Let 2 be a test case that can distinguish S and IEF for some i where 1 5 i 5 m. In other words, S and If$ evaluate to different truth values. Recall that, S = p pm andi,!$ +...+pi X+...+pm. This implies that 2 must satisfy the following conditions: 1. every term other than pi evaluates to 0, the term pi evaluates to 1, and 3. the literal x evaluates to 0. jr Under such circumstances, S(i) = 1 and = PI &.. a xi-,.~+,...x~i.x+...+pm = o for every j J = 1,..., ki. Hence, S(?) and I&@ are different. This completes the proof. 0 In other words, if the literal x being inserted into a term pi due to LIF is the same as the literal replacing any literal $., 1 5 j 5 ki, in the same term pi due to LW, any test case that detects the LIF can also detect the LRF. Theorem 4.3 Let S be a Boolean expression in disjunctive can distinguish S and I& for some i (1 5 i 5 m), the same test case can also distinguish S and I&F for every j = I,..., ki, where ki is the number of literals in pi. 25
6 Proof : Let? be a test case that can distinguish S and ZFiF for some i where 15 i 5 m. In other words, S and ZFiF evaluate to different truth values. Recall that, S = PI pm andz&f 'p pi-1 +pi+l.. +Pm. This implies that i must satisfy the following conditions: 1. every term other than pi evaluates to 0, and the term pi evaluates to 1 (that is, every literal 4,...,xij evaluates to 1). Under such circumstances, S(7) = $ are different. This completes the proof. 0 In other words, if a term pi being omitted due to TOF is the same term that contains the literal xi being negated due to LNF, any test case that detects the TOF can also detect the LNF. (7) = p pm = 0. Hence, S(7) and&f(?') Theorem 4.4 Let S be a Boolean expression in disjunctive q can distinguish S and I& for some i (15 i 5 m) and some j (15 j 5 ki), where ki is the number of literals in pi, the same test case can also distinguish S and ZAF. Proof : Let i be a test case that can distinguish S and I$ for some i and some j where 1 5 i 5 m and 1 5 q j 5 ki. In other words, S and Z& evaluate to different q truth values. Recall that, S = p pm and I& = pi xil -...x$-~-~+~..-yii.x+... +pm. his implies that?must satisfy the following conditions: 1. every term other than pi evaluates to 0, every literal in pi other thanx) evaluates to 1, and 3. the literals x) and x evaluate to different truth values. Under such circumstances, S(7) = $@ and ZAF@ = $@). Hence, SO and I&F@) are different. This completes the proof. 0 In other words, if the literal x) in a term pi being replaced by another literal due to LRF is the same literal being negated in the same term due to LNF, any test case that detects the LRF can also detect the LNF. Theorem 4.5 Let S be a Boolean expression in disjunctive can distinguish S and ZAF for some i (1 5 i 5 m) and for some j (1 5 j 5 ki), where ki is the number of literals in pi, the same test case can also distinguish S and IAF. Proof : Let i be a test case that can distinguish S and kf for some i and some j where 15 i 5 m and 1 5 j 5 ki. In other words, S and ZLoF evaluate to different truth values. Recall that, S = pi Pm and I& = p l...xji, pm. his implies that?must satisfy the following conditions: 1. every term other than pi evaluates to 0, every literal in pi other than xi evaluates to 1, and 3. the literal x) evaluates to 0. Under such circumstances, S(7) = 0 and = 1. Hence, S(T) are different. This completes the proof. 0 In other words, if the literal x$ in a term pi being omitted due to LOF is the same literal being negated in the same term due to LNF, any test case that detects the LOF can also detect the LNF. Theorem 4.6 Let S be a Boolean expression in disjunctive can distinguish S and for some i (15 i 5 m) and for some j (15 j 5 ki), where ki is the number of literals in pi, the same test case can also distinguish S and Proof : Let? be a test case that can distinguish S and I&F for some i and some j where 1 5 i 5 m and 1 5 j 5 ki. In other words, S and ZAF evaluate to different truth values. Recall that, S = PI pm and I,& = p1+...+xi,...$... Xi,+...+p,. hi^ implies that Imust satisfy the following conditions: 1. every term other than pi evaluates to 0, and every literal other than x) evaluates to 1. Under such circumstances, = pi(?'), which is different from S(T) = pi(?'). This completes the proof. 0 In other words, if the term pi that contains a literal x) being negated due to LNF is the same term being negated due to TNF, any test case that detects the LNF can also detect the TNF. Finally, the implementation ZENF is equivalent to s, which always evaluates differently from S. Hence, Theorem 4.7 should be obvious. Theorem 4.7 Let S be a Boolean expression in disjunctive normal form with m terms. I f there is a test case that can distinguish S and ZPiF for some i (1 5 i 5 m), the same test case can also distinguish S and ZENF. 26
7 5 An Application of the Fault Hierarchy As explained in [7], the theoretical results on the hierarchy of the types of faults may help to explain the experimental results in fault-based testing. We now show how the theoretical results in Section 4 can be applied to mutation testing, and discuss the related issues. The idea of mutation testing is to select test cases that can distinguish the program from its mutants [4,5]. A mutant of a program is created by making simple syntactical changes to the original program. The process of making the changes to a program is considered as a mutation operation. A test case is said to kill a mutant if, when executing with the test case as input, the results of the program and the mutant are different. A set of test cases is said to be mutation-adequate if the test cases can collectively kill all those non-equivalent mutants under consideration. Below are two examples showing how the results can be applied. The first example is a direct application of the results. The second example discusses some issues related to the application of the results. Example 1. Let us consider the Boolean expression S = ab + cd. For S, there are eight non-equivalent LIF mutants, namely abc + cd, abf+ cd, abd + cd, abd+ cd, ab + acd, ab +ad, ab+ bcd, and ab+ kd. For the LIF mutant abc + cd (in which the literal c has been inserted in the first term), a test case 1101 (a = b = 1, c = 0, d = 1) is then derived to kill this mutant. According to Theorems 4.1 and 4.2, this test case also kills the TOF mutant cd (in which the first term has been omitted) and the LRF mutants cb + cd (in which the literal a has been replaced by c) and ac + cd (in which the literal b has been replaced by c). According to Theorems 4.4,4.6 and 4.7, this test case also kills the two LNF mutants Zb + cd and & + cd, the TNF mutant &+ cd and the ENF mutant ab + cd. Furthermore, this same test case (1101) also kills the LIF mutant abd+ cd. According to Theorem 4.2, it also kills the LFW mutants db + cd (in which the literal a has been replaced by d) and ad+ cd (in which the literal b has been replaced by 2). For the rest of the LIF mutants, the test cases 1110, 0111, and 1011 can collectively kill all of the remaining LIF mutants. The four test cases thus form a test set that kills all the LIF, TOF, LRF, LNF, TNF and ENF mutants. On the other hand, altogether there are 4 LOF mutants forab+cd,namely b+cd,a+cd,ab+d,andab+c. The test cases 1001 and 0110 can kill all these LOF mutants. In summary, we have derived six test cases (namely, 1101,1110, 0111,1011,1001 and 0110) which together kill all the LIF, TOF, LRF, TOF, LNF, TNF, and ENF mutants. 0 In the previous example, test cases always exist to detect the non-equivalent mutants. However, for some Boolean expressions, this may not be true. When no test case can kill a particular mutant, the mutant is equivalent to the original Boolean expression. In such a case, the corresponding mutants at the next level up in the hierarchy will have to be considered. This is illustrated in the following example. Example Let us consider the Boolean expression S = abc + abd + 6d+ E. In this example, we shall consider only the first term of S. For other terms of S, the analysis is similar. For the first term, there are 4 LIF mutants, namely, abcd + abd + 6d+ e, abcd+ abd + bd+ E, abce + abd + id+ E, and abce+ abd + bz+ E. A test case can be used to kill the LIF mutants abcd + abd + bd+ E and abce + abd + &d+ E. According to Theorems 4.1 and 4.2, the same test case kills the TOF mutant in which the first term is omitted, as well as the LRF mutants in which any literal in the first term is replaced by either d or Since S is equivalent to the remaining two LIF mutants of the first term (in which the literal d or e has been inserted in the first term), no test cases can be selected to kill them. The fault type immediately above LIF in the hierarchy in Figure 2 is LRF. It is therefore necessary to derive test cases to kill the corresponding LRF mutants in which a literal in the first term has been replaced by d or e. Among these six LRF mutants, the test cases 01101, and can kill five of them. The remaining LRF mutant, a& + ubd + 5J+ E (in which the literal b in the first term has been replaced by z), is equivalent to S. Since test cases can be derived to kill LRF mutants in which the literal a, b or c has been replaced by one of the other literals, all LNF mutants related to the first term (in which any of the literal a, b or c in the first term has been negated) can be killed, according to Theorem 4.4. As a result, the corresponding TNF mutant on the first term and the ENF mutant can be killed. In addition, it happens that the test cases 01101,10111 and can kill all the three LOF mutants related to the first term. In summary, the four test cases , 01101, and can collectively kill all the non-equivalent LIF, TOF, LRF, LOF, LNF, TNF, and ENF mutants related to the first term of S. 0 27
8 6 Summary and Conclusion In this paper, a hierarchy summarizing the relationships among different types of faults for Boolean expressions is established. A test case that detects literal insertion fault can also detect literal reference fault and term omission fault. A test case that detects literal reference fault can also detect literal negation fault. A test case that detects term omission fault can also detect literal negation fault. A test case that detects literal omission fault can also detect literal negation fault. Finally, a test case that detects literal negation fault can also detect term negation fault and expression negation fault. These theoretical results suggest that test cases detecting literal insertion fault can also detect other types of faults, and should therefore be generated as early as possible. Moreover, we have demonstrated how these theoretical results can be applied to generate test cases to kill all related mutants. Our results complement those of Kuhn because Kuhn considers faults that affect (by negating or replacing) all occurrences of a variable, whereas we only consider faults that wrongly implement one occurrence of a literal. Moreover, we study a larger set of possible faults than those of Kuhn. With the identification of more types of faults and the study of how these types of faults are related in the form of a hierarchy, more effective test sets, in the sense of detecting more types of faults, can be derived. Moreover, the hierarchy provides guidelines to the generation of test cases. Specifically, test cases should be generated to detect the types of faults at the lower level of the hierarchy first. In general, this helps to detect all such faults earlier than before. A mutation system is currently being developed to support experimental investigations of the effectiveness and efficiency of the guidelines proposed in this paper. Acknowledgement The work described in this paper is partially supported by a grant from the Research Grants Council of the Hong Kong Special Administrative Region, China (RGC ref. no. CityU 1083/00E). References T. Y. Chen, M. F. Lau, and Y. T. Yu. An empirical evaluation of the MUMCUT strategy for testing Boolean specifications. In Proceedings of the 3rd Annual IASTED International Conference on Software Engineering and Applications (SEA 99), pp , October T. Y. Chen and M. F. Lau. Test case selection strategies based on boolean specifications. To appear in Software Testing, Verijcation and Reliability, J. J. Chilenski and S. P. Miller. Applicability of modified condition/decision coverage to software testing. Software Engineering Jouml, 9(5): , September R. A. DeMillo, R. J. Lipton, and F. G. Sayward. Hints on test data selection: Help for the practicing programmer. Computer, 11(4):34-41, April R. A. DeMillo and A. J. Offutt. Constraint-based automatic test data generation. IEEE Transactions on Software Engineering, 17(9):9W910, September K. A. Foster. Sensitive test data for logic expressions. ACM SIGSOFT Software Engineering Notes, 9(2): , April D. R. Kuhn. Fault classes and emr detection capability of specification-based testing. ACM Transactions on Software Engineering and Methodology, 8(4):411424, K. C. Tai. Condition-based software testing strategies. In Proceedings of COMPSAC 90: the 14-th Annual Intemtional Computer Software and Application Conference, pp , October K. C. Tai. Theory of fault-based predicate testing for computer programs. IEEE Transactions on Software Engineering, 22(8): , August K. C. Tai and H. K. Su. Test generation for boolean expressions. In Proceedings of COMPSAC 87: the 11-th Annual Intemational Computer Software and Application Conference, pp , M. A. Vouk, K. C. Tai, and A. Paradkar. Empirical studies of predicate-based software testing. In Proceedings of IEEE Symposium on Sofrware Reliability Engineering, pp , November E. J. Weyuker, T. Goradia, and A. Singh. Automatically generating test data from a boolean specification. IEEE Transactions on Software Engineering, 20(5): , May
An Empirical Evaluation and Analysis of the Fault-Detection Capability of MUMCUT for General Boolean Expressions *
Postprint of article in Proceedings of the International Computer Symposium (ICS 04), Taipei, Taiwan, pp. 926 932 (2004) An Empirical Evaluation and Analysis of the Fault-Detection Capability of MUMCUT
More informationAn Extended Fault Class Hierarchy for Specification-Based Testing
An Extended Fault Class Hierarchy for Specification-Based Testing MAN F. LAU Swinburne University of Technology and YUEN T. YU City University of Hong Kong Kuhn, followed by Tsuchiya and Kikuno, have developed
More informationGenerating minimal fault detecting test suites for Boolean expressions
Generating minimal fault detecting test suites for Boolean expressions Gordon Fraser Software Engineering Chair Saarland University, Saarbrücken, Germany E-mail: fraser@cs.uni-saarland.de Angelo Gargantini
More informationFault Class Prioritization in Boolean Expressions
Fault Class Prioritization in Boolean Expressions Ziyuan Wang 1,2 Zhenyu Chen 1 Tsong-Yueh Chen 3 Baowen Xu 1,2 1 State Key Laboratory for Novel Software Technology, Nanjing University, Nanjing 210093,
More informationEvaluating and Comparing Fault-Based Testing Strategies for General Boolean Specifications: A Series of Experiments
Evaluating and Comparing Fault-Based Testing Strategies for General Boolean Specifications: A Series of Experiments Chang-ai Sun, Yimeng Zai School of Computer and Communication Engineering University
More informationFAULT BASED TECHNIQUES FOR TESTING BOOLEAN EXPRESSIONS: A SURVEY
FAULT BASED TECHNIQUES FOR TESTING BOOLEAN EXPRESSIONS: A SURVEY 1 Usha Badhera 2 Purohit G.N 3 S.Taruna Computer Science Department, Banasthali University, India 1 ushas133@yahoo.com, 2 gn_purohitjaipur@yahoo.co.in
More informationBOOLEAN SPECIFICATION BASED TESTING TECHNIQUES: A SURVEY
BOOLEAN SPECIFICATION BASED TESTING TECHNIQUES: A SURVEY 1 Usha Badhera 2 Purohit G.N 3 S.Taruna Computer Science Department, Banasthali University, India 1 ushas133@yahoo.com, 2 gn_purohitjaipur@yahoo.co.in
More informationSlide Set 5. for ENEL 353 Fall Steve Norman, PhD, PEng. Electrical & Computer Engineering Schulich School of Engineering University of Calgary
Slide Set 5 for ENEL 353 Fall 207 Steve Norman, PhD, PEng Electrical & Computer Engineering Schulich School of Engineering University of Calgary Fall Term, 207 SN s ENEL 353 Fall 207 Slide Set 5 slide
More informationGenerating Minimal Fault Detecting Test Suites for General Boolean Specications
Generating Minimal Fault Detecting Test Suites for General Boolean Specications Angelo Gargantini a,, Gordon Fraser b a Dip. di Ing. dell'informazione e Metodi Mat., University of Bergamo, Dalmine, Italy
More informationFault Evaluator Engine Expression DB Test DB Fault Generator Results Compact Windows Summary Window Detail Window Output Files CSV HTML Main Class Inp
Fault Evaluator: A Tool for Experimental Investigation of Effectiveness in Software Testing William Jenkins, Sergiy Vilkomir, William Ballance Department of Computer Science East Carolina University Greenville,
More informationIn past decades, researchers, and engineers have endeavored
Postprint of article in IEEE Transactions on Software Engineering 37 (5): 616 634 (2011) A Comparison of Tabular Expression-Based Testing Strategies Xin Feng, David Lorge Parnas, Fellow, IEEE, T. H. Tse,
More informationFault propagation in tabular expression-based specifications
Title Fault propagation in tabular expression-based specifications Authors) Feng, X; Parnas, DL; Tse, TH Citation The 32nd Annual IEEE International Computer Software and Applications Conference COMPSAC
More informationCHAPTER-2 STRUCTURE OF BOOLEAN FUNCTION USING GATES, K-Map and Quine-McCluskey
CHAPTER-2 STRUCTURE OF BOOLEAN FUNCTION USING GATES, K-Map and Quine-McCluskey 2. Introduction Logic gates are connected together to produce a specified output for certain specified combinations of input
More informationSoftware Testing. 1. Testing is the process of demonstrating that errors are not present.
What is Testing? Software Testing Many people understand many definitions of testing :. Testing is the process of demonstrating that errors are not present.. The purpose of testing is to show that a program
More informationClass-Component Testability Analysis
Class-Component Testability Analysis SUPAPORN KANSOMKEAT Faculty of Engineering, Chulalongkorn University Bangkok, 10330, THAILAND WANCHAI RIVEPIBOON Faculty of Engineering, Chulalongkorn University Bangkok,
More informationGate Level Minimization Map Method
Gate Level Minimization Map Method Complexity of hardware implementation is directly related to the complexity of the algebraic expression Truth table representation of a function is unique Algebraically
More informationIT 201 Digital System Design Module II Notes
IT 201 Digital System Design Module II Notes BOOLEAN OPERATIONS AND EXPRESSIONS Variable, complement, and literal are terms used in Boolean algebra. A variable is a symbol used to represent a logical quantity.
More informationBCNF. Yufei Tao. Department of Computer Science and Engineering Chinese University of Hong Kong BCNF
Yufei Tao Department of Computer Science and Engineering Chinese University of Hong Kong Recall A primary goal of database design is to decide what tables to create. Usually, there are two principles:
More informationCSCI 220: Computer Architecture I Instructor: Pranava K. Jha. Simplification of Boolean Functions using a Karnaugh Map
CSCI 22: Computer Architecture I Instructor: Pranava K. Jha Simplification of Boolean Functions using a Karnaugh Map Q.. Plot the following Boolean function on a Karnaugh map: f(a, b, c, d) = m(, 2, 4,
More informationUNIT II. Circuit minimization
UNIT II Circuit minimization The complexity of the digital logic gates that implement a Boolean function is directly related to the complexity of the algebraic expression from which the function is implemented.
More informationNP-Completeness of 3SAT, 1-IN-3SAT and MAX 2SAT
NP-Completeness of 3SAT, 1-IN-3SAT and MAX 2SAT 3SAT The 3SAT problem is the following. INSTANCE : Given a boolean expression E in conjunctive normal form (CNF) that is the conjunction of clauses, each
More informationDKT 122/3 DIGITAL SYSTEM 1
Company LOGO DKT 122/3 DIGITAL SYSTEM 1 BOOLEAN ALGEBRA (PART 2) Boolean Algebra Contents Boolean Operations & Expression Laws & Rules of Boolean algebra DeMorgan s Theorems Boolean analysis of logic circuits
More informationPart I: Preliminaries 24
Contents Preface......................................... 15 Acknowledgements................................... 22 Part I: Preliminaries 24 1. Basics of Software Testing 25 1.1. Humans, errors, and testing.............................
More informationTEST CASE EFFECTIVENESS OF HIGHER ORDER MUTATION TESTING
TEST CASE EFFECTIVENESS OF HIGHER ORDER MUTATION TESTING Shalini Kapoor CSE Deptt, GNI, Mullana get_shalini@rediffmail.com Abstract--- Effectiveness means how good a test case is in finding faults. Traditional
More information2.6 BOOLEAN FUNCTIONS
2.6 BOOLEAN FUNCTIONS Binary variables have two values, either 0 or 1. A Boolean function is an expression formed with binary variables, the two binary operators AND and OR, one unary operator NOT, parentheses
More information2. BOOLEAN ALGEBRA 2.1 INTRODUCTION
2. BOOLEAN ALGEBRA 2.1 INTRODUCTION In the previous chapter, we introduced binary numbers and binary arithmetic. As you saw in binary arithmetic and in the handling of floating-point numbers, there is
More informationImpact of Dependency Graph in Software Testing
Impact of Dependency Graph in Software Testing Pardeep Kaur 1, Er. Rupinder Singh 2 1 Computer Science Department, Chandigarh University, Gharuan, Punjab 2 Assistant Professor, Computer Science Department,
More informationBoolean Analysis of Logic Circuits
Course: B.Sc. Applied Physical Science (Computer Science) Year & Sem.: IInd Year, Sem - IIIrd Subject: Computer Science Paper No.: IX Paper Title: Computer System Architecture Lecture No.: 7 Lecture Title:
More informationDIGITAL ARITHMETIC: OPERATIONS AND CIRCUITS
C H A P T E R 6 DIGITAL ARITHMETIC: OPERATIONS AND CIRCUITS OUTLINE 6- Binary Addition 6-2 Representing Signed Numbers 6-3 Addition in the 2 s- Complement System 6-4 Subtraction in the 2 s- Complement
More informationCode No: R Set No. 1
Code No: R059210504 Set No. 1 II B.Tech I Semester Regular Examinations, November 2006 DIGITAL LOGIC DESIGN ( Common to Computer Science & Engineering, Information Technology and Computer Science & Systems
More informationCS Bootcamp Boolean Logic Autumn 2015 A B A B T T T T F F F T F F F F T T T T F T F T T F F F
1 Logical Operations 1.1 And The and operator is a binary operator, denoted as, &,, or sometimes by just concatenating symbols, is true only if both parameters are true. A B A B F T F F F F The expression
More informationPROPERTIES OF TRIANGLES AND QUADRILATERALS (plus polygons in general)
Mathematics Revision Guides Properties of Triangles, Quadrilaterals and Polygons Page 1 of 15 M.K. HOME TUITION Mathematics Revision Guides Level: GCSE Foundation Tier PROPERTIES OF TRIANGLES AND QUADRILATERALS
More informationADDICT: A Prototype System for Automated Test Data Generation Using the Integrated Classification-Tree Methodology
To appear in the Proceeedings of the 1st ACIS International Conference on Software Engineering Research and Applications (SERA 2003), International Association for Computer and Information Science Mt.
More informationELCT201: DIGITAL LOGIC DESIGN
ELCT201: DIGITAL LOGIC DESIGN Dr. Eng. Haitham Omran, haitham.omran@guc.edu.eg Dr. Eng. Wassim Alexan, wassim.joseph@guc.edu.eg Lecture 3 Following the slides of Dr. Ahmed H. Madian ذو الحجة 1438 ه Winter
More informationA B AB CD Objectives:
Objectives:. Four variables maps. 2. Simplification using prime implicants. 3. "on t care" conditions. 4. Summary.. Four variables Karnaugh maps Minterms A A m m m3 m2 A B C m4 C A B C m2 m8 C C m5 C m3
More informationTheoretical Computer Science
Theoretical Computer Science 410 (2009) 3372 3390 Contents lists available at ScienceDirect Theoretical Computer Science journal homepage: www.elsevier.com/locate/tcs An (18/11)n upper bound for sorting
More informationChapter 3. Gate-Level Minimization. Outlines
Chapter 3 Gate-Level Minimization Introduction The Map Method Four-Variable Map Five-Variable Map Outlines Product of Sums Simplification Don t-care Conditions NAND and NOR Implementation Other Two-Level
More informationSlides for Lecture 15
Slides for Lecture 5 ENEL 353: Digital Circuits Fall 203 Term Steve Norman, PhD, PEng Electrical & Computer Engineering Schulich School of Engineering University of Calgary October, 203 ENEL 353 F3 Section
More informationApplying Mutation Testing to XML Schemas
Applying Mutation Testing to XML Schemas Ledyvânia Franzotte Silvia Regina Vergilio ledyvania@inf.ufpr.br silvia@inf.ufpr.br Computer Science Department, CP: 19081, 81531-970 Federal University of Paraná
More informationIntroduction to Computer Architecture
Boolean Operators The Boolean operators AND and OR are binary infix operators (that is, they take two arguments, and the operator appears between them.) A AND B D OR E We will form Boolean Functions of
More information(Refer Slide Time 6:48)
Digital Circuits and Systems Prof. S. Srinivasan Department of Electrical Engineering Indian Institute of Technology Madras Lecture - 8 Karnaugh Map Minimization using Maxterms We have been taking about
More informationChapter 3. Describing Syntax and Semantics
Chapter 3 Describing Syntax and Semantics Chapter 3 Topics Introduction The General Problem of Describing Syntax Formal Methods of Describing Syntax Attribute Grammars Describing the Meanings of Programs:
More informationGet Free notes at Module-I One s Complement: Complement all the bits.i.e. makes all 1s as 0s and all 0s as 1s Two s Complement: One s complement+1 SIGNED BINARY NUMBERS Positive integers (including zero)
More informationReview of Regression Test Case Selection Techniques
Review of Regression Test Case Selection Manisha Rani CSE Department, DeenBandhuChhotu Ram University of Science and Technology, Murthal, Haryana, India Ajmer Singh CSE Department, DeenBandhuChhotu Ram
More informationNP versus PSPACE. Frank Vega. To cite this version: HAL Id: hal https://hal.archives-ouvertes.fr/hal
NP versus PSPACE Frank Vega To cite this version: Frank Vega. NP versus PSPACE. Preprint submitted to Theoretical Computer Science 2015. 2015. HAL Id: hal-01196489 https://hal.archives-ouvertes.fr/hal-01196489
More informationELCT201: DIGITAL LOGIC DESIGN
ELCT201: DIGITAL LOGIC DESIGN Dr. Eng. Haitham Omran, haitham.omran@guc.edu.eg Dr. Eng. Wassim Alexan, wassim.joseph@guc.edu.eg Lecture 3 Following the slides of Dr. Ahmed H. Madian محرم 1439 ه Winter
More informationUsing Mutation to Automatically Suggest Fixes for Faulty Programs
2010 Third International Conference on Software Testing, Verification and Validation Using Mutation to Automatically Suggest Fixes for Faulty Programs Vidroha Debroy and W. Eric Wong Department of Computer
More informationIMPACT OF DEPENDENCY GRAPH IN SOFTWARE TESTING
IMPACT OF DEPENDENCY GRAPH IN SOFTWARE TESTING Pardeep kaur 1 and Er. Rupinder Singh 2 1 Research Scholar, Dept. of Computer Science and Engineering, Chandigarh University, Gharuan, India (Email: Pardeepdharni664@gmail.com)
More informationThis Lecture. We will first introduce some basic set theory before we do counting. Basic Definitions. Operations on Sets.
Sets A B C This Lecture We will first introduce some basic set theory before we do counting. Basic Definitions Operations on Sets Set Identities Defining Sets Definition: A set is an unordered collection
More informationDLD VIDYA SAGAR P. potharajuvidyasagar.wordpress.com. Vignana Bharathi Institute of Technology UNIT 3 DLD P VIDYA SAGAR
DLD UNIT III Combinational Circuits (CC), Analysis procedure, Design Procedure, Combinational circuit for different code converters and other problems, Binary Adder- Subtractor, Decimal Adder, Binary Multiplier,
More informationHours / 100 Marks Seat No.
17333 13141 3 Hours / 100 Seat No. Instructions (1) All Questions are Compulsory. (2) Answer each next main Question on a new page. (3) Illustrate your answers with neat sketches wherever necessary. (4)
More informationAssignment (3-6) Boolean Algebra and Logic Simplification - General Questions
Assignment (3-6) Boolean Algebra and Logic Simplification - General Questions 1. Convert the following SOP expression to an equivalent POS expression. 2. Determine the values of A, B, C, and D that make
More informationIntegrating White- and Black-Box Techniques for Class-Level Regression Testing
Integrating White- and Black-Box Techniques for Class-Level Regression Testing Sami Beydeda, Volker Gruhn University of Dortmund Computer Science Department Software Technology 44221 Dortmund, Germany
More informationLSN 4 Boolean Algebra & Logic Simplification. ECT 224 Digital Computer Fundamentals. Department of Engineering Technology
LSN 4 Boolean Algebra & Logic Simplification Department of Engineering Technology LSN 4 Key Terms Variable: a symbol used to represent a logic quantity Compliment: the inverse of a variable Literal: a
More informationNim-Regularity of Graphs
Nim-Regularity of Graphs Nathan Reading School of Mathematics, University of Minnesota Minneapolis, MN 55455 reading@math.umn.edu Submitted: November 24, 1998; Accepted: January 22, 1999 Abstract. Ehrenborg
More informationIntroduction. The Quine-McCluskey Method Handout 5 January 24, CSEE E6861y Prof. Steven Nowick
CSEE E6861y Prof. Steven Nowick The Quine-McCluskey Method Handout 5 January 24, 2013 Introduction The Quine-McCluskey method is an exact algorithm which finds a minimum-cost sum-of-products implementation
More informationCMPSCI 521/621 Homework 2 Solutions
CMPSCI 521/621 Homework 2 Solutions Problem 1 Direct data dependencies: 3 is directly data dependent on 1 and 5 5 is directly data dependent on 1,3, and 5 7 is directly data dependent on 1,3, and 5 Note,
More informationPropositional Logic. Part I
Part I Propositional Logic 1 Classical Logic and the Material Conditional 1.1 Introduction 1.1.1 The first purpose of this chapter is to review classical propositional logic, including semantic tableaux.
More informationBootcamp. Christoph Thiele. Summer An example of a primitive universe
Bootcamp Christoph Thiele Summer 2012 0.1 An example of a primitive universe A primitive universe consists of primitive objects and primitive sets. This allows to form primitive statements as to which
More informationLiteral Cost F = BD + A B C + A C D F = BD + A B C + A BD + AB C F = (A + B)(A + D)(B + C + D )( B + C + D) L = 10
Circuit Optimization Goal: To obtain the simplest implementation for a given function Optimization is a more formal approach to simplification that is performed using a specific procedure or algorithm
More informationSwitching Circuits & Logic Design
Switching Circuits & Logic Design Jie-Hong Roland Jiang 江介宏 Department of Electrical Engineering National Taiwan University Fall 23 5 Karnaugh Maps K-map Walks and Gray Codes http://asicdigitaldesign.wordpress.com/28/9/26/k-maps-walks-and-gray-codes/
More informationChapter 2 Combinational Logic Circuits
Logic and Computer Design Fundamentals Chapter 2 Combinational Logic Circuits Part 2 Circuit Optimization Overview Part Gate Circuits and Boolean Equations Binary Logic and Gates Boolean Algebra Standard
More informationPROPERTIES OF TRIANGLES AND QUADRILATERALS
Mathematics Revision Guides Properties of Triangles, Quadrilaterals and Polygons Page 1 of 22 M.K. HOME TUITION Mathematics Revision Guides Level: GCSE Higher Tier PROPERTIES OF TRIANGLES AND QUADRILATERALS
More informationCombinational Logic Circuits
Chapter 2 Combinational Logic Circuits J.J. Shann (Slightly trimmed by C.P. Chung) Chapter Overview 2-1 Binary Logic and Gates 2-2 Boolean Algebra 2-3 Standard Forms 2-4 Two-Level Circuit Optimization
More informationSFWR ENG 3S03: Software Testing
(Slide 1 of 52) Dr. Ridha Khedri Department of Computing and Software, McMaster University Canada L8S 4L7, Hamilton, Ontario Acknowledgments: Material based on [?] Techniques (Slide 2 of 52) 1 2 3 4 Empirical
More informationMSc Software Testing MSc Prófun hugbúnaðar
MSc Software Testing MSc Prófun hugbúnaðar Fyrirlestrar 7 & 8 Structural Testing White-box tests. 29/8/27 Dr Andy Brooks 1 Case Study Dæmisaga Reference Structural Testing of Programs, A Survey, A A Omar
More information(Refer Slide Time 3:31)
Digital Circuits and Systems Prof. S. Srinivasan Department of Electrical Engineering Indian Institute of Technology Madras Lecture - 5 Logic Simplification In the last lecture we talked about logic functions
More informationAn Automatic Test Case Generator for Testing Safety-Critical Software Systems
An Automatic Test Case Generator for Testing Safety-Critical Software Systems Mehdi Malekzadeh Faculty of Computer Science and IT University of Malaya Kuala Lumpur, Malaysia mehdi_malekzadeh@perdana.um.edu.my
More informationCSC 501 Semantics of Programming Languages
CSC 501 Semantics of Programming Languages Subtitle: An Introduction to Formal Methods. Instructor: Dr. Lutz Hamel Email: hamel@cs.uri.edu Office: Tyler, Rm 251 Books There are no required books in this
More informationMSc Software Testing and Maintenance MSc Prófun og viðhald hugbúnaðar
MSc Software Testing and Maintenance MSc Prófun og viðhald hugbúnaðar Fyrirlestrar 31 & 32 Structural Testing White-box tests. 27/1/25 Dr Andy Brooks 1 Case Study Dæmisaga Reference Structural Testing
More informationSpecifying logic functions
CSE4: Components and Design Techniques for Digital Systems Specifying logic functions Instructor: Mohsen Imani Slides from: Prof.Tajana Simunic and Dr.Pietro Mercati We have seen various concepts: Last
More informationAssociative Operations on a Three-Element Set
The Mathematics Enthusiast Volume 5 Number 2 Numbers 2 & 3 Article 9 7-2008 Associative Operations on a Three-Element Set Friðrik Diego Kristín Halla Jónsdóttir Let us know how access to this document
More informationComplexity Classes and Polynomial-time Reductions
COMPSCI 330: Design and Analysis of Algorithms April 19, 2016 Complexity Classes and Polynomial-time Reductions Lecturer: Debmalya Panigrahi Scribe: Tianqi Song 1 Overview In this lecture, we introduce
More informationTo prove something about all Boolean expressions, we will need the following induction principle: Axiom 7.1 (Induction over Boolean expressions):
CS 70 Discrete Mathematics for CS Fall 2003 Wagner Lecture 7 This lecture returns to the topic of propositional logic. Whereas in Lecture 1 we studied this topic as a way of understanding proper reasoning
More informationH. W. Kuhn. Bryn Mawr College
VARIANTS OF THE HUNGARIAN METHOD FOR ASSIGNMENT PROBLEMS' H. W. Kuhn Bryn Mawr College The author presents a geometrical modelwhich illuminates variants of the Hungarian method for the solution of the
More informationDefect Tolerance in VLSI Circuits
Defect Tolerance in VLSI Circuits Prof. Naga Kandasamy We will consider the following redundancy techniques to tolerate defects in VLSI circuits. Duplication with complementary logic (physical redundancy).
More informationCS/ECE 374 Fall Homework 1. Due Tuesday, September 6, 2016 at 8pm
CSECE 374 Fall 2016 Homework 1 Due Tuesday, September 6, 2016 at 8pm Starting with this homework, groups of up to three people can submit joint solutions. Each problem should be submitted by exactly one
More informationTo prove something about all Boolean expressions, we will need the following induction principle: Axiom 7.1 (Induction over Boolean expressions):
CS 70 Discrete Mathematics for CS Spring 2005 Clancy/Wagner Notes 7 This lecture returns to the topic of propositional logic. Whereas in Lecture Notes 1 we studied this topic as a way of understanding
More informationarxiv: v4 [math.co] 25 Apr 2010
QUIVERS OF FINITE MUTATION TYPE AND SKEW-SYMMETRIC MATRICES arxiv:0905.3613v4 [math.co] 25 Apr 2010 AHMET I. SEVEN Abstract. Quivers of finite mutation type are certain directed graphs that first arised
More informationEfficient Prefix Computation on Faulty Hypercubes
JOURNAL OF INFORMATION SCIENCE AND ENGINEERING 17, 1-21 (21) Efficient Prefix Computation on Faulty Hypercubes YU-WEI CHEN AND KUO-LIANG CHUNG + Department of Computer and Information Science Aletheia
More informationBottom-up Integration Testing with the Technique of Metamorphic Testing
2014 14th International Conference on Quality Software Bottom-up Integration Testing with the Technique of Metamorphic Testing Xiaoyuan Xie 1,2, Jingxuan Tu 2, Tsong Yueh Chen 1, Baowen Xu 2 1 Department
More informationCS40-S13: Functional Completeness
CS40-S13: Functional Completeness Victor Amelkin victor@cs.ucsb.edu April 12, 2013 In class, we have briefly discussed what functional completeness means and how to prove that a certain system (a set)
More informationHyper-Butterfly Network: A Scalable Optimally Fault Tolerant Architecture
Hyper-Butterfly Network: A Scalable Optimally Fault Tolerant Architecture Wei Shi and Pradip K Srimani Department of Computer Science Colorado State University Ft. Collins, CO 80523 Abstract Bounded degree
More informationLogic Design: Part 2
Orange Coast College Business Division Computer Science Department CS 6- Computer Architecture Logic Design: Part 2 Where are we? Number systems Decimal Binary (and related Octal and Hexadecimal) Binary
More informationCS 395T Computational Learning Theory. Scribe: Wei Tang
CS 395T Computational Learning Theory Lecture 1: September 5th, 2007 Lecturer: Adam Klivans Scribe: Wei Tang 1.1 Introduction Many tasks from real application domain can be described as a process of learning.
More informationSCHOOL OF ENGINEERING & BUILT ENVIRONMENT. Mathematics. Numbers & Number Systems
SCHOOL OF ENGINEERING & BUILT ENVIRONMENT Mathematics Numbers & Number Systems Introduction Numbers and Their Properties Multiples and Factors The Division Algorithm Prime and Composite Numbers Prime Factors
More informationAgreedy approximation for minimum connected dominating sets
Theoretical Computer Science 329 2004) 325 330 www.elsevier.com/locate/tcs Note Agreedy approximation for minimum connected dominating sets Lu Ruan a, Hongwei Du b, Xiaohua Jia b,,1, Weili Wu c,1,2, Yingshu
More informationUnit-IV Boolean Algebra
Unit-IV Boolean Algebra Boolean Algebra Chapter: 08 Truth table: Truth table is a table, which represents all the possible values of logical variables/statements along with all the possible results of
More informationChapter 2 Combinational Logic Circuits
Logic and Computer Design Fundamentals Chapter 2 Combinational Logic Circuits Part 2 Circuit Optimization Charles Kime & Thomas Kaminski 2008 Pearson Education, Inc. (Hyperlinks are active in View Show
More informationChapter 2 Combinational
Computer Engineering 1 (ECE290) Chapter 2 Combinational Logic Circuits Part 2 Circuit Optimization HOANG Trang 2008 Pearson Education, Inc. Overview Part 1 Gate Circuits and Boolean Equations Binary Logic
More informationDECISION TREE INDUCTION USING ROUGH SET THEORY COMPARATIVE STUDY
DECISION TREE INDUCTION USING ROUGH SET THEORY COMPARATIVE STUDY Ramadevi Yellasiri, C.R.Rao 2,Vivekchan Reddy Dept. of CSE, Chaitanya Bharathi Institute of Technology, Hyderabad, INDIA. 2 DCIS, School
More informationModule -7. Karnaugh Maps
1 Module -7 Karnaugh Maps 1. Introduction 2. Canonical and Standard forms 2.1 Minterms 2.2 Maxterms 2.3 Canonical Sum of Product or Sum-of-Minterms (SOM) 2.4 Canonical product of sum or Product-of-Maxterms(POM)
More informationHelping the Tester Get it Right: Towards Supporting Agile Combinatorial Test Design
Helping the Tester Get it Right: Towards Supporting Agile Combinatorial Test Design Anna Zamansky 1 and Eitan Farchi 2 1 University of Haifa, Israel 2 IBM Haifa Research Lab, Israel Abstract. Combinatorial
More information1 Triangle ABC is graphed on the set of axes below. 3 As shown in the diagram below, EF intersects planes P, Q, and R.
1 Triangle ABC is graphed on the set of axes below. 3 As shown in the diagram below, EF intersects planes P, Q, and R. Which transformation produces an image that is similar to, but not congruent to, ABC?
More informationCOPYRIGHTED MATERIAL. Number Systems. 1.1 Analogue Versus Digital
1 Number Systems The study of number systems is important from the viewpoint of understanding how data are represented before they can be processed by any digital system including a digital computer. It
More informationComment Extraction from Blog Posts and Its Applications to Opinion Mining
Comment Extraction from Blog Posts and Its Applications to Opinion Mining Huan-An Kao, Hsin-Hsi Chen Department of Computer Science and Information Engineering National Taiwan University, Taipei, Taiwan
More information9 abcd = dcba b + 90c = c + 10b b = 10c.
In this session, we ll learn how to solve problems related to place value. This is one of the fundamental concepts in arithmetic, something every elementary and middle school mathematics teacher should
More informationarxiv:cs/ v2 [cs.cr] 27 Aug 2006
On the security of the Yen-Guo s domino signal encryption algorithm (DSEA) arxiv:cs/0501013v2 [cs.cr] 27 Aug 2006 Chengqing Li a, Shujun Li b, Der-Chyuan Lou c and Dan Zhang d a Department of Mathematics,
More informationHybrid Electronics Laboratory
Hybrid Electronics Laboratory Design and Simulation of Various Code Converters Aim: To Design and Simulate Binary to Gray, Gray to Binary, BCD to Excess 3, Excess 3 to BCD code converters. Objectives:
More informationMarket baskets Frequent itemsets FP growth. Data mining. Frequent itemset Association&decision rule mining. University of Szeged.
Frequent itemset Association&decision rule mining University of Szeged What frequent itemsets could be used for? Features/observations frequently co-occurring in some database can gain us useful insights
More information