The Experts below are selected from a list of 3756 Experts worldwide ranked by ideXlab platform
Chunchia Wang - One of the best experts on this subject based on the ideXlab platform.
-
An Object-Oriented Design Complexity Metric Based on Inheritance Relationships
International Journal of Software Engineering and Knowledge Engineering, 1998Co-Authors: Timothy K Shih, W C Pai, Yule-chyun Lin, Chunchia WangAbstract:Software metrics serve as a significant issue to improve software quality. It is an important research of software engineering. In line with the methodologies of object-oriented analysis and design widely developed, many software metrics techniques have been proposed. However, not many focus on the metrics evaluation of an Inheritance Hierarchy. In this paper, we propose a novel concept named unit repeated Inheritance (URI) in Z notation to realize object-oriented software metrics. The approach describes an Inheritance level technique (ILT) method as a guide to measure the software complexity of an Inheritance Hierarchy. The measures of Inheritance metrics are formed based on the proposed mechanism. Also, we use Lex and Yacc to construct a windowing tool which is used in conjunction with a conventional C++ programming environment to assist a programmer to analyze and measure his/her C++ programs.
-
an automated object oriented testing for c Inheritance Hierarchy
Automated Software Engineering, 1997Co-Authors: Chunchia Wang, W C Pai, Timothy K ShihAbstract:This paper proposes a concept named unit repeated Inheritance (URI) in Z notation to realize object-oriented testing of an Inheritance Hierarchy. Based on this unit, an Inheritance level technique (ILT) method as a guide to test object-oriented software errors in the Inheritance Hierarchy is described. In addition, two testing criteria, intralevel first and interlevel first, are formed based on the proposed mechanism. Moreover, in order to make the test process automatic, we use LEX and YACC to automatically generate a lexical analyzer and a parser to demonstrate a declaration of C++ source code. And, we also construct a windowing tool used in conjunction with a conventional C++ programming environment to assist a programmer to analyze and test his/her C++ programs.
-
Object-oriented software testing and metric in Z specification
Information Sciences, 1997Co-Authors: Chi-ming Chung, Timothy K Shih, Chunchia WangAbstract:Software testing and metrics are key issues to improve software quality. They are important issues in the research of software engineering. In line with the methodologies of object-oriented analysis and design widely developed, many testing and metrics techniques have been proposed. However, not many focus on the testing criteria and metrics evaluation of an Inheritance Hierarchy. In this paper, we introduce a concept named unit repeated Inheritance (URI) in Z to realize object-oriented testing and object-oriented metrics. The approach describes an Inheritance level technique (ILT) method as a guide to test and measure the software complexity of an Inheritance Hierarchy. The measurement of Inheritance metrics and some testing criteria thus can be formed based on the proposed mechanism.
-
decomposition of Inheritance Hierarchy dags for object oriented software metrics
Engineering of Computer-Based Systems, 1997Co-Authors: Timothy K Shih, Chunchia Wang, Chi-ming Chung, W C PaiAbstract:Software metrics are widely used to measure software complexity and assure software quality. However, research in the field of software complexity measurement of a class Hierarchy has not yet been carefully studied. The authors introduce a novel factor called unit repeated Inheritance (URI) and an important method called the Inheritance level technique (ILT) to realize and measure the object-oriented software complexity of a class Hierarchy. The approach is based on the graph-theoretical model for measuring the hierarchical complexity in Inheritance relations. The proposed metrics extraction shows that Inheritance is closely related to the object-oriented software measurement and reveals that overuse of the repeated (multiple) Inheritance will increase software complexity and be prone to implicit software errors.
-
Using Z to specify object-oriented software complexity measures
Information and Software Technology, 1997Co-Authors: Timothy K Shih, Chunchia Wang, Chi-ming ChungAbstract:Software metrics have been a key strategy for software engineers to assure software quality and measure software complexity for many years. However, the complexity metrics of object Inheritance hierarchies have not yet been carefully studied. This paper proposes an Inheritance level-based metric for measuring the object-oriented software complexity of an Inheritance Hierarchy. We introduce an algorithm which is proved to be complete and sound to decompose an Inheritance Hierarchy into a number of measured elements, namely, unit repeated Inheritances (URIs). We use the Z specification to model the Inheritance Hierarchy and describe an Inheritance level technique (ILT) based on URIs as a guide to measure the Inheritance Hierarchy. The proposed metric shows that Inheritance has a close relation to object-oriented software complexity. The metric also reveals that overuse of repeated (multiple) Inheritance will increase software complexity and thus is prone to implicit software errors. The measurement of Inheritance metrics is formed based on the proposed mechanism.
Chi-ming Chung - One of the best experts on this subject based on the ideXlab platform.
-
Object-oriented software testing and metric in Z specification
Information Sciences, 1997Co-Authors: Chi-ming Chung, Timothy K Shih, Chunchia WangAbstract:Software testing and metrics are key issues to improve software quality. They are important issues in the research of software engineering. In line with the methodologies of object-oriented analysis and design widely developed, many testing and metrics techniques have been proposed. However, not many focus on the testing criteria and metrics evaluation of an Inheritance Hierarchy. In this paper, we introduce a concept named unit repeated Inheritance (URI) in Z to realize object-oriented testing and object-oriented metrics. The approach describes an Inheritance level technique (ILT) method as a guide to test and measure the software complexity of an Inheritance Hierarchy. The measurement of Inheritance metrics and some testing criteria thus can be formed based on the proposed mechanism.
-
decomposition of Inheritance Hierarchy dags for object oriented software metrics
Engineering of Computer-Based Systems, 1997Co-Authors: Timothy K Shih, Chunchia Wang, Chi-ming Chung, W C PaiAbstract:Software metrics are widely used to measure software complexity and assure software quality. However, research in the field of software complexity measurement of a class Hierarchy has not yet been carefully studied. The authors introduce a novel factor called unit repeated Inheritance (URI) and an important method called the Inheritance level technique (ILT) to realize and measure the object-oriented software complexity of a class Hierarchy. The approach is based on the graph-theoretical model for measuring the hierarchical complexity in Inheritance relations. The proposed metrics extraction shows that Inheritance is closely related to the object-oriented software measurement and reveals that overuse of the repeated (multiple) Inheritance will increase software complexity and be prone to implicit software errors.
-
Using Z to specify object-oriented software complexity measures
Information and Software Technology, 1997Co-Authors: Timothy K Shih, Chunchia Wang, Chi-ming ChungAbstract:Software metrics have been a key strategy for software engineers to assure software quality and measure software complexity for many years. However, the complexity metrics of object Inheritance hierarchies have not yet been carefully studied. This paper proposes an Inheritance level-based metric for measuring the object-oriented software complexity of an Inheritance Hierarchy. We introduce an algorithm which is proved to be complete and sound to decompose an Inheritance Hierarchy into a number of measured elements, namely, unit repeated Inheritances (URIs). We use the Z specification to model the Inheritance Hierarchy and describe an Inheritance level technique (ILT) based on URIs as a guide to measure the Inheritance Hierarchy. The proposed metric shows that Inheritance has a close relation to object-oriented software complexity. The metric also reveals that overuse of repeated (multiple) Inheritance will increase software complexity and thus is prone to implicit software errors. The measurement of Inheritance metrics is formed based on the proposed mechanism.
-
ECBS - Decomposition of Inheritance Hierarchy DAGs for object-oriented software metrics
Proceedings International Conference and Workshop on Engineering of Computer-Based Systems, 1Co-Authors: Timothy K Shih, Chunchia Wang, Chi-ming Chung, W.c. PaiAbstract:Software metrics are widely used to measure software complexity and assure software quality. However, research in the field of software complexity measurement of a class Hierarchy has not yet been carefully studied. The authors introduce a novel factor called unit repeated Inheritance (URI) and an important method called the Inheritance level technique (ILT) to realize and measure the object-oriented software complexity of a class Hierarchy. The approach is based on the graph-theoretical model for measuring the hierarchical complexity in Inheritance relations. The proposed metrics extraction shows that Inheritance is closely related to the object-oriented software measurement and reveals that overuse of the repeated (multiple) Inheritance will increase software complexity and be prone to implicit software errors.
Timothy K Shih - One of the best experts on this subject based on the ideXlab platform.
-
An Object-Oriented Design Complexity Metric Based on Inheritance Relationships
International Journal of Software Engineering and Knowledge Engineering, 1998Co-Authors: Timothy K Shih, W C Pai, Yule-chyun Lin, Chunchia WangAbstract:Software metrics serve as a significant issue to improve software quality. It is an important research of software engineering. In line with the methodologies of object-oriented analysis and design widely developed, many software metrics techniques have been proposed. However, not many focus on the metrics evaluation of an Inheritance Hierarchy. In this paper, we propose a novel concept named unit repeated Inheritance (URI) in Z notation to realize object-oriented software metrics. The approach describes an Inheritance level technique (ILT) method as a guide to measure the software complexity of an Inheritance Hierarchy. The measures of Inheritance metrics are formed based on the proposed mechanism. Also, we use Lex and Yacc to construct a windowing tool which is used in conjunction with a conventional C++ programming environment to assist a programmer to analyze and measure his/her C++ programs.
-
an automated object oriented testing for c Inheritance Hierarchy
Automated Software Engineering, 1997Co-Authors: Chunchia Wang, W C Pai, Timothy K ShihAbstract:This paper proposes a concept named unit repeated Inheritance (URI) in Z notation to realize object-oriented testing of an Inheritance Hierarchy. Based on this unit, an Inheritance level technique (ILT) method as a guide to test object-oriented software errors in the Inheritance Hierarchy is described. In addition, two testing criteria, intralevel first and interlevel first, are formed based on the proposed mechanism. Moreover, in order to make the test process automatic, we use LEX and YACC to automatically generate a lexical analyzer and a parser to demonstrate a declaration of C++ source code. And, we also construct a windowing tool used in conjunction with a conventional C++ programming environment to assist a programmer to analyze and test his/her C++ programs.
-
Object-oriented software testing and metric in Z specification
Information Sciences, 1997Co-Authors: Chi-ming Chung, Timothy K Shih, Chunchia WangAbstract:Software testing and metrics are key issues to improve software quality. They are important issues in the research of software engineering. In line with the methodologies of object-oriented analysis and design widely developed, many testing and metrics techniques have been proposed. However, not many focus on the testing criteria and metrics evaluation of an Inheritance Hierarchy. In this paper, we introduce a concept named unit repeated Inheritance (URI) in Z to realize object-oriented testing and object-oriented metrics. The approach describes an Inheritance level technique (ILT) method as a guide to test and measure the software complexity of an Inheritance Hierarchy. The measurement of Inheritance metrics and some testing criteria thus can be formed based on the proposed mechanism.
-
decomposition of Inheritance Hierarchy dags for object oriented software metrics
Engineering of Computer-Based Systems, 1997Co-Authors: Timothy K Shih, Chunchia Wang, Chi-ming Chung, W C PaiAbstract:Software metrics are widely used to measure software complexity and assure software quality. However, research in the field of software complexity measurement of a class Hierarchy has not yet been carefully studied. The authors introduce a novel factor called unit repeated Inheritance (URI) and an important method called the Inheritance level technique (ILT) to realize and measure the object-oriented software complexity of a class Hierarchy. The approach is based on the graph-theoretical model for measuring the hierarchical complexity in Inheritance relations. The proposed metrics extraction shows that Inheritance is closely related to the object-oriented software measurement and reveals that overuse of the repeated (multiple) Inheritance will increase software complexity and be prone to implicit software errors.
-
Using Z to specify object-oriented software complexity measures
Information and Software Technology, 1997Co-Authors: Timothy K Shih, Chunchia Wang, Chi-ming ChungAbstract:Software metrics have been a key strategy for software engineers to assure software quality and measure software complexity for many years. However, the complexity metrics of object Inheritance hierarchies have not yet been carefully studied. This paper proposes an Inheritance level-based metric for measuring the object-oriented software complexity of an Inheritance Hierarchy. We introduce an algorithm which is proved to be complete and sound to decompose an Inheritance Hierarchy into a number of measured elements, namely, unit repeated Inheritances (URIs). We use the Z specification to model the Inheritance Hierarchy and describe an Inheritance level technique (ILT) based on URIs as a guide to measure the Inheritance Hierarchy. The proposed metric shows that Inheritance has a close relation to object-oriented software complexity. The metric also reveals that overuse of repeated (multiple) Inheritance will increase software complexity and thus is prone to implicit software errors. The measurement of Inheritance metrics is formed based on the proposed mechanism.
Murray Wood - One of the best experts on this subject based on the ideXlab platform.
-
an analysis of Inheritance Hierarchy evolution
Evaluation and Assessment in Software Engineering, 2019Co-Authors: Murray Wood, Lyubomir Ivanov, Zenon LamprouAbstract:This research investigates the evolution of object-oriented Inheritance hierarchies in open source, Java systems. The paper contributes an understanding of how hierarchies, particularly large complex hierarchies, evolve in 'real world' systems. It informs object-oriented design practices that aim to control or avoid these complicated design structures. The study is based on a detailed analysis of 665 Inheritance hierarchies drawn from a total of 262 versions of 10 open source systems. The research contributions include that: i) the majority of Inheritance hierarchies are 'simple' in structure and remain that way throughout their lifetimes ii) the majority of hierarchies are stable in terms of size and shape throughout their lifetimes iii) there is a minority of large, complex, branching 'Subtree' hierarchies that continue to grow ever more complicated as the systems evolve iv) a detailed analysis of some of these larger hierarchies finds evidence of 'good' object-oriented design practices being used but also highlights the significant challenges involved in understanding and refactoring these complex structures. There is clear evidence that some of the complex hierarchies are emphasising reuse while others appear focused on type Inheritance.
-
EASE - An Analysis of Inheritance Hierarchy Evolution
Proceedings of the Evaluation and Assessment on Software Engineering, 2019Co-Authors: Murray Wood, Lyubomir Ivanov, Zenon LamprouAbstract:This research investigates the evolution of object-oriented Inheritance hierarchies in open source, Java systems. The paper contributes an understanding of how hierarchies, particularly large complex hierarchies, evolve in 'real world' systems. It informs object-oriented design practices that aim to control or avoid these complicated design structures. The study is based on a detailed analysis of 665 Inheritance hierarchies drawn from a total of 262 versions of 10 open source systems. The research contributions include that: i) the majority of Inheritance hierarchies are 'simple' in structure and remain that way throughout their lifetimes ii) the majority of hierarchies are stable in terms of size and shape throughout their lifetimes iii) there is a minority of large, complex, branching 'Subtree' hierarchies that continue to grow ever more complicated as the systems evolve iv) a detailed analysis of some of these larger hierarchies finds evidence of 'good' object-oriented design practices being used but also highlights the significant challenges involved in understanding and refactoring these complex structures. There is clear evidence that some of the complex hierarchies are emphasising reuse while others appear focused on type Inheritance.
-
ICSE - Inheritance usage patterns in open-source systems
Proceedings of the 40th International Conference on Software Engineering, 2018Co-Authors: Jamie Stevenson, Murray WoodAbstract:This research investigates how object-oriented Inheritance is actually used in practice. The aim is to close the gap between Inheritance guidance and Inheritance practice. It is based on detailed analyses of 2440 Inheritance hierarchies drawn from 14 open-source systems. The original contributions made by this paper concern pragmatic assessment of Inheritance Hierarchy design quality. The findings show that Inheritance is very widely used but that most of the usage patterns that occur in practice are simple in structure. They are so simple that they may not require much Inheritance-specific design consideration. On the other hand, the majority of classes defined using Inheritance actually appear within a relatively small number of large, complex hierarchies. While some of these large hierarchies appear to have a consistent structure, often based on a problem domain model or a design pattern, others do not. Another contribution is that the quality of hierarchies, especially the large problematic ones, may be assessed in practice based on size, shape, and the definition and invocation of novel methods - all properties that can be detected automatically.
-
Evaluating Inheritance depth on the maintainability of object-oriented software
Empirical Software Engineering, 1996Co-Authors: John Daly, Andrew Brooks, James Miller, Marc Roper, Murray WoodAbstract:This empirical research was undertaken as part of a multi-method programme of research to investigate unsupported claims made of object-oriented technology. A series of subject-based laboratory experiments, including an internal replication, tested the effect of Inheritance depth on the maintainability of object-oriented software. Subjects were timed performing identical maintenance tasks on object-oriented software with a Hierarchy of three levels of Inheritance depth and equivalent object-based software with no Inheritance. This was then replicated with more experienced subjects. In a second experiment of similar design, subjects were timed performing identical maintenance tasks on object-oriented software with a Hierarchy of five levels of Inheritance depth and the equivalent object-based software. The collected data showed that subjects maintaining object-oriented software with three levels of Inheritance depth performed the maintenance tasks significantly quicker than those maintaining equivalent object-based software with no Inheritance. In contrast, subjects maintaining the object-oriented software with five levels of Inheritance depth took longer, on average, than the subjects maintaining the equivalent object-based software (although statistical significance was not obtained). Subjects' source code solutions and debriefing questionnaires provided some evidence suggesting subjects began to experience difficulties with the deeper Inheritance Hierarchy. It is not at all obvious that object-oriented software is going to be more maintainable in the long run. These findings are sufficiently important that attempts to verify the results should be made by independent researchers.
Michele Missikoff - One of the best experts on this subject based on the ideXlab platform.
-
Inheritance Hierarchy design in object-oriented databases
Data & Knowledge Engineering, 1999Co-Authors: Catriel Beeri, Anna Formica, Michele MissikoffAbstract:Abstract Object-oriented database schema design is still mostly an art. One of the difficulties encountered during design is typing conflicts induced by multiple Inheritance. In this paper, we propose a method for treating such a kind of conflicts. Our approach to Inheritance conflict solving consists of several ingredients. First, we rely on branding, to introduce ‘type equivalence by name’, thus allowing a designer to distinguish between structurally similar but se-mantically different types. However, we offer a heuristic that does not require a designer to explicitly state branding declarations. Second, we describe various kinds of conflicts, and we offer a set of procedures that analyze a schema to discover such conflicts, classify them, offering potential solutions, if possible. The procedures have been conceived for a design system that allows a designer maximum flexibility, while guiding him/her to a correct design.
-
Object-oriented database schema analysis and Inheritance processing: a graph-theoretic approach
Data & Knowledge Engineering, 1997Co-Authors: Anna Formica, H. D. Groger, Michele MissikoffAbstract:Abstract In this paper we address the Inheritance process in the context of strongly typed Object-oriented database (OODB) systems, allowing multiple Inheritance and overriding. For such powerful systems, it is important to analyse the Inheritance Hierarchy to identify a number of significant properties. The first, schema consistency , is connected to the Inheritance conflicts . In the presence of an unsolvable Inheritance conflict there is a contradiction in the schema. The second property is related to the termination of the Inheritance process. We expect that all the subtypes in the schema, if consistent, can be rewritten in expanded form, after Inheritance, in a finite time. Schemas that guarantee these two formal properties will be referred to as correct schemas. In the paper a graph-theoretic method is provided, aimed at supporting the designer in checking the correctness and deriving the expanded form of a schema. Furthermore, from the analysis of the complexity of the Inheritance process, a third formal property has been defined, concerning the degree of compactness achievable in a schema, by using Inheritance hierarchies. In particular, a class of schemas has been defined, referred to as logarithmic schemas, whose expanded forms, after Inheritance, become exponential in the size of the original schemas.