The Relationship between Slices and Module Cohesion

Size: px
Start display at page:

Download "The Relationship between Slices and Module Cohesion"

Transcription

1 The Relationship between Slices and Module Cohesion Linda M. Ott Jeffrey J. Thusst Department of Computer Science Michigan Technological University Houghton, M Abstract High module cohesion is often suggested as a desirable property of program modularity. The subjective nature of the definition of cohesion, however, can make it difficult to use in practice. n this paper, we examine the relationship between the data flow in a module and its level of cohesion using aprocessing element jow graph (PFG). Based on these PFG's, we regroup the original seven levels of cohesion into four classifications. Slice profiles are then defined by generating slices for all output iables of a module. A relationship is then shown between these slice profiles and the PFG used to indicate levels of cohesion. t is suggested that these slice profiles can be used to determine more easily the cohesiveness of a module.. ntroduction The psychological coniplexity of software is a measure of how difficult it is for programmers to interact with the software []. t is inted to reflect how well the software is written in terms of understandability, testability, and maintainability. These concepts have been identified by Boehm [l] as essential in the development of high quality software. The decomposition of a system into modules can significantly reduce psychological complexity. Myers [ 0 states that "modularity is the single attribute of software that allows a program to be intellectually manageable." Studies have been completed which indicate that size is a major factor in software complexity [,,8]. Modularity offers a rational solution by breaking up large problems into several smaller, more manageable pieces. Constantine and Yourdon have identified two qualitative properties of effective modularization, one of which is cohesion. Cohesion is often referred to as "module strength," "binding," or "functionality." The highest degree of cohesion is obtained in a module which performs exactly one task. Cohesion, as defined, is a subjective measure requiring an interpretation of the informal definitions provided by Constantine and Yourdon. Several attempts have been made to make this subjective concept more precise. These include the suggested use of a decision tree as proposed by Page Jones [ll] and attempts to find quantitative cohesion metrics [7,]. t Current address: Autotrol Technology, 00 Washington St., Denver, CO 80 Permission to copy without fee all or part of this material is granted provided that the copies are not made or distributed for direct commercial advantage, the ACM copyright notice and the title of the publication and its date appear, and notice is given that copying is by permission of the Association for Computing Machinery. To copy otherwise, or to republish, requires a fee and/or specfic permission. The aim of this paper is to show that the degree of cohesiveness of a module can be seen by examining slices [. generated from the output iables of the module. n section, we will discuss cohesion and provide a simplification of the metric based on examining the relationships among the processing elements of the module using aprocessing elementflow graph (PFG). Section contains a brief description of slicing and presents a slice profile. n section, example slice profiles are examined to show how they can indicate the relationship among the processing elements of the module and, hence, the cohesiveness of the module. Finally, in section, we discuss further implications of this relationship.. Cohesion Constantine and Yourdon [] have identified seven levels of modular cohesion. t is proposed as a subjective measure of the "intramodular functional relatedness" of a software module. A module is viewed as a collection of processing elements which act together to compute the outputs of the module. Cohesion reflects the functionality of a module by measuring the degree of relatedness among the processing elements within the module. Modules with low cohesion consist of two or more unrelated processing elements. High cohesion modules consist of a single processing element or a collection of highly related elements. The seven levels of cohesion as originally defined are functional, sequential, communicational, procedural, temporal, logical and coincidental. n practice, this degree of discrimination is not necessary. For the purposes of this study, we regrouped the seven categories into four levels of cohesion based on similarities seen when using processing element flow graphs []. (Others, e.g., Emerson [7] and Card [] have used three levels of discrimination in their work.) Nodes in a processing element Jlow graph (PFG) represent the processing elements within a module. Solid edges indicate data flow relationships among the processing elements. Control relationships among the elements are not indicated, but they can have an effect on how the graphs are constructed. An example of this effect is discussed in Section.. Two special nodes, labeled nputs and Outputs, represent the set of input iables used by the module and the set of output iables computed by the module, respectively. These graphs are used to identify processing element relationships typcal of modules with the four cohesion classes described below... Low : Coincidental and Temporal The low cohesion class consists of modules exhibiting two of the lowest cohesion levels defined by Constantine and Yourdon. Coincidental and temporal modules are associated with PFGs which have two or more distinct processing elements as in Figure. Each node in the graph corresponds to the processing elements computing the module's outputs. The edges in the graph indicate that there are no data relationships among the processing elements within the module other than the possibility of a common depence on a subset of the input iables. L8 0 8 ACM 0707/8/000/08$00.7 Recommed by: Priscilla Fowler

2 case, the common data relationship is in the computation for H, which binds the data flow patterns together and increases the cohesiveness of the module. Figure. PFG for a module with low cohesion. Nodes F, G, and H, represent three distinct unrelated processing elements indicating separate data paths through the module. The elements in modules with coincidental cohesion t to operate on different data yielding separate data flows for each element. Modules with temporal cohesion are not discernible from modules with coincidental cohesion since the time relationship cannot be determined by examining data and control flow. Temporal modules t to exhibit data flow patterns similar to coincidental modules... Control Cohesion: Logical and Procedural The second cohesion discrimination level is called control cohesion. t is associated with Constantine and Yourdon s logical and procedural cohesion levels. PFGs for these modules t to be highly diversified and difficult to represent with a simple picture. The PFG in Figure serves as an example. The graph represents alternate definitions of two iables under the control of a common ifthenelse structure. The symbols F and F are used to represent the processing elements corresponding to the alternate definitions for the iable F. Similarly, G and G represent processing elements for the iable G. The if and else blocks are of a low cohesion level since they each contain two unrelated processing elements computing F and G. The effect of %e control structure is shown in the graph by the presence of four processing element nodes instead of two. w outputs Figure. PFG for a module with inputsided communicational data flow among its processing elements. The nodes labeled F and G correspond to processing elements which compute values to be used by the element labeled H. Similarly, the processing elements for modules exhibiting outputsided communicational data flow are bound together by a common element that is produced by the inputs. The result of this common element is then used to generate two or more outputs. The PFG of Figure is typical of a module with outputsided communicational data flow. W Figure. PFG for a module with control cohesion. Fl and G correspond to processing elements contained within the if block of an enclosing ifthenelse structure. F and G correspond to elements contained within the else block. Control cohesion is assumed to be present when the only processing element relationship is a result of common enclosing control structures. Control bindings among processing elements are considered to be much weaker than data bindings. n modules with higher cohesion levels, however, the control and data bindings become interrelated... Data Cohesion: Communicational The third discrimination level is called data cohesion. Communicationally cohesive modules are typified as having a common data relationship among several processing elements in the module. For example, consider the PFG for a module with inputsided communicational data flow in Figure. This PFG contains two processing elements computing values F and G that are related by the fact that they are required to generate another value H. n this Figure. PFG for a module with outputsided communicational data flow among its elements. Node F corresponds to a processing element which computes a value required by the elements labeled G and H. Modules with both types of communicational data flow have a similar amount of cohesiveness among their processing elements. The inputsided PFG contains two distinct data paths consisting of the elements FH and GH. The outputsided graph has similar paths consisting of elements FG and FH. This similarity in data relationships suggests classifying modules with both of these communicational flow types as having data cohesion... High Cohesion: Sequential and Functional The high cohesion discrimination level consists of the sequential and functional levels of Constantine and Yourdon. Modules exhibiting sequential cohesion also have sequential data flow graphs. Figure shows a PFG for a module with sequential cohesion. Each processing element in the PFG computes an output that is then used by the next processing element in the chain. Modules with high cohesion t to be very indepent. Processing elements in sequential modules are highly interrelated due to their strong data depencies. Functional modules typically

