On the Relationships of Faults for Boolean Specification Based Testing

Size: px
Start display at page:

Download "On the Relationships of Faults for Boolean Specification Based Testing"

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 *

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 information

An Extended Fault Class Hierarchy for Specification-Based Testing

An 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 information

Generating minimal fault detecting test suites for Boolean expressions

Generating 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 information

Fault Class Prioritization in Boolean Expressions

Fault 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 information

Evaluating 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 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 information

FAULT BASED TECHNIQUES FOR TESTING BOOLEAN EXPRESSIONS: A SURVEY

FAULT 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 information

BOOLEAN SPECIFICATION BASED TESTING TECHNIQUES: A SURVEY

BOOLEAN 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 information

Slide 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 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 information

Generating Minimal Fault Detecting Test Suites for General Boolean Specications

Generating 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 information

Fault Evaluator Engine Expression DB Test DB Fault Generator Results Compact Windows Summary Window Detail Window Output Files CSV HTML Main Class Inp

Fault 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 information

In past decades, researchers, and engineers have endeavored

In 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 information

Fault propagation in tabular expression-based specifications

Fault 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 information

CHAPTER-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 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 information

Software Testing. 1. Testing is the process of demonstrating that errors are not present.

Software 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 information

Class-Component Testability Analysis

Class-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 information

Gate Level Minimization Map Method

Gate 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 information

IT 201 Digital System Design Module II Notes

IT 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 information

BCNF. Yufei Tao. Department of Computer Science and Engineering Chinese University of Hong Kong BCNF

BCNF. 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 information

CSCI 220: Computer Architecture I Instructor: Pranava K. Jha. Simplification of Boolean Functions using a Karnaugh Map

CSCI 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 information

UNIT II. Circuit minimization

UNIT 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 information

NP-Completeness of 3SAT, 1-IN-3SAT and MAX 2SAT

NP-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 information

DKT 122/3 DIGITAL SYSTEM 1

DKT 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 information

Part I: Preliminaries 24

Part 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 information

TEST CASE EFFECTIVENESS OF HIGHER ORDER MUTATION TESTING

TEST 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 information

2.6 BOOLEAN FUNCTIONS

2.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 information

2. BOOLEAN ALGEBRA 2.1 INTRODUCTION

2. 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 information

Impact of Dependency Graph in Software Testing

Impact 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 information

Boolean Analysis of Logic Circuits

Boolean 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 information

DIGITAL ARITHMETIC: OPERATIONS AND CIRCUITS

DIGITAL 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 information

Code No: R Set No. 1

Code 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 information

CS 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

CS 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 information

PROPERTIES OF TRIANGLES AND QUADRILATERALS (plus polygons in general)

PROPERTIES 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 information

ADDICT: A Prototype System for Automated Test Data Generation Using the Integrated Classification-Tree Methodology

ADDICT: 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 information

ELCT201: DIGITAL LOGIC DESIGN

ELCT201: 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 information

A B AB CD Objectives:

A 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 information

Theoretical Computer Science

Theoretical 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 information

Chapter 3. Gate-Level Minimization. Outlines

Chapter 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 information

Slides for Lecture 15

Slides 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 information

Applying Mutation Testing to XML Schemas

Applying 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 information

Introduction to Computer Architecture

Introduction 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)

