36 citations found. Retrieving documents...
Bieman, J. M. and Ott, L. M. 1994. Measuring functional cohesion. IEEE Transactions on Software Engineering 20, 8 (Aug.), 644--657.

 Home/Search   Document Details and Download   Summary   Related Articles   Check  

This paper is cited in the following contexts:

First 50 documents

Amorphous Program Slicing - Harman, Binkley, Danicic (1997)   (16 citations)  (Correct)

....the size of the program. Originally slicing was applied to debugging [Weiser, 1979] Weiser, 1982] Lyle and Weiser, 1987] and (more recently) to algorithmic debugging [Shahmehri, 1991,Kamkar, 1993] Many other applications have also been investigated, for example, Cohesion Measurement [Bieman and Ott, 1994], Ott and Thuss, 1993] Lakhotia, 1993] Re engineering [Liu and Ellis, 1993] Simpson et al. 1993] Lakhotia and Deprez, 1998] Component Re use [Beck and Eichmann, 1993] Cimitile et al. 1996] Program Comprehension [De Lucia et al. 1996] Harman and Danicic, 1997] ....

Bieman, J. M. and Ott, L. M. (1994). Measuring functional cohesion. IEEE Transactions on Software Engineering, 20(8):644-657.


Program Slicing: Methods and Applications - De Lucia (2001)   (16 citations)  (Correct)

....to a variable v, independently of any program point. It is given by the union of the static slices computed with respect to the variable v and all possible program points p. Other applications of program slicing include software testing [9, 36, 42, 38, 43] program debugging [85, 70] measurement [75, 7, 73, 74], validation [63] program parallelization [86] program integration [44] reverse engineering and program comprehension [6, 29] program restructuring [52, 16, 21, 64, 51] and identification of reusable functions [17, 22, 65] In particular, the identification of an internal reusable function ....

J.M. Bieman and L.M. Ott, "Measuring functional cohesion", IEEE Transactions on Software Engineering, vol. 20, no. 8, 1994, pp. 644-657.


Flow Insensitive C++ Pointers and Polymorphism - Analysis And Its   (Correct)

....engineering. INTRODUCTION Many flow analyses have been applied to software engineering. For example reaching definitions analysis has been used in data flow testing [10] Slicing has been used in maintenance, debugging, reuse, testing, reverse engineering, metrics and architectural understanding [4, 5, 6, 9, 11, 12, 22]. Constant propagation has been used in user interface reengineering [2, 14] Modern programming languages contain features like pointers and objects. Object Oriented (OO) characteristics such as classes, inheritance, polymorphism and dynamic binding augment language expressivity, offer new ....

J. M. Bieman, L. M. Ott, "Measuring Functional Cohesion", IEEE Transactions on Software Engineering, Vol. 20, No. 8, August 1994, pp. 644-657


Defining and Validating Measures for Object-Based.. - Briand, Morasca, Basili (1999)   (3 citations)  (Correct)

....In Section 4.4, our goal was to take a step in that direction, to provide a measure of ADT cohesion which is based on the interaction graph model presented above and which can be captured through automatable data collection procedures. A proposal for functional cohesion measures can be found in [14]. Given a procedure, function, or main program, only data tokens, i.e. the occurrence of a definition or use of a variable or a constant, are taken into account. The data slice for a data token is the sequence of all those data tokens in the program that can influence the statement in which the ....

J. Bieman and L.M. Ott, "Measuring Functional Cohesion," IEEE Tr a n s S o t w a r e Eng , vol. 20, no. 8, pp. 644-657, Aug. 1994.


Software Measurement - Morasca   (Correct)

....(except LCOM) have been found generally useful in building models for various attributes. Many other measures have been defined. A comprehensive set is proposed in [21] Surveys can be found in [26, 27] 7.4.5. Functional Cohesion Three measures for functional cohesion are introduced in [28], based on the data tokens (i.e. the occurrences of a definition or use of a variable or a constant) that appear in a procedure, function, or main program. Each data token is on at least one data slice, i.e. a sequence of data tokens belonging to those statements that can influence the statement ....

J. Bieman and L. M. Ott, Measuring Functional Cohesion," IEEE Trans. Software Eng. 20 (1994) 644-657.


Flow Insensitive C++ Pointers and Polymorphism.. - Tonella, Antoniol.. (1997)   (Correct)

....engineering. INTRODUCTION Many flow analyses have been applied to software engineering. For example reaching definitions analysis has been used in data flow testing [10] Slicing has been used in maintenance, debugging, reuse, testing, reverse engineering, metrics and architectural understanding [4, 5, 6, 8, 9, 11, 12, 22]. Constant propagation has been used in user interface reengineering [2, 14] Modern programming languages contain features like pointers and objects. Object Oriented (OO) characteristics such as classes, inheritance, polymorphismand dynamic binding augment language expressivity and offer new ....