3 compute a single output represented by a single processing element. Q nputs h 0 Y outputs Figure. PFG for a module with high cohesion. Nodes F and G represent a chain of processing elements typical in a module with sequential data flow.. Program Sticing Slicing is a method of program reduction introduced by Weiser [. Starting from a subset of a program's behavior, called a slicing criterion, the slicing process results in a minimal form program that reflects the same subset of the program's behavior. Slices have been proposed as potential debugging tools and program understanding aids... The Definition of a Slice Weiser's formal definition of a slice as presented in [] is based on a program flow graph and state trajectories defined by the slicing criterion. The definitions below restrict slices to a single module and are based on definitions given in Longworth's thesis []. The symbol M is used to indicate an arbitrary module, e.g., a procedure, function, or main program. Definition. A slicing criterion is a tuple c i, V>, where i denotes a specific statement number in a module M and V is a subset of the iables in M. Deftnition. An intruprocedurul slice S of a module M on a slicing criterion C is any executable module with the following properties. i. S can be obtained from M by deleting zero or more statements from M. ii. For any given input, the execution behavior at all points in the slice S is the same as would be observed in the module M with respect to the iables in V at statement i. As an example, consider the module in Figure. There are two distinct tasks performed by the module (the computations for the sum and for the product of the first N integers.) The only relationships between the two tasks are the common input value for N and the control structure used to compute the sum and product. This module clearly falls into the category of control cohesion as described in the previous section L procedure SumAndProduct( N : integer: SU" : integer: Prom : integer ): : integer; SU" := 0; Prom := ; for := to N do SU" := SU" + ; Prom := Prom * ; Figure, A module that computes two functions, the sum and the product of the first N integers. The module in Figure 7 was obtained with slicing criterion C = c, {SumN)>. s 8 and have been deleted since they have no effect on the value computed for SumN. Note that the slice obtained is a module that computes a single function, the sum of the first N integers. A similar slice for the product function can be obtained using the criterion C = c, {Pro&}>. 7 0 procedure SumAndProduct( N : integer: Sum?? : integer: Prom : integer ); : integer: SU" := 0; for := to N do SumN := SumN + ; ; Figure 7. Slice of SumAndProduct obtained with slicing criterion c = <, {SU"}>... Slice Profiles A slice proje is a convenient representation for revealing slice patterns within a module. They are based on figures used by Longworth [] to identify the relationship between slices and data flow. As an example, the slice profile for procedure SumAndProduct is given in Figure 8. The "" column contains the line number of each statement in the module. Each column with a iable name as the heading in the slice profile corresponds to the slice associated with that iable. All rows in the profile marked with a vertical bar "" are statements included in a slice for a particular iable, otherwise the row is blank. The "" column contains the source statement. For example, the column with heading SumN in Figure 8 corresponds to the slice for the iable SumN. The slice for SumN consists of all statements containing a vertical bar in the column for SumN, i.e., statements,,,,,, 7, 8,, 0,, and. 00

4 8 0 ProdN procedure SumAndProduct( N : integer; SumN : integer; ProdN : integer ); : integer; sum := 0; ProdN := ; for := to N do SU" := SU" t ; ProdN := ProdN * Figure 8. Slice profile for SumAndProduct. s included in the slice for C = <, {SumN}> are indicated with a "" in the column labeled SumN of the profile. The slice for C = ~, {ProdN}> is indicated in the column labeled ProdN... Slicing Criteria The selection of suitable slicing criteria is necessary in obtaining an appropriate set of slices for examining the cohesiveness of a module. The following definition is for the sets of slices which will be considered in this paper. Definition. SLoutpm is the set of all slices obtained with the criterion C = c., {v)>, where v is any iable defined by M such that one of the following holds for V. i. v is a reference parameter (or any iable which retains its assigned value after the module has completed execution). ii. f M is the main program module, v is any data object passed to the module by the operating system, e.g., the standard output file. The definition of SLourpuu is based on the assumption that the purpose of any module is to compute one or more outputs. The slice of any output iable will consist of statements contained in processing elements involved in the computation of that output. f slices are obtained for all of the module's outputs, their union will completely encompass the module (unless it contains unused or "dead" code). This union of slices should also encompass all of the processing elements in the module... nclusion Criteria Another factor to consider is the types of statements to include in a slice. Weiser's slices include in addition to executable statements both declaration statements and the begids of compound statements. This is desirable if the slices are to be used for debugging or for obtaining executable slices. Eliminating these statements can simplify the problem when using slices to identify cohesiveness. Type definition and declaration statements have no apparent effect on processing element relationships. Begins and s do not constitute separate statements, but serve as grouping symbols for the statements contained within a compound statement. nclusion of these statements can significantly increase the size of the slice intersection when no real overlap exists between the slices. We, therefore, consider the following definition. Defrnition. Variablereferent executable statements (VRES) include all executable statements which reference a iable. VRES were defined by Emerson [7], and his cohesion metric is based on the use of these statements. Since we are concerned with using slices to identify the processing elements within a module, VRES will be used in the remainder of this paper. Figure contains a profile for the SumAndProduct module using only VRES in the slices. SumN ProdN procedure SumAndProduct( N : inteqer; SumN : integer; ProdN : integer ); : integer; sum := 0; ProdN := ; for := to N do sum := sum t ; ProdN := ProdN * : Figure. Slice profile for SumAndF'roduct. Only VRES are included in the slices. 0

5 procedure SumAndProductl ( N : integer; su" : integer; SumSqrN : integer; Prom : integer ; : integer; SU" := 0; for := to N do SLl" := SU" + ; SumSqrN := 0; for := to N do SumSqrN := SumSqrN + *; ProdN := ; for := to N do ProdN := Pro& * Figure 0. Slice profile for SumAndProductl.. Slice Patterns and Processing Element Relationship n this section, we will examine several examples of slice profiles and show how they indicate the relationships among the processing elements in the module. As the first example, the module in Figure 0 exhibits low cohesion since it consists of three distinct processing elements which correspond to the three module outputs, SumN, SumSqrN, and ProdN. There is no relationship among the elements. The slices of the output iables partition the module into three disjoint subsets of the set of all the module's VRES statements as shown in the figure. n this case, it is clear that the partition imposed by the slices has isolated the three processing elements. There are no control or data relationships among the processing elements. This lack of processing element relationship is reflected by the three nonintersecting slices in the profile for the module. Figure contains a iation of the module in Figure 0. n SumAndProduct, the computation of the outputs is enclosed in a forloop structure. The common control structure is the only binding force that has been gained among the processing elements in this version of the module. Since this is the only relationship among the processing elements, the module exhibits control cohesion. This is reflected in the slice profile by determining the intersection of all of the slices which results in the for statement at line. f this statement is removed from each slice, the resulting set of slices again partitions the module into its three unrelated processing elements. A slice profile for procedure ProcessAnay is shown in Figure. This module consists of three processing elements computing 7 SumN SumSqrN ProdN the output iables X, SumX, and SumSqrX. The module first computes values for the array X. The array values are then used by the processing elements computing SumX and SumSqrX. This implies a data depency for these processing elements on the element computing the X array, There is no other relationship between the elements computing SumX and SumSqrX. The module, therefore, falls into the data cohesion category. The data depency is indicated in the slice profile by the intersection of all the slices at statements through. The intersection contains data definitions (statements and ) which are required by the processing elements computing SumX and SumSqrX. A separation of the elements computing SumX and SumSqrX is indicated in the profile by the disjoint subsets of the slices at statements through 7 and 8 through 0. Note that the module exhibits outputsided communicational data flow. The common "input" is the array X, which is used to compute both of the outputs, SumX and SumSqrX. The PFG shown in Figure is identical to the PFG for ProcessArray, where F, G, and H, in the figure, correspond to processing elements computing the iables X, SumX, and SumSqrX, respectively. Modules exhibiting communicational data flow are classified as having data cohesion. A profile for module FindLargest is shown in Figure. This module consists of two processing elements computing the positions of the largest (Max) and second largest (NextMax) elements in the anay X. The processing elements are highly interrelated due to the strong depency of NextMax on the value of Max. The depency is sequential in nature since any assignments of NextMax are made after Max has been determined. This places FindLargest in the high cohesion level. The high processing element procedure SumAndProduct( N : integer; SumN : integer; SumSqrN : integer; ProdN : integer ); : integer; sum := 0: SumSqrN := 0; Prom := ; for := to N do SumN := SumN + ; SumSqrN := SumSqrN + *; ProdN := ProdN * ; Figure. Slice profile for SumAndProduct. 0

6 _. 8 0 X SumX SumSqrX procedure ProcessArray( N : integer; X : ntvector; SumX : integer ; SumSqrX : integer );, J : integer; for := to N do X[] = 0; for J := to do X[l := X[ t J : SumX := 0; for := to N do SumX := SumX + X[]; SumSqrX := 0: for := to N do SumSqrX := SumSqrX t X[l*X[l Figure. Slice profile for ProcessArray. relationship is indicated in the profile by the amount of overlap between the slices. n particular, the slice for Max is entirely contained within the slice for NextMax.. Conclusion The observations made in the previous section on the relationship between slice patterns and processing element relationships, are summarized below. Observation. The partition of a module induced by the slice of an output iable consists of the union of the statements from all the processing elements in the module which can affect the final value computed for the sliced iable. Observation. The intersection of two or more slices is a subset of the module's processing elements. l a 0 Max NextMax Observation. Slice intersections indicate processing element relationships. f the intersection of slices contains primarily control statements and definitions for the control iables, the processing elements t to exhibit control cohesion. f the intersection of slices contains noncontrol iable data definitions, the processing elements t to exhibit data cohesion. SumAndProductl serves as an example of the first observation. n this case, the slices clearly partition the module into its three distinct processing elements. SumAndF'roductZ is an example of the third observation since the slice intersection contains only a control statement. The third observation can also be seen in the ProcessArray module since the slice intersection contains data definitions for the X array. This intersection is common to the slices for SumX and SumSqrX indicating a data depency in the processing elements for SumX and SumSqrX on the element procedure FindLargest( A : Realvector; N : integer: Max : integer; NextMax : integer va r : integer; if (A[ >= A[) then Max := ; NextMax := else Max := : NextMax := : := ; while ( <= N) do if (AL >= A[Max]) then NextMax := Max: Max := else if (AL > ALNextMaxl) then NextMax := ; :=+l : Figure. Slice profile for FindLargest. 0

7 computing X. Finally, the second observation can be seen in Processhay since the slice for X is completely contained within the intersection of all the slices. Therefore, the slice for X is the processing element which computes X. n this paper, we attempted to show that a relationship exists between the slice profile of a module and the cohesion of the module. Slice profiles can be automatically generated easily (see []) and therefore could be used as a tool for detecting modules with inappropriately low cohesion levels. This could be useful during both the implementation of a system as well as during system maintenance. These slice profiles are also being examined as the basis for cohesion metrics. t is hoped that in future work, we will be able to present quantitative metrics for cohesion based on measuring the properties of the slice profiles References B. W. Boehm, J. R. Brown, H. Kaspar, M. Lipow, G. J. MacLeod and M. J. Merritt, Characteristics of software quality, TRW and NorthHolland Publishing Co., 78. D. N. Card, V. E. Church and W. W. Agresti, An empirical study of software design practices, EEE Trans. on Software Eng. SE, (February 8), 7. L. L. Constantine and E. Yourdon, Structured design, Englewood Cliffs, PrenticeHall, New Jersey, 7. S. D. Conte, H. E. Dunsmore and V. Y. Shen, in Software engineering metrics and models, BenjamidCummings Publishing Company, nc., 8. B. Curtis, S. B. Sheppard and P. Milliman, Third time charm: stronger replication of the ability of software complexity metrics to predict programmer performance, Proceedings of the th international conference on software engineering, Munich, Germany, 7,0. B. Curtis, Measurement and experimentation in software engineering, Proceedings of the BEE 8, (September 80), 7. T. J. Emerson, A discriminant metric for module cohesion, Proceedings of the 7th international conference on software engineering, Chicago, l., 8,0. T. Gilb, Software Metrics, Winthrop Publishers, nc., 77. H. Longworth, Slice based program metrics, Master s Thesis, Michigan Technological University, 8. G. Myers, Composite structured design, Van Nostrand, 78. M. PageJones, in The practical guide to structured systems design, New York, NY, 80, Yourdon Press. J. J. Thuss, An nvestigation into Sliced Based Cohesion Metrics, Master s Thesis, Michigan Technological University, 88. M. D. Weiser, Program slicing, Proceedings of the th international conference on software engineering, San Diego, CA., 8,. M. D. Weiser, Programmers use slices when debugging, Comm. ACM,7 (July 8),. M. D. Weiser, Program slicing, EEE Trans. on Software Eng. SE0, (July 8), 7. 0

The Relationship between Slices and Module Cohesion

The Relationship between Slices and Module Cohesion The Relationship between Slices and Module Cohesion Linda M. Ott Jeffrey J. Thuss Department of Computer Science Michigan Technological University Houghton, MI 49931 Abstract High module cohesion is often

More information

Introduction to Extended Common Coupling with an Application Study on Linux

Introduction to Extended Common Coupling with an Application Study on Linux Introduction to Extended Common Coupling with an Application Study on Linux Liguo Yu Computer Science and Informatics Indiana University South Bend 1700 Mishawaka Ave. P.O. Box 7111 South Bend, IN 46634,

More information

An Efficient Algorithm for Computing all Program Static Slices

An Efficient Algorithm for Computing all Program Static Slices An Efficient Algorithm for Computing all Program Static Slices JEHAD AL DALLAL Department of Information Sciences Kuwait University P.O. Box 5969, Safat 13060 KUWAIT Abstract: - Program slicing is the

More information

Efficient Program Slicing Algorithms for Measuring Functional Cohesion and Parallelism

Efficient Program Slicing Algorithms for Measuring Functional Cohesion and Parallelism Efficient Program Slicing Algorithms for Measuring Functional Cohesion and Parallelism Jehad Al Dallal Abstract Program slicing is the task of finding all statements in a program that directly or indirectly

More information

Software Metrics and Design Principles. What is Design?

Software Metrics and Design Principles. What is Design? Software Metrics and Design Principles Chapters 5,8 What is Design? Design is the process of creating a plan or blueprint to follow during actual construction Design is a problem-solving activity that

More information

Improving the Applicability of Object-Oriented Class Cohesion Metrics

Improving the Applicability of Object-Oriented Class Cohesion Metrics Improving the Applicability of Object-Oriented Class Cohesion Metrics Jehad Al Dallal Department of Information Science Kuwait University P.O. Box 5969, Safat 13060, Kuwait jehad@ku.edu.kw Abstract Context:

More information

Inheritance Metrics: What do they Measure?

Inheritance Metrics: What do they Measure? Inheritance Metrics: What do they Measure? G. Sri Krishna and Rushikesh K. Joshi Department of Computer Science and Engineering Indian Institute of Technology Bombay Mumbai, 400 076, India Email:{srikrishna,rkj}@cse.iitb.ac.in

More information

Fast Fuzzy Clustering of Infrared Images. 2. brfcm

Fast Fuzzy Clustering of Infrared Images. 2. brfcm Fast Fuzzy Clustering of Infrared Images Steven Eschrich, Jingwei Ke, Lawrence O. Hall and Dmitry B. Goldgof Department of Computer Science and Engineering, ENB 118 University of South Florida 4202 E.

More information

Core Membership Computation for Succinct Representations of Coalitional Games

Core Membership Computation for Succinct Representations of Coalitional Games Core Membership Computation for Succinct Representations of Coalitional Games Xi Alice Gao May 11, 2009 Abstract In this paper, I compare and contrast two formal results on the computational complexity

More information

Intersection of sets *

Intersection of sets * OpenStax-CNX module: m15196 1 Intersection of sets * Sunil Kumar Singh This work is produced by OpenStax-CNX and licensed under the Creative Commons Attribution License 2.0 We have pointed out that a set

More information

APPLICATION OF THE FUZZY MIN-MAX NEURAL NETWORK CLASSIFIER TO PROBLEMS WITH CONTINUOUS AND DISCRETE ATTRIBUTES

APPLICATION OF THE FUZZY MIN-MAX NEURAL NETWORK CLASSIFIER TO PROBLEMS WITH CONTINUOUS AND DISCRETE ATTRIBUTES APPLICATION OF THE FUZZY MIN-MAX NEURAL NETWORK CLASSIFIER TO PROBLEMS WITH CONTINUOUS AND DISCRETE ATTRIBUTES A. Likas, K. Blekas and A. Stafylopatis National Technical University of Athens Department

More information

Taxonomy Dimensions of Complexity Metrics

Taxonomy Dimensions of Complexity Metrics 96 Int'l Conf. Software Eng. Research and Practice SERP'15 Taxonomy Dimensions of Complexity Metrics Bouchaib Falah 1, Kenneth Magel 2 1 Al Akhawayn University, Ifrane, Morocco, 2 North Dakota State University,

More information

From Module To Objects

From Module To Objects From Module To Objects It is very difficult to maintain a large monolithic block of code The solution is to divide the code into smaller pieces, called modules What is a Module? A small and manageable

More information

Program Slicing in the Presence of Pointers (Extended Abstract)

Program Slicing in the Presence of Pointers (Extended Abstract) Program Slicing in the Presence of Pointers (Extended Abstract) James R. Lyle National Institute of Standards and Technology jimmy@swe.ncsl.nist.gov David Binkley Loyola College in Maryland National Institute

More information

FOUR EDGE-INDEPENDENT SPANNING TREES 1

FOUR EDGE-INDEPENDENT SPANNING TREES 1 FOUR EDGE-INDEPENDENT SPANNING TREES 1 Alexander Hoyer and Robin Thomas School of Mathematics Georgia Institute of Technology Atlanta, Georgia 30332-0160, USA ABSTRACT We prove an ear-decomposition theorem

More information

CHAPTER 8. Copyright Cengage Learning. All rights reserved.

CHAPTER 8. Copyright Cengage Learning. All rights reserved. CHAPTER 8 RELATIONS Copyright Cengage Learning. All rights reserved. SECTION 8.3 Equivalence Relations Copyright Cengage Learning. All rights reserved. The Relation Induced by a Partition 3 The Relation

More information

ISSN: [Keswani* et al., 7(1): January, 2018] Impact Factor: 4.116

ISSN: [Keswani* et al., 7(1): January, 2018] Impact Factor: 4.116 IJESRT INTERNATIONAL JOURNAL OF ENGINEERING SCIENCES & RESEARCH TECHNOLOGY AUTOMATIC TEST CASE GENERATION FOR PERFORMANCE ENHANCEMENT OF SOFTWARE THROUGH GENETIC ALGORITHM AND RANDOM TESTING Bright Keswani,

More information

SOFTWARE COMPLEXITY MEASUREMENT USING MULTIPLE CRITERIA ABSTRACT

SOFTWARE COMPLEXITY MEASUREMENT USING MULTIPLE CRITERIA ABSTRACT SOFTWARE COMPLEXITY MEASUREMENT USING MULTIPLE CRITERIA Bhaskar Raj Sinha, Pradip Peter Dey, Mohammad Amin and Hassan Badkoobehi National University, School of Engineering, Technology, and Media 3678 Aero

More information

High-level Variable Selection for Partial-Scan Implementation

High-level Variable Selection for Partial-Scan Implementation High-level Variable Selection for Partial-Scan Implementation FrankF.Hsu JanakH.Patel Center for Reliable & High-Performance Computing University of Illinois, Urbana, IL Abstract In this paper, we propose

More information

The Bounded Edge Coloring Problem and Offline Crossbar Scheduling

The Bounded Edge Coloring Problem and Offline Crossbar Scheduling The Bounded Edge Coloring Problem and Offline Crossbar Scheduling Jonathan Turner WUCSE-05-07 Abstract This paper introduces a variant of the classical edge coloring problem in graphs that can be applied

More information

Designing Views to Answer Queries under Set, Bag,and BagSet Semantics

Designing Views to Answer Queries under Set, Bag,and BagSet Semantics Designing Views to Answer Queries under Set, Bag,and BagSet Semantics Rada Chirkova Department of Computer Science, North Carolina State University Raleigh, NC 27695-7535 chirkova@csc.ncsu.edu Foto Afrati

More information

9.5 Equivalence Relations

9.5 Equivalence Relations 9.5 Equivalence Relations You know from your early study of fractions that each fraction has many equivalent forms. For example, 2, 2 4, 3 6, 2, 3 6, 5 30,... are all different ways to represent the same

More information

Byzantine Consensus in Directed Graphs

Byzantine Consensus in Directed Graphs Byzantine Consensus in Directed Graphs Lewis Tseng 1,3, and Nitin Vaidya 2,3 1 Department of Computer Science, 2 Department of Electrical and Computer Engineering, and 3 Coordinated Science Laboratory

More information

Reusability Metrics for Object-Oriented System: An Alternative Approach

Reusability Metrics for Object-Oriented System: An Alternative Approach Reusability Metrics for Object-Oriented System: An Alternative Approach Parul Gandhi Department of Computer Science & Business Administration Manav Rachna International University Faridabad, 121001, India

More information

Properties of Constraint Systems of Property Models

Properties of Constraint Systems of Property Models Properties of Constraint Systems of Property Models John Freeman jfreeman@cse.tamu.edu Jaakko Järvi jarvi@cse.tamu.edu Jacob Smith jnsmith@cse.tamu.edu Mat Marcus mmarcus@emarcus.org Sean Parent Adobe

More information

Using design abstractions to visualize, quantify, and restructure software 1

Using design abstractions to visualize, quantify, and restructure software 1 The Journal of Systems and Software 42 (1998) 175±187 Using design abstractions to visualize, quantify, and restructure software 1 Byung-Kyoo Kang a, James M. Bieman b, * a Electronics and Telecommunications

More information

ON THE STRONGLY REGULAR GRAPH OF PARAMETERS

ON THE STRONGLY REGULAR GRAPH OF PARAMETERS ON THE STRONGLY REGULAR GRAPH OF PARAMETERS (99, 14, 1, 2) SUZY LOU AND MAX MURIN Abstract. In an attempt to find a strongly regular graph of parameters (99, 14, 1, 2) or to disprove its existence, we

More information

Unit-3 Software Design (Lecture Notes)

Unit-3 Software Design (Lecture Notes) Unit-3 Software Design (Lecture Notes) Prepared by Jay Nanavati, Assistant Professor, SEMCOM Topics Software Design - Introduction Design Principles Module Level concepts Overview of Structured design

More information

An Object Oriented Runtime Complexity Metric based on Iterative Decision Points

An Object Oriented Runtime Complexity Metric based on Iterative Decision Points An Object Oriented Runtime Complexity Metric based on Iterative Amr F. Desouky 1, Letha H. Etzkorn 2 1 Computer Science Department, University of Alabama in Huntsville, Huntsville, AL, USA 2 Computer Science

More information

Towards Cohesion-based Metrics as Early Quality Indicators of Faulty Classes and Components

Towards Cohesion-based Metrics as Early Quality Indicators of Faulty Classes and Components 2009 International Symposium on Computing, Communication, and Control (ISCCC 2009) Proc.of CSIT vol.1 (2011) (2011) IACSIT Press, Singapore Towards Cohesion-based Metrics as Early Quality Indicators of

More information

TDWI strives to provide course books that are contentrich and that serve as useful reference documents after a class has ended.

TDWI strives to provide course books that are contentrich and that serve as useful reference documents after a class has ended. Previews of TDWI course books offer an opportunity to see the quality of our material and help you to select the courses that best fit your needs. The previews cannot be printed. TDWI strives to provide

More information

Introduction to System Design

Introduction to System Design Introduction to System Design Software Requirements and Design CITS 4401 Lecture 8 System Design is a creative process no cook book solutions goal driven we create a design for solving some problem constraint

More information

Cost Models for Query Processing Strategies in the Active Data Repository

Cost Models for Query Processing Strategies in the Active Data Repository Cost Models for Query rocessing Strategies in the Active Data Repository Chialin Chang Institute for Advanced Computer Studies and Department of Computer Science University of Maryland, College ark 272

More information

AN ALGORITHM WHICH GENERATES THE HAMILTONIAN CIRCUITS OF A CUBIC PLANAR MAP

AN ALGORITHM WHICH GENERATES THE HAMILTONIAN CIRCUITS OF A CUBIC PLANAR MAP AN ALGORITHM WHICH GENERATES THE HAMILTONIAN CIRCUITS OF A CUBIC PLANAR MAP W. L. PRICE ABSTRACT The paper describes an algorithm which generates those Hamiltonian circuits of a given cubic planar map

More information

Morphological Image Processing

Morphological Image Processing Morphological Image Processing Morphology Identification, analysis, and description of the structure of the smallest unit of words Theory and technique for the analysis and processing of geometric structures

More information

A taxonomy of race. D. P. Helmbold, C. E. McDowell. September 28, University of California, Santa Cruz. Santa Cruz, CA

A taxonomy of race. D. P. Helmbold, C. E. McDowell. September 28, University of California, Santa Cruz. Santa Cruz, CA A taxonomy of race conditions. D. P. Helmbold, C. E. McDowell UCSC-CRL-94-34 September 28, 1994 Board of Studies in Computer and Information Sciences University of California, Santa Cruz Santa Cruz, CA

More information

6. Relational Algebra (Part II)

6. Relational Algebra (Part II) 6. Relational Algebra (Part II) 6.1. Introduction In the previous chapter, we introduced relational algebra as a fundamental model of relational database manipulation. In particular, we defined and discussed

More information

Morphological Image Processing

Morphological Image Processing Morphological Image Processing Binary image processing In binary images, we conventionally take background as black (0) and foreground objects as white (1 or 255) Morphology Figure 4.1 objects on a conveyor

More information

D-Optimal Designs. Chapter 888. Introduction. D-Optimal Design Overview

D-Optimal Designs. Chapter 888. Introduction. D-Optimal Design Overview Chapter 888 Introduction This procedure generates D-optimal designs for multi-factor experiments with both quantitative and qualitative factors. The factors can have a mixed number of levels. For example,

More information

Procedia Computer Science

Procedia Computer Science Procedia Computer Science 00 (2009) 000 000 Procedia Computer Science www.elsevier.com/locate/procedia INSODE 2011 Theoretical Analysis for the Impact of Including Special Methods in Lack-of-Cohesion Computation

More information

These notes present some properties of chordal graphs, a set of undirected graphs that are important for undirected graphical models.

These notes present some properties of chordal graphs, a set of undirected graphs that are important for undirected graphical models. Undirected Graphical Models: Chordal Graphs, Decomposable Graphs, Junction Trees, and Factorizations Peter Bartlett. October 2003. These notes present some properties of chordal graphs, a set of undirected

More information

Lecture 10 September 19, 2007

Lecture 10 September 19, 2007 CS 6604: Data Mining Fall 2007 Lecture 10 September 19, 2007 Lecture: Naren Ramakrishnan Scribe: Seungwon Yang 1 Overview In the previous lecture we examined the decision tree classifier and choices for

More information

Excerpt from "Art of Problem Solving Volume 1: the Basics" 2014 AoPS Inc.

Excerpt from Art of Problem Solving Volume 1: the Basics 2014 AoPS Inc. Chapter 5 Using the Integers In spite of their being a rather restricted class of numbers, the integers have a lot of interesting properties and uses. Math which involves the properties of integers is

More information

process variable x,y,a,b,c: integer begin x := b; -- d2 -- while (x < c) loop end loop; end process; d: a := b + c

process variable x,y,a,b,c: integer begin x := b; -- d2 -- while (x < c) loop end loop; end process; d: a := b + c ControlData-æow Analysis for VHDL Semantic Extraction æ Yee-Wing Hsieh Steven P. Levitan Department of Electrical Engineering University of Pittsburgh Abstract Model abstraction reduces the number of states

More information

Interleaving Schemes on Circulant Graphs with Two Offsets

Interleaving Schemes on Circulant Graphs with Two Offsets Interleaving Schemes on Circulant raphs with Two Offsets Aleksandrs Slivkins Department of Computer Science Cornell University Ithaca, NY 14853 slivkins@cs.cornell.edu Jehoshua Bruck Department of Electrical

More information

Topology Homework 3. Section Section 3.3. Samuel Otten

Topology Homework 3. Section Section 3.3. Samuel Otten Topology Homework 3 Section 3.1 - Section 3.3 Samuel Otten 3.1 (1) Proposition. The intersection of finitely many open sets is open and the union of finitely many closed sets is closed. Proof. Note that

More information

REDUCING GRAPH COLORING TO CLIQUE SEARCH

REDUCING GRAPH COLORING TO CLIQUE SEARCH Asia Pacific Journal of Mathematics, Vol. 3, No. 1 (2016), 64-85 ISSN 2357-2205 REDUCING GRAPH COLORING TO CLIQUE SEARCH SÁNDOR SZABÓ AND BOGDÁN ZAVÁLNIJ Institute of Mathematics and Informatics, University

More information

IEEE LANGUAGE REFERENCE MANUAL Std P1076a /D3

IEEE LANGUAGE REFERENCE MANUAL Std P1076a /D3 LANGUAGE REFERENCE MANUAL Std P1076a-1999 2000/D3 Clause 10 Scope and visibility The rules defining the scope of declarations and the rules defining which identifiers are visible at various points in the

More information

3 No-Wait Job Shops with Variable Processing Times

3 No-Wait Job Shops with Variable Processing Times 3 No-Wait Job Shops with Variable Processing Times In this chapter we assume that, on top of the classical no-wait job shop setting, we are given a set of processing times for each operation. We may select

More information

Handling Missing Values via Decomposition of the Conditioned Set

Handling Missing Values via Decomposition of the Conditioned Set Handling Missing Values via Decomposition of the Conditioned Set Mei-Ling Shyu, Indika Priyantha Kuruppu-Appuhamilage Department of Electrical and Computer Engineering, University of Miami Coral Gables,

More information

Transactions on Information and Communications Technologies vol 4, 1993 WIT Press, ISSN

Transactions on Information and Communications Technologies vol 4, 1993 WIT Press,  ISSN Use of quality characteristics graphs for a knowledge-based assistance in software quality management H. Basson, M.C. Haton, J.C. Derniame Centre de Recherche en Informatique de Nancy, BP 239, 54506 Vandoeuvre-les-Nancy,

More information

Introducing MESSIA: A Methodology of Developing Software Architectures Supporting Implementation Independence

Introducing MESSIA: A Methodology of Developing Software Architectures Supporting Implementation Independence Introducing MESSIA: A Methodology of Developing Software Architectures Supporting Implementation Independence Ratko Orlandic Department of Computer Science and Applied Math Illinois Institute of Technology

More information

[11] L. M. Ott and J. M. Bieman. Eects of software changes on module cohesion. In IEEE Conference on

[11] L. M. Ott and J. M. Bieman. Eects of software changes on module cohesion. In IEEE Conference on [11] L. M. Ott and J. M. Bieman. Eects of software changes on module cohesion. In IEEE Conference on Software Maintenance, pages 345{353, November 1992. [12] L. M. Ott and J. J. Thuss. The relationship

More information

Rigidity, connectivity and graph decompositions

Rigidity, connectivity and graph decompositions First Prev Next Last Rigidity, connectivity and graph decompositions Brigitte Servatius Herman Servatius Worcester Polytechnic Institute Page 1 of 100 First Prev Next Last Page 2 of 100 We say that a framework

More information

Classification. Vladimir Curic. Centre for Image Analysis Swedish University of Agricultural Sciences Uppsala University

Classification. Vladimir Curic. Centre for Image Analysis Swedish University of Agricultural Sciences Uppsala University Classification Vladimir Curic Centre for Image Analysis Swedish University of Agricultural Sciences Uppsala University Outline An overview on classification Basics of classification How to choose appropriate

More information

COUNTING AND PROBABILITY

COUNTING AND PROBABILITY CHAPTER 9 COUNTING AND PROBABILITY Copyright Cengage Learning. All rights reserved. SECTION 9.3 Counting Elements of Disjoint Sets: The Addition Rule Copyright Cengage Learning. All rights reserved. Counting

More information

Constrained Types and their Expressiveness

Constrained Types and their Expressiveness Constrained Types and their Expressiveness JENS PALSBERG Massachusetts Institute of Technology and SCOTT SMITH Johns Hopkins University A constrained type consists of both a standard type and a constraint

More information

SOFTWARE LAYERS AND MEASUREMENT

SOFTWARE LAYERS AND MEASUREMENT SOFTWARE LAYERS AND MEASUREMENT Jean-Marc Desharnais, Software Engineering Laboratory in Applied Metrics Denis St-Pierre, DSA Consulting Inc. Serge Oligny, Laboratoire de recherche en gestion des logiciels

More information

A Connection between Network Coding and. Convolutional Codes

A Connection between Network Coding and. Convolutional Codes A Connection between Network Coding and 1 Convolutional Codes Christina Fragouli, Emina Soljanin christina.fragouli@epfl.ch, emina@lucent.com Abstract The min-cut, max-flow theorem states that a source

More information

The Encoding Complexity of Network Coding

The Encoding Complexity of Network Coding The Encoding Complexity of Network Coding Michael Langberg Alexander Sprintson Jehoshua Bruck California Institute of Technology Email: mikel,spalex,bruck @caltech.edu Abstract In the multicast network

More information

AN ONTOLOGICAL EVALUATION OF JACKSON'S SYSTEM DEVELOPMENT MODEL. Fiona Rohde. Department of Commerce The University of Queensland, 4072.

AN ONTOLOGICAL EVALUATION OF JACKSON'S SYSTEM DEVELOPMENT MODEL. Fiona Rohde. Department of Commerce The University of Queensland, 4072. AN ONTOLOGICAL EVALUATION OF JACKSON'S SYSTEM DEVELOPMENT MODEL Fiona Rohde Department of Commerce The University of Queensland, 4072. Australia ABSTRACT Within the discipline of information systems, numerous

More information

Testing Process and Methods. CS 490MT/5555, Spring 2017, Yongjie Zheng

Testing Process and Methods. CS 490MT/5555, Spring 2017, Yongjie Zheng Testing Process and Methods CS 490MT/5555, Spring 2017, Yongjie Zheng Context of Software Testing Verification & Validation Verification: checking that the software conforms to its specification. Validation:

More information

CHAPTER 6 MODIFIED FUZZY TECHNIQUES BASED IMAGE SEGMENTATION

CHAPTER 6 MODIFIED FUZZY TECHNIQUES BASED IMAGE SEGMENTATION CHAPTER 6 MODIFIED FUZZY TECHNIQUES BASED IMAGE SEGMENTATION 6.1 INTRODUCTION Fuzzy logic based computational techniques are becoming increasingly important in the medical image analysis arena. The significant

More information

Pebble Sets in Convex Polygons

Pebble Sets in Convex Polygons 2 1 Pebble Sets in Convex Polygons Kevin Iga, Randall Maddox June 15, 2005 Abstract Lukács and András posed the problem of showing the existence of a set of n 2 points in the interior of a convex n-gon

More information

Program Slicing in the Presence of Pointers

Program Slicing in the Presence of Pointers Program Slicing in the Presence of Pointers James R. Lyle David Binkley jimmy@sst.ncsl.nist.gov binkley@sst.ncsl.nist.gov U.S. Depar tment of Commerce Technology Administration National Institute of Standards

More information

The Structure of Bull-Free Perfect Graphs

The Structure of Bull-Free Perfect Graphs The Structure of Bull-Free Perfect Graphs Maria Chudnovsky and Irena Penev Columbia University, New York, NY 10027 USA May 18, 2012 Abstract The bull is a graph consisting of a triangle and two vertex-disjoint

More information

ResPubliQA 2010

ResPubliQA 2010 SZTAKI @ ResPubliQA 2010 David Mark Nemeskey Computer and Automation Research Institute, Hungarian Academy of Sciences, Budapest, Hungary (SZTAKI) Abstract. This paper summarizes the results of our first

More information

Software Design. Software design is a blueprint or a plan for a computerbased solution for system

Software Design. Software design is a blueprint or a plan for a computerbased solution for system Software Design Software Design Software design is a blueprint or a plan for a computerbased solution for system Software design deals with transforming the customer requirements, as described by the SRS

More information

The Geometry of Carpentry and Joinery

The Geometry of Carpentry and Joinery The Geometry of Carpentry and Joinery Pat Morin and Jason Morrison School of Computer Science, Carleton University, 115 Colonel By Drive Ottawa, Ontario, CANADA K1S 5B6 Abstract In this paper we propose

More information

Approximation Algorithms for Wavelength Assignment

Approximation Algorithms for Wavelength Assignment Approximation Algorithms for Wavelength Assignment Vijay Kumar Atri Rudra Abstract Winkler and Zhang introduced the FIBER MINIMIZATION problem in [3]. They showed that the problem is NP-complete but left

More information

Principles of Parallel Algorithm Design: Concurrency and Decomposition

Principles of Parallel Algorithm Design: Concurrency and Decomposition Principles of Parallel Algorithm Design: Concurrency and Decomposition John Mellor-Crummey Department of Computer Science Rice University johnmc@rice.edu COMP 422/534 Lecture 2 12 January 2017 Parallel

More information

Extension, Abbreviation and Refinement -Identifying High-Level Dependence Structures Using Slice-Based Dependence Analysis

Extension, Abbreviation and Refinement -Identifying High-Level Dependence Structures Using Slice-Based Dependence Analysis Extension, Abbreviation and Refinement -Identifying High-Level Dependence Structures Using Slice-Based Dependence Analysis Zheng Li CREST, King s College London, UK Overview Motivation Three combination

More information

On Algebraic Expressions of Generalized Fibonacci Graphs

On Algebraic Expressions of Generalized Fibonacci Graphs On Algebraic Expressions of Generalized Fibonacci Graphs MARK KORENBLIT and VADIM E LEVIT Department of Computer Science Holon Academic Institute of Technology 5 Golomb Str, PO Box 305, Holon 580 ISRAEL

More information

3. Cluster analysis Overview

3. Cluster analysis Overview Université Laval Multivariate analysis - February 2006 1 3.1. Overview 3. Cluster analysis Clustering requires the recognition of discontinuous subsets in an environment that is sometimes discrete (as

More information

Precise Executable Interprocedural Slices

Precise Executable Interprocedural Slices Precise Executable Interprocedural Slices DAVID BINKLEY Loyola College in Maryland The notion of a program slice, originally introduced by Mark Weiser, is useful in program debugging, automatic parallelization,

More information

HW Graph Theory SOLUTIONS (hbovik) - Q

HW Graph Theory SOLUTIONS (hbovik) - Q 1, Diestel 9.3: An arithmetic progression is an increasing sequence of numbers of the form a, a+d, a+ d, a + 3d.... Van der Waerden s theorem says that no matter how we partition the natural numbers into

More information

A Mechanism for Sequential Consistency in a Distributed Objects System

A Mechanism for Sequential Consistency in a Distributed Objects System A Mechanism for Sequential Consistency in a Distributed Objects System Cristian Ţăpuş, Aleksey Nogin, Jason Hickey, and Jerome White California Institute of Technology Computer Science Department MC 256-80,

More information

On Universal Cycles of Labeled Graphs

On Universal Cycles of Labeled Graphs On Universal Cycles of Labeled Graphs Greg Brockman Harvard University Cambridge, MA 02138 United States brockman@hcs.harvard.edu Bill Kay University of South Carolina Columbia, SC 29208 United States

More information

Eliminating False Loops Caused by Sharing in Control Path

Eliminating False Loops Caused by Sharing in Control Path Eliminating False Loops Caused by Sharing in Control Path ALAN SU and YU-CHIN HSU University of California Riverside and TA-YUNG LIU and MIKE TIEN-CHIEN LEE Avant! Corporation In high-level synthesis,

More information

CS 307: Software Engineering. Lecture 9: Software Design (Coupling), Modeling Interactions and Behavior

CS 307: Software Engineering. Lecture 9: Software Design (Coupling), Modeling Interactions and Behavior CS 307: Software Engineering Lecture 9: Software Design (Coupling), Modeling Interactions and Behavior Prof. Jeff Turkstra 2017 Dr. Jeffrey A. Turkstra 1 Announcements Discuss your product backlog in person

More information

ARELAY network consists of a pair of source and destination

ARELAY network consists of a pair of source and destination 158 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL 55, NO 1, JANUARY 2009 Parity Forwarding for Multiple-Relay Networks Peyman Razaghi, Student Member, IEEE, Wei Yu, Senior Member, IEEE Abstract This paper

More information

Algorithm must complete after a finite number of instructions have been executed. Each step must be clearly defined, having only one interpretation.

Algorithm must complete after a finite number of instructions have been executed. Each step must be clearly defined, having only one interpretation. Algorithms 1 algorithm: a finite set of instructions that specify a sequence of operations to be carried out in order to solve a specific problem or class of problems An algorithm must possess the following

More information

COMPILER DESIGN. For COMPUTER SCIENCE

COMPILER DESIGN. For COMPUTER SCIENCE COMPILER DESIGN For COMPUTER SCIENCE . COMPILER DESIGN SYLLABUS Lexical analysis, parsing, syntax-directed translation. Runtime environments. Intermediate code generation. ANALYSIS OF GATE PAPERS Exam

More information

BEBR FACULTY WORKING PAPER NO On Structured Modeling: A Model Management Perspective. Ting-peng Liang

BEBR FACULTY WORKING PAPER NO On Structured Modeling: A Model Management Perspective. Ting-peng Liang BEBR FACULTY WORKING PAPER NO. 1385 On Structured Modeling: A Model Management Perspective Ting-peng Liang College of Commerce and Business Administration Bureau of Economic and Business Research University

More information

Fuzzy Partitioning with FID3.1

Fuzzy Partitioning with FID3.1 Fuzzy Partitioning with FID3.1 Cezary Z. Janikow Dept. of Mathematics and Computer Science University of Missouri St. Louis St. Louis, Missouri 63121 janikow@umsl.edu Maciej Fajfer Institute of Computing

More information

Input Space Partitioning

Input Space Partitioning Input Space Partitioning Instructor : Ali Sharifara CSE 5321/4321 Summer 2017 CSE 5321/4321, Ali Sharifara, UTA 1 Input Space Partitioning Introduction Equivalence Partitioning Boundary-Value Analysis

More information

1. Suppose you are given a magic black box that somehow answers the following decision problem in polynomial time:

1. Suppose you are given a magic black box that somehow answers the following decision problem in polynomial time: 1. Suppose you are given a magic black box that somehow answers the following decision problem in polynomial time: Input: A CNF formula ϕ with n variables x 1, x 2,..., x n. Output: True if there is an

More information

MATHEMATICS 191, FALL 2004 MATHEMATICAL PROBABILITY Outline #1 (Countability and Uncountability)

MATHEMATICS 191, FALL 2004 MATHEMATICAL PROBABILITY Outline #1 (Countability and Uncountability) MATHEMATICS 191, FALL 2004 MATHEMATICAL PROBABILITY Outline #1 (Countability and Uncountability) Last modified: September 16, 2004 Reference: Apostol, Calculus, Vol. 2, section 13.19 (attached). The aim

More information

OPTIMIZING CHEMICAL SENSOR ARRAY SIZES

OPTIMIZING CHEMICAL SENSOR ARRAY SIZES OPTIMIZING CHEMICAL SENSOR ARRAY SIZES G. C. Osbourn, R. F. Martinez, J. W. Bartholomew, W. G. Yelton, A. J. Ricco* Sandia National Laboratories, Albuquerque, NM 87 185-1423, "ACLARA Biosciences, Inc.,

More information

CS560: Formal Modelling and Implementation of Systems (Term II)

CS560: Formal Modelling and Implementation of Systems (Term II) CS560: Formal Modelling and Implementation of Systems (Term II) Software Design A.P.O Riordan, 2009 Email: a.oriordan@cs.ucc.ie Course Webpage: http://www.cs.ucc.ie/~adrian/cs560.html CS560 1 Design Design

More information

Parameterized graph separation problems

Parameterized graph separation problems Parameterized graph separation problems Dániel Marx Department of Computer Science and Information Theory, Budapest University of Technology and Economics Budapest, H-1521, Hungary, dmarx@cs.bme.hu Abstract.

More information

Flexible Coloring. Xiaozhou Li a, Atri Rudra b, Ram Swaminathan a. Abstract

Flexible Coloring. Xiaozhou Li a, Atri Rudra b, Ram Swaminathan a. Abstract Flexible Coloring Xiaozhou Li a, Atri Rudra b, Ram Swaminathan a a firstname.lastname@hp.com, HP Labs, 1501 Page Mill Road, Palo Alto, CA 94304 b atri@buffalo.edu, Computer Sc. & Engg. dept., SUNY Buffalo,

More information

(IVl -1) messages. In [3], both the time and com-

(IVl -1) messages. In [3], both the time and com- AN OPTIMAL DISTRIBUTED DEPTH-FIRST-SEARCH ALGORITHM Mohan B. Sharma 38, Sitharama S. Iyengar 38 $ Department of Computer Science Louisiana 6tate University Baton Rouge, LA 70803. Narasimha K. Mandyam t

More information

On the Max Coloring Problem

On the Max Coloring Problem On the Max Coloring Problem Leah Epstein Asaf Levin May 22, 2010 Abstract We consider max coloring on hereditary graph classes. The problem is defined as follows. Given a graph G = (V, E) and positive

More information

CLASSIFICATION WITH RADIAL BASIS AND PROBABILISTIC NEURAL NETWORKS

CLASSIFICATION WITH RADIAL BASIS AND PROBABILISTIC NEURAL NETWORKS CLASSIFICATION WITH RADIAL BASIS AND PROBABILISTIC NEURAL NETWORKS CHAPTER 4 CLASSIFICATION WITH RADIAL BASIS AND PROBABILISTIC NEURAL NETWORKS 4.1 Introduction Optical character recognition is one of

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

Introduction to Sets and Logic (MATH 1190)

Introduction to Sets and Logic (MATH 1190) Introduction to Sets and Logic () Instructor: Email: shenlili@yorku.ca Department of Mathematics and Statistics York University Dec 4, 2014 Outline 1 2 3 4 Definition A relation R from a set A to a set

More information

I How does the formulation (5) serve the purpose of the composite parameterization

I How does the formulation (5) serve the purpose of the composite parameterization Supplemental Material to Identifying Alzheimer s Disease-Related Brain Regions from Multi-Modality Neuroimaging Data using Sparse Composite Linear Discrimination Analysis I How does the formulation (5)

More information

Introduction to Software Testing Chapter 4 Input Space Partition Testing

Introduction to Software Testing Chapter 4 Input Space Partition Testing Introduction to Software Testing Chapter 4 Input Space Partition Testing Paul Ammann & Jeff Offutt http://www.cs.gmu.edu/~offutt/ softwaretest/ Ch. 4 : Input Space Coverage Four Structures for Modeling

More information

Number System. Introduction. Natural Numbers (N) Whole Numbers (W) Integers (Z) Prime Numbers (P) Face Value. Place Value

Number System. Introduction. Natural Numbers (N) Whole Numbers (W) Integers (Z) Prime Numbers (P) Face Value. Place Value 1 Number System Introduction In this chapter, we will study about the number system and number line. We will also learn about the four fundamental operations on whole numbers and their properties. Natural

More information