(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 information

Chapter 3. Describing Syntax and Semantics

Chapter 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 information

Get 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 information

Review of Regression Test Case Selection Techniques

Review 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 information

NP 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: 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 information

ELCT201: DIGITAL LOGIC DESIGN

ELCT201: 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 information

Using Mutation to Automatically Suggest Fixes for Faulty Programs

Using 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 information

IMPACT OF DEPENDENCY GRAPH IN SOFTWARE TESTING

IMPACT 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 information

This Lecture. We will first introduce some basic set theory before we do counting. Basic Definitions. Operations on Sets.

This 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 information

DLD VIDYA SAGAR P. potharajuvidyasagar.wordpress.com. Vignana Bharathi Institute of Technology UNIT 3 DLD P VIDYA SAGAR

DLD 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 information

Hours / 100 Marks Seat No.

Hours / 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 information

Assignment (3-6) Boolean Algebra and Logic Simplification - General Questions

Assignment (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 information

Integrating White- and Black-Box Techniques for Class-Level Regression Testing

Integrating 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 information

LSN 4 Boolean Algebra & Logic Simplification. ECT 224 Digital Computer Fundamentals. Department of Engineering Technology

LSN 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 information

Nim-Regularity of Graphs

Nim-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 information

Introduction. The Quine-McCluskey Method Handout 5 January 24, CSEE E6861y Prof. Steven Nowick

Introduction. 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 information

CMPSCI 521/621 Homework 2 Solutions

CMPSCI 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 information

Propositional Logic. Part I

Propositional 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 information

Bootcamp. Christoph Thiele. Summer An example of a primitive universe

Bootcamp. 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 information

Literal 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

Literal 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 information

Switching Circuits & Logic Design

Switching 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 information

Chapter 2 Combinational Logic Circuits

Chapter 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 information

PROPERTIES OF TRIANGLES AND QUADRILATERALS

PROPERTIES 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 information

Combinational Logic Circuits

Combinational 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 information

SFWR ENG 3S03: Software Testing

SFWR 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 information

MSc Software Testing MSc Prófun hugbúnaðar

MSc 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)

(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 information

An Automatic Test Case Generator for Testing Safety-Critical Software Systems

An 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 information

CSC 501 Semantics of Programming Languages

CSC 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 information

MSc 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 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 information

Specifying logic functions

Specifying 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 information

Associative Operations on a Three-Element Set

Associative 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 information

Complexity Classes and Polynomial-time Reductions

Complexity 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 information

To prove something about all Boolean expressions, we will need the following induction principle: Axiom 7.1 (Induction over Boolean expressions):

To 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 information

H. W. Kuhn. Bryn Mawr College

H. 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 information

Defect Tolerance in VLSI Circuits

Defect 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 information

CS/ECE 374 Fall Homework 1. Due Tuesday, September 6, 2016 at 8pm

CS/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 information

To prove something about all Boolean expressions, we will need the following induction principle: Axiom 7.1 (Induction over Boolean expressions):

To 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 information

arxiv: v4 [math.co] 25 Apr 2010

arxiv: 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 information

Efficient Prefix Computation on Faulty Hypercubes

Efficient 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 information

Bottom-up Integration Testing with the Technique of Metamorphic Testing

Bottom-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 information

CS40-S13: Functional Completeness

CS40-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 information

Hyper-Butterfly Network: A Scalable Optimally Fault Tolerant Architecture

Hyper-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 information

Logic Design: Part 2

Logic 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 information

CS 395T Computational Learning Theory. Scribe: Wei Tang

CS 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 information

SCHOOL OF ENGINEERING & BUILT ENVIRONMENT. Mathematics. Numbers & Number Systems

SCHOOL 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 information

Agreedy approximation for minimum connected dominating sets

Agreedy 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 information

Unit-IV Boolean Algebra

Unit-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 information

Chapter 2 Combinational Logic Circuits

Chapter 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 information

Chapter 2 Combinational

Chapter 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 information

DECISION TREE INDUCTION USING ROUGH SET THEORY COMPARATIVE STUDY

DECISION 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 information

Module -7. Karnaugh Maps

Module -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 information

Helping the Tester Get it Right: Towards Supporting Agile Combinatorial Test Design

Helping 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 information

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.

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. 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 information

COPYRIGHTED MATERIAL. Number Systems. 1.1 Analogue Versus Digital

COPYRIGHTED 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 information

Comment Extraction from Blog Posts and Its Applications to Opinion Mining

Comment 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 information

9 abcd = dcba b + 90c = c + 10b b = 10c.

9 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 information

arxiv:cs/ v2 [cs.cr] 27 Aug 2006

arxiv: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 information

Hybrid Electronics Laboratory

Hybrid 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 information

Market baskets Frequent itemsets FP growth. Data mining. Frequent itemset Association&decision rule mining. University of Szeged.

Market 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