J. M. Bieman, L. M. Ott, "Measuring Functional Cohesion", IEEE Transactions on Software Engineering, Vol. 20, No. 8, pp. 644-657, August 1994.


Metrics Based Refactoring - Simon, Steinbrückner, Lewerentz (2001)   (11 citations)  (Correct)

....some outlooks. 2 Distance based cohesion Many refactorings, including those explained in Section 1, are based on violations of the principle Put together what belongs together . To measure the degree to which some parts belong together there exist many cohesion measures (cf. ChKe94] BiKa98] [BiOt93]) One generic cohesion measure that was firstly introduced by [SiLLe99] is strongly connected with the theory of similarity and dissimilarity. In correspondence to Bunge [Bung77] we define that the similarity between two entities relates to the collection of their shared properties. Suppose to ....

....to get cohesive classes. While cohesiveness can be reached on several levels, from the weakest coincidental cohesion to the strongest functional cohesion ( YoCo79] a static analysis technique is only able to consider indicators for cohesion. Most cohesion measures (e.g. LCOM [ChKe94] SFC or TCC [BiOt93]) consider use relations between functions and attributes as indicators for a functional cohesion, because if all members work together, i.e. they use each other or a common member, they relate to each other. Therefore, for our distance measure we need the same properties for attributes and ....

James M. Bieman, Linda M. Ott: "Measuring functional cohesion", Technical Report CS-93-109, Michigan Technological University, 1993


A New Algorithm for Slicing Unstructured Programs - Harman, Danicic (1998)   (4 citations)  (Correct)

....set of variables at some point in the original program, it has many applications, all of which are based upon the fact that a slice is a simplified 2 version of the original which maintains a projection of its semantics. Some applications of slicing are listed below: ffl cohesion measurement (Bieman and Ott, 1994; Ott and Thuss, 1993; Lakhotia, 1993) ffl algorithmic debugging (Shahmehri, 1991; Kamkar, 1993) ffl re engineering (Liu and Ellis, 1993; Simpson et al. 1993; Lakhotia and Deprez, 1998) ffl component re use (Beck and Eichmann, 1993; Cimitile et al. 1996) ffl automatic parallelisation ....

Bieman, J. M. and Ott, L. M. (1994). Measuring functional cohesion. IEEE Transactions on Software Engineering, 20(8):644--657.


Static Slicing of Concurrent Object-Oriented Programs - Zhao, Cheng, Ushijima (1996)   (15 citations)  (Correct)

....program is represented by its SDN, the slices of the program can be computed based on the SDN as a simple vertex reachability problem in the net. 1 Introduction Program slicing has many applications including program debugging [1, 11] testing [2] maintenance [8] and complexity measurement [3, 14]. A program slice consists of the parts of a program that (potentially) affect the values computed at some program point of interest, referred to as a slicing criterion. The parts of a program which have a direct or indirect effect on the values computed at a slicing criterion are called the ....

J. M. Bieman, L. M. Ott, "Measuring Functional Cohesion," IEEE Transaction on Software Engineering, Vol.20, No.8, pp.644-657, 1994.


Slicing Concurrent Logic Programs - Zhao, Cheng, Ushijima (1997)   (3 citations)  (Correct)

....languages. In such languages, slicing is typically performed by using program dependence graphs [4, 6, 9, 14] Program slicing has showed great usefulness for many software engineering activities such as program understanding, debugging [10] testing [1] maintenance [7] and complexity measurement [2, 14]. For more information, see Tip s nice survey on program slicing of imperative programs [18] However, although program slicing has been widely studied for imperative programs, research on slicing logic programs is just starting. To our knowledge, only three articles deal with the problem of ....

J. M. Bieman, L. M. Ott, "Measuring Functional Cohesion," IEEE Transaction on Software Engineering, Vol.20, No.8, pp.644-657, 1994.


Defining and Validating Measures for Object-Based High-Level .. - Briand, Morasca, al. (1999)   (3 citations)  (Correct)

....Section 4.4, our goal was to take a step in that direction, to provide a 20 measure of ADT cohesion which is based on the interaction graph model presented above and which can be captured through automatable data collection procedures. A proposal for functional cohesion measures can be found in [BO94]. Given a procedure, function, or main program, only data tokens (i.e. the occurrence of a definition or use of a variable or a constant) are taken into account. The data slice for a data token is the sequence of all those data tokens in the program that can influence the statement in which the ....

J. Bieman and L. M. Ott, "Measuring Functional Cohesion," IEEE Trans. Software Eng., 20 (8), August 1994, pp. 644-657.


On Assessing the Complexity of Software Architectures - Zhao (1998)   (Correct)

....Dependence Graph (ADG) to explicitly represent these architectural dependences in the architecture. The work presented here is primary, and there is still a lot of work that remains to be done. For example, in addition to defining metrics based on architectural dependences, similar to [2] which they defined some metrics based on program slices to evaluate functional cohesion of a program, we can also define metrics to evaluate the functional cohesion of a software architecture based on architectural slices that can be computed by a new slicing technique called architectural ....

J. M. Bieman and L. M. Ott, "Measuring Functional Cohesion, " IEEE Transaction on Software Engineering, Vol.20, No.8, pp.644-657, 1994.


Using Program Slicing to Simplify Testing - Harman, Danicic   (8 citations)  (Correct)

.... 1994; Agrawal, 1994; Ball and Horwitz, 1992) concurrent programming (Cheng, 1993) and, by highlighting the parts of a program which have no effect upon the slicing criterion, side effects within expressions (Tip, 1995a; Ernst, 1994) Slicing has many applications including measuring cohesion (Bieman and Ott, 1994; Ott and Thuss, 1993; Lakhotia, 1993; Harman et al. 1995a) algorithmic debugging (Shahmehri, 1991; Kamkar, 1993) re engineering (Lui and Ellis, 1993; Simpson et al. 1993) component re use (Beck and Eichmann, 1993) automatic parallelisation (Weiser, 1983) maintenance and debugging ....

Bieman, J. M. and Ott, L. M. (1994). Measuring functional cohesion. IEEE Transactions on Software Engineering, 20(8):644--657.


Multi-View Software Evolution: A UML-based Framework for.. - France, Bieman (2001)   Self-citation (Bieman)   (Correct)

....model our intuition about relative distances of a structure of classes from a particular pattern. We can then define ordinal, and eventually ratio, scale measures from such empirical relation systems. This is the approach that we took to develop measures of functional cohesion and class cohesion [7, 5]. Our hypothesis is that components that play roles in a small number of well defined architectural contexts will be easier to maintain, reuse, and test than components that play no role in these contexts or that play roles in many contexts. We are testing this hypothesis by examining commercial ....

J. Bieman and L. Ott. Measuring functional cohesion. IEEE Trans. Software Engineering, 20(8):644--657, Aug. 1994.


A Quantitative Framework for Software Restructuring - Kang, BIEMAN   Self-citation (Bieman)   (Correct)

....dependencies for data tokens in module statements, and identifies control dependencies involving loop predicates. 4. F Slicer: Generates program (also data) slice information for a module. A program slice is the portion of program text that affects a specified program variable (Weiser, 1994) Bieman and Ott (1994) defined a data slice for a data token as the sequence of all data tokens in the statements that comprise the backward and forward slices of the data token. 5. IODG tool: Generates IODG information with only input and output components using program slice information generated by the ....

....The current version of Unravel, a C slicer, is capable of producing compilable slices (Lyle et al. 1995) so it is a good candidate for component 7. A coupling analyzer is now under construction. FUNCO also includes an implementation of the functional cohesion measure defined by Bieman and Ott (Bieman and Ott, 1994). FUNCO has been installed and tested for SUN SPARC workstations running SUN OS and IBM RS6000 systems running AIX. It is available for general use on the World Wide Web (Kang and Bieman, 1997) 7. RESTRUCTURING CASE STUDY 7.1. Limitations We restructure a small software system to demonstrate ....

[Article contains additional citation context not shown here]

Bieman, J. and Ott, L. (1994) `Measuring functional cohesion', IEEE Transactions on Software Engineering, 20(8), 644--657.


Reuse Through Inheritance: A Quantitative Study of C++ Software - Bieman, Zhao (1995)   (6 citations)  Self-citation (Bieman)   (Correct)

....Threads: awe2 0.1 0.7237 0 10 0.7237 1 1 0 presto1.0 0.6071 0 10 0.6071 1 1 0 Others: RPC 0.1250 0 1 0.1250 0 1 0 MC 0.02 0.4694 0 8 0.4694 0 1 0 c suite 1.0 0.3333 0 5 0.3333 0 4 3.70 newmat 0.7222 0 9 0. 7222 1 1 0 attributes of object oriented systems including method and class cohesion [4, 2], method reuse through inheritance, and coupling through message passing. We also want to measure the redefinition of methods and instance variables by subclasses, since such redefinition can increase the difficulty of verification and testing [13] Measurements of these additional attributes ....

J. Bieman and L. Ott. Measuring functional cohesion. IEEE Trans. Software Engineering, 20(8):644-- 657, Aug. 1994.


Design-level Cohesion Measures: Derivation, Comparison, and.. - Kang, Bieman (1996)   Self-citation (Bieman)   (Correct)

....of the associations between processing elements as a set of rules concerning data dependencies in module code. This method requires the analysis of code level information and thus cannot be applied before code is written. The second approach, a slice based approach, is used by Bieman and Ott [2]. They measure functional cohesion in terms of the connections between code data tokens on module output slices. This method also requires code level information. Research partially supported by NASA Langley Research Center grant NAG1 1461. Copyright c fl1996 by Byung Kyoo Kang and James M. ....

.... begin if flag = 1 for i : 1 to n1 do sum1 : sum1 arr1[i] else end; for i : 1 to n2 do sum2 : sum2 arr2[i] sum2 : integer ) procedure Sum1 or Sum2 var i : integer; var sum1, e) arr1, arr2 : int array; n1, n2, flag : integer; b) n fib arr begin for i : 3 to n fib arr[1] 1; fib arr[2] : 2; i : integer; var asum : int array; var fib arr : int array; n : integer; Sum(n, fib arr, sum) end; fib arr[i] fib arr[i 1] fib arr[i 2] Sequential cohesion d i d d Sum d procedure Fibo Avg var avg : float ) avg : sum n; avg n arr sum Functional cohesion d i sum : sum ....

[Article contains additional citation context not shown here]

J. Bieman and L. Ott. Measuring functional cohesion. IEEE Trans. Software Engineering, 20(8):644-- 657, August 1994.


Using Design Cohesion to Visualize, Quantify, and Restructure.. - Kang, Bieman (1996)   Self-citation (Bieman)   (Correct)

....Objective criteria for evaluating design alternatives are needed. Many existing criteria are applicable to implementations, not designs. Examples of objective criteria for evaluating code structure include principles of structured programming, the cyclomatic number [11] functional cohesion [4], and many others. The principles of information hiding and data abstraction provide guidance for structuring a design, but do not give objective means for comparing alternative structures. Function points are used to predict the expected size of an implementation rather than to evaluate design ....

....would be created from a given design. It is defined in terms of processing elements , which is processing that must be done in a module but may not yet be reduced to code. The DLC measure treats each output component as part of a module s functionality, which is how functional cohesion measures [4] and Lakhotia s rules to compute module cohesion [10] have been defined. The processing element of SMC Cohesion, therefore, corresponds to the output component of the DLC measure. Figure 3 shows the relationship between the DLC measure and SMC Cohesion. We omit the temporal association of SMC ....

[Article contains additional citation context not shown here]

J. Bieman and L. Ott. Measuring functional cohesion. IEEE Trans. Software Engineering, 20(8):644-- 657, Aug. 1994.


Empirical Study of Optimization Techniques for Massive Slicing - Binkley, Harman, Krinke   (Correct)

No context found.

Bieman, J. M. and Ott, L. M. 1994. Measuring functional cohesion. IEEE Transactions on Software Engineering 20, 8 (Aug.), 644--657.


A Dissertation - Presented To The (1995)   (Correct)

No context found.

Bieman, J. M. and Ott, L. M., "Measuring Functional Cohesion," IEEE Transactions on Software Engineering, Vol. 20, No. 8, August 1994, pp 644-657.


Analysis and Visualization of - Predicate Dependence On   (Correct)

No context found.

J.M. Bieman and L.M. Ott, "Measuring Functional Cohesion," IEEE Trans. Software Eng., vol. 20, no. 8, pp. 644-657, Aug. 1994.


The Java System Dependence Graph - Walkinshaw, Roper, Wood (2003)   (3 citations)  (Correct)

No context found.

J. Bieman and L. Ott, "Measuring functional cohesion, " IEEE Transactions on Software Engineering, vol. 20, pp. 644--658, August 1994.


The Java System Dependence Graph - Walkinshaw, Roper, Wood (2003)   (3 citations)  (Correct)

No context found.

J. Bieman and L. Ott, "Measuring functional cohesion, " IEEE Transactions on Software Engineering, vol. 20, pp. 644--658, August 1994.


Applying Program Dependence Analysis To Java Software - Zhao (1998)   (7 citations)  (Correct)

No context found.

J. M. Bieman, L. M. Ott, "Measuring Functional Cohesion, " IEEE Transaction on Software Engineering, Vol.20, No.8, pp.644-657, 1994.


System Dependence Net: An Interprocedural Program.. - Zhao, Cheng, Ushijima (1997)   (Correct)

No context found.

J. M. Bieman, L. M. Ott, "Measuring Functional Cohesion," IEEE Transaction on Software Engineering, Vol.20, No.8, pp.644-657, 1994.

First 50 documents

Online articles have much greater impact   More about CiteSeer.IST   Add search form to your site   Submit documents   Feedback  

CiteSeer.IST - Copyright Penn State and NEC