A novel kernel learning method for object-oriented (00) software fault prediction is proposed in this paper. With this method, each set of classes that has inheritance relation named class hierarchy, is treated as a...A novel kernel learning method for object-oriented (00) software fault prediction is proposed in this paper. With this method, each set of classes that has inheritance relation named class hierarchy, is treated as an elemental software model. A layered kernel is introduced to handle the tree data structure corresponding to the class hierarchy models. This method was vali- dated using both an artificial dataset and a case of industrial software from the optical communication field. Preliminary experi- ments showed that our approach is very effective in learning structured data and outperforms the traditional support vector learning methods in accurately and correctly predicting the fault-prone class hierarchy model in real-life OO software.展开更多
An object-oriented approach is taken to the problem of formulating portable, easy-to-modify PDE solvers for realistic problems in three space dimensions. The resulting software library, Cogito, contains tools for writ...An object-oriented approach is taken to the problem of formulating portable, easy-to-modify PDE solvers for realistic problems in three space dimensions. The resulting software library, Cogito, contains tools for writing programs to be executed on MIMD computers with distributed memory. Difference methods on composite, structured grids are supported. Most of the Cogito classes have been implemented in Fortran 77, in such a way that the object-oriented design is visible. With respect to parallel performance, these tools yield code that is comparable to parallel solvers written in plain Fortran 77. The resulting programs are can be executed without modification on a large number of multicomputer platforms, and also on serial computers. The uppermost level of abstraction in Cogito concerns the problem of decoupling the numerical method from the PDE problem. The validity of these tools has been preliminarily demonstrated with a C++ implementation for one-dimensional problems.展开更多
Most current object-oriented programming courses offered by domestic colleges and universities generally focus on the object-oriented programming language itself,i.e.,the programming grammar of the language,but ignore...Most current object-oriented programming courses offered by domestic colleges and universities generally focus on the object-oriented programming language itself,i.e.,the programming grammar of the language,but ignore the design pattern.However,design patterns are essential to software engineering because they can solve common problems in software design and improve code reuse,readability,extensibility,and reliability.Our Object-oriented Software Construction Course is creative since it aims at cultivating students’object-oriented thinking as well as basic abilities required to construct high-quality,object-oriented software.Specifically,we exploit the 5E teaching principle during the education of this course,and present the whole pipeline in the paper.We also provide one case of the factory pattern to further demonstrate the implementation of the 5E teaching principle in the course.The effect of the 5E teaching principle has also been demonstrated.展开更多
The increasing use of digital video everyday in a multitude of electronic devices, including mobile phones, tablets and laptops, poses the need for quick development of cross-platform video software. However current a...The increasing use of digital video everyday in a multitude of electronic devices, including mobile phones, tablets and laptops, poses the need for quick development of cross-platform video software. However current approaches to this direction usually require a long learning curve, and their development lacks standardization. This results in software components that are difficult to reuse, and hard to maintain or extend. In order to overcome such issues, we propose a novel object-oriented framework for efficient development of software systems for video analysis. It consists of a set of four abstract components, suitable for the implementation of independent plug-in modules for video acquisition, preprocessing, analysis and output handling. The extensibility of each module can be facilitated by sub-modules specifying additional functionalities. This architecture enables quick responses to changes and re-configurability;thus conforming to the requirements of agile software development practices. Considering the need for platform independency, the proposed Java Video Analysis (JVA) framework is implemented in Java. It is publicly available through the web as open-access software, supported by a growing collection of implemented modules. Its efficiency is empirically validated for the development of a representative video analysis system.展开更多
In reference to the status quo of research and the application of the agricultural expert system, this paper analyzes problems existing in the current development, and puts forward the idea of research and development...In reference to the status quo of research and the application of the agricultural expert system, this paper analyzes problems existing in the current development, and puts forward the idea of research and development for agriculturespecific software. The agent application is discussed, and an agent-based Agricultural Expert System Inspection Tool is constructed. In addition, this paper addresses the outlook in application, potential problems and the development trend of multi-agent-based inspection software for the agricultural expert system.展开更多
This paper presents an agent-based software service framework model called ASF, and defines the basic concepts and structure of ASF model. It also describes the management and process mechanisms in ASF model.
Automatically mapping a requirement specification to design model in Software Engineering is an open complex problem. Existing methods use a complex manual process that use the knowledge from the requirement specifica...Automatically mapping a requirement specification to design model in Software Engineering is an open complex problem. Existing methods use a complex manual process that use the knowledge from the requirement specification/modeling and the design, and try to find a good match between them. The key task done by designers is to convert a natural language based requirement specification (or corresponding UML based representation) into a predominantly computer language based design model—thus the process is very complex as there is a very large gap between our natural language and computer language. Moreover, this is not just a simple language conversion, but rather a complex knowledge conversion that can lead to meaningful design implementation. In this paper, we describe an automated method to map Requirement Model to Design Model and thus automate/partially automate the Structured Design (SD) process. We believe, this is the first logical step in mapping a more complex requirement specification to design model. We call it IRTDM (Intelligent Agent based requirement model to design model mapping). The main theme of IRTDM is to use some AI (Artificial Intelligence) based algorithms, semantic representation using Ontology or Predicate Logic, design structures using some well known design framework and Machine Learning algorithms for learning over time. Semantics help convert natural language based requirement specification (and associated UML representation) into high level design model followed by mapping to design structures. AI method can also be used to convert high level design structures into lower level design which then can be refined further by some manual and/or semi automated process. We emphasize that automation is one of the key ways to minimize the software cost, and is very important for all, especially, for the “Design for the Bottom 90% People” or BOP (Base of the Pyramid People).展开更多
In order to investigate the mechanical behavior of systems with complex architecture and a large number of contacting bodies,a finite element software,named LiToTac,has been developed by using the object-oriented prog...In order to investigate the mechanical behavior of systems with complex architecture and a large number of contacting bodies,a finite element software,named LiToTac,has been developed by using the object-oriented programming technique.This software,with an interactive graphical user interface,is able to handle highly non-linear problems including multiple contacts and large deformation.More importantly,the contact detection based on a hybrid three-stages methodology can be performed automatically,which is more efficient than the common strategies of pre-defining contact zones in commercial FEM software like ANSYS,ABAQUS,etc.In addition,the contact solver in LiToTac is portable between dynamic and quasi-static codes and can accurately solve contact coupled with friction in a reduced system.Several numerical examples are carried out to illustrate the functionality and capacity of the software package.展开更多
Detecting well-known design patterns in object-oriented program source code can help maintainers understand the design of a program. Through the detection, the understandability, maintainability, and reusability of ob...Detecting well-known design patterns in object-oriented program source code can help maintainers understand the design of a program. Through the detection, the understandability, maintainability, and reusability of object-oriented programs can be improved. There are automated detection techniques;however, many existing techniques are based on static analysis and use strict conditions composed on class structure data. Hence, it is difficult for them to detect and distinguish design patterns in which the class structures are similar. Moreover, it is difficult for them to deal with diversity in design pattern applications. To solve these problems in existing techniques, we propose a design pattern detection technique using source code metrics and machine learning. Our technique judges candidates for the roles that compose design patterns by using machine learning and measurements of several metrics, and it detects design patterns by analyzing the relations between candidates. It suppresses false negatives and distinguishes patterns in which the class structures are similar. As a result of experimental evaluations with a set of programs, we confirmed that our technique is more accurate than two conventional techniques.展开更多
There has not been life cycle assessment (LCA) software applicable to China's products. To faciliate the development of LCA software system in China, we built an object-oriented LCA software system plantform based...There has not been life cycle assessment (LCA) software applicable to China's products. To faciliate the development of LCA software system in China, we built an object-oriented LCA software system plantform based on LCA international standards ISO 14040 to ISO 14043 and the commonness of diverse products. The system includes six modules: disassembly module, data collection module, arithmetic module, drawing module, database module and control module. It evaluates all economic and environmental impacts during the whole life cycle of a product. The integrated life cycle inventory database system allows dynamic expansion, which makes the effort required for data collection reduce with the increase of the system's application. With the improvement of human environmental-awareness, the demand of environment-friendly products is increasing, and ecological design of products has become a critical part in products development. Consummation of the LCA software system will provide a powerful tool for designing and developing Chinese ecological products.展开更多
This paper proposes and illustrates an AI embedded object-oriented methodology to formulate the computable general equilibrium (CGE) models. In this framework, a CGE model is viewed as a collection of objects embedd...This paper proposes and illustrates an AI embedded object-oriented methodology to formulate the computable general equilibrium (CGE) models. In this framework, a CGE model is viewed as a collection of objects embedded AI or namely agents in computer world, corresponding to economic agents and entities in real world, such as government, households, markets and so on. A frame representation of major objects in CGE model is used for trade and environment. Embedded Al object-oriented approach (or software agent) is used in the CGE model representation can able to narrow the gap among the semantic representation, formal CGE (mathematical) representation and computer and algorithm representation, and to improve CGE in understanding and maintenance etc. In such a system, constructing a CGE model to appear an intuitive process rather than an abstract process. This intuitive process needs more understanding of the substance of economics and the logic underlying the problem rather than mathematical notation.展开更多
Structural development defects essentially refer to code structure that violates object-oriented design principles. They make program maintenance challenging and deteriorate software quality over time. Various detecti...Structural development defects essentially refer to code structure that violates object-oriented design principles. They make program maintenance challenging and deteriorate software quality over time. Various detection approaches, ranging from traditional heuristic algorithms to machine learning methods, are used to identify these defects. Ensemble learning methods have strengthened the detection of these defects. However, existing approaches do not simultaneously exploit the capabilities of extracting relevant features from pre-trained models and the performance of neural networks for the classification task. Therefore, our goal has been to design a model that combines a pre-trained model to extract relevant features from code excerpts through transfer learning and a bagging method with a base estimator, a dense neural network, for defect classification. To achieve this, we composed multiple samples of the same size with replacements from the imbalanced dataset MLCQ1. For all the samples, we used the CodeT5-small variant to extract features and trained a bagging method with the neural network Roberta Classification Head to classify defects based on these features. We then compared this model to RandomForest, one of the ensemble methods that yields good results. Our experiments showed that the number of base estimators to use for bagging depends on the defect to be detected. Next, we observed that it was not necessary to use a data balancing technique with our model when the imbalance rate was 23%. Finally, for blob detection, RandomForest had a median MCC value of 0.36 compared to 0.12 for our method. However, our method was predominant in Long Method detection with a median MCC value of 0.53 compared to 0.42 for RandomForest. These results suggest that the performance of ensemble methods in detecting structural development defects is dependent on specific defects.展开更多
Agent oriented software development method is a new research area in the field of software engineering.As the method provides abstract concept, i.e. , agent, to naturally model the computational entities and problemso...Agent oriented software development method is a new research area in the field of software engineering.As the method provides abstract concept, i.e. , agent, to naturally model the computational entities and problemsolving manners in complex system, and ways to effectively control the system complexity, many attentions havebeen imposed on it. The paper summarizes the research status, introduces and investigates a number of representativeworks, and at last concludes the existing problems and future further research work.展开更多
文摘A novel kernel learning method for object-oriented (00) software fault prediction is proposed in this paper. With this method, each set of classes that has inheritance relation named class hierarchy, is treated as an elemental software model. A layered kernel is introduced to handle the tree data structure corresponding to the class hierarchy models. This method was vali- dated using both an artificial dataset and a case of industrial software from the optical communication field. Preliminary experi- ments showed that our approach is very effective in learning structured data and outperforms the traditional support vector learning methods in accurately and correctly predicting the fault-prone class hierarchy model in real-life OO software.
文摘An object-oriented approach is taken to the problem of formulating portable, easy-to-modify PDE solvers for realistic problems in three space dimensions. The resulting software library, Cogito, contains tools for writing programs to be executed on MIMD computers with distributed memory. Difference methods on composite, structured grids are supported. Most of the Cogito classes have been implemented in Fortran 77, in such a way that the object-oriented design is visible. With respect to parallel performance, these tools yield code that is comparable to parallel solvers written in plain Fortran 77. The resulting programs are can be executed without modification on a large number of multicomputer platforms, and also on serial computers. The uppermost level of abstraction in Cogito concerns the problem of decoupling the numerical method from the PDE problem. The validity of these tools has been preliminarily demonstrated with a C++ implementation for one-dimensional problems.
基金supported by Guangdong Hardware and System Teaching and Research Office(Quality Engineeringproject No.HITSZERP22002)+2 种基金Guangdong Province Education Science Planning Project(Higher Education Project,Project No.2022GXJK431)Harbin Institute of Technology(Shenzhen)Course Ideological and Political Project(Project No.HITSZIP21003)Construction Project of Teachers College of Harbin Institute of Technology(Shenzhen)(Project No.HITSZSFXY202201)。
文摘Most current object-oriented programming courses offered by domestic colleges and universities generally focus on the object-oriented programming language itself,i.e.,the programming grammar of the language,but ignore the design pattern.However,design patterns are essential to software engineering because they can solve common problems in software design and improve code reuse,readability,extensibility,and reliability.Our Object-oriented Software Construction Course is creative since it aims at cultivating students’object-oriented thinking as well as basic abilities required to construct high-quality,object-oriented software.Specifically,we exploit the 5E teaching principle during the education of this course,and present the whole pipeline in the paper.We also provide one case of the factory pattern to further demonstrate the implementation of the 5E teaching principle in the course.The effect of the 5E teaching principle has also been demonstrated.
文摘The increasing use of digital video everyday in a multitude of electronic devices, including mobile phones, tablets and laptops, poses the need for quick development of cross-platform video software. However current approaches to this direction usually require a long learning curve, and their development lacks standardization. This results in software components that are difficult to reuse, and hard to maintain or extend. In order to overcome such issues, we propose a novel object-oriented framework for efficient development of software systems for video analysis. It consists of a set of four abstract components, suitable for the implementation of independent plug-in modules for video acquisition, preprocessing, analysis and output handling. The extensibility of each module can be facilitated by sub-modules specifying additional functionalities. This architecture enables quick responses to changes and re-configurability;thus conforming to the requirements of agile software development practices. Considering the need for platform independency, the proposed Java Video Analysis (JVA) framework is implemented in Java. It is publicly available through the web as open-access software, supported by a growing collection of implemented modules. Its efficiency is empirically validated for the development of a representative video analysis system.
文摘In reference to the status quo of research and the application of the agricultural expert system, this paper analyzes problems existing in the current development, and puts forward the idea of research and development for agriculturespecific software. The agent application is discussed, and an agent-based Agricultural Expert System Inspection Tool is constructed. In addition, this paper addresses the outlook in application, potential problems and the development trend of multi-agent-based inspection software for the agricultural expert system.
基金Supported by the F oundation of the Science and Technology Com mittee of Hubei Province( No.982 P0 10 7),and theZiqiang Technique Innovation F und of Wuhan University
文摘This paper presents an agent-based software service framework model called ASF, and defines the basic concepts and structure of ASF model. It also describes the management and process mechanisms in ASF model.
文摘Automatically mapping a requirement specification to design model in Software Engineering is an open complex problem. Existing methods use a complex manual process that use the knowledge from the requirement specification/modeling and the design, and try to find a good match between them. The key task done by designers is to convert a natural language based requirement specification (or corresponding UML based representation) into a predominantly computer language based design model—thus the process is very complex as there is a very large gap between our natural language and computer language. Moreover, this is not just a simple language conversion, but rather a complex knowledge conversion that can lead to meaningful design implementation. In this paper, we describe an automated method to map Requirement Model to Design Model and thus automate/partially automate the Structured Design (SD) process. We believe, this is the first logical step in mapping a more complex requirement specification to design model. We call it IRTDM (Intelligent Agent based requirement model to design model mapping). The main theme of IRTDM is to use some AI (Artificial Intelligence) based algorithms, semantic representation using Ontology or Predicate Logic, design structures using some well known design framework and Machine Learning algorithms for learning over time. Semantics help convert natural language based requirement specification (and associated UML representation) into high level design model followed by mapping to design structures. AI method can also be used to convert high level design structures into lower level design which then can be refined further by some manual and/or semi automated process. We emphasize that automation is one of the key ways to minimize the software cost, and is very important for all, especially, for the “Design for the Bottom 90% People” or BOP (Base of the Pyramid People).
基金We gratefully acknowledge the financial support of the National Key R&D Program of China(Grant No.2017YFB0703200)the National Natural Science Foundation of China(Grant No.11772274).
文摘In order to investigate the mechanical behavior of systems with complex architecture and a large number of contacting bodies,a finite element software,named LiToTac,has been developed by using the object-oriented programming technique.This software,with an interactive graphical user interface,is able to handle highly non-linear problems including multiple contacts and large deformation.More importantly,the contact detection based on a hybrid three-stages methodology can be performed automatically,which is more efficient than the common strategies of pre-defining contact zones in commercial FEM software like ANSYS,ABAQUS,etc.In addition,the contact solver in LiToTac is portable between dynamic and quasi-static codes and can accurately solve contact coupled with friction in a reduced system.Several numerical examples are carried out to illustrate the functionality and capacity of the software package.
文摘Detecting well-known design patterns in object-oriented program source code can help maintainers understand the design of a program. Through the detection, the understandability, maintainability, and reusability of object-oriented programs can be improved. There are automated detection techniques;however, many existing techniques are based on static analysis and use strict conditions composed on class structure data. Hence, it is difficult for them to detect and distinguish design patterns in which the class structures are similar. Moreover, it is difficult for them to deal with diversity in design pattern applications. To solve these problems in existing techniques, we propose a design pattern detection technique using source code metrics and machine learning. Our technique judges candidates for the roles that compose design patterns by using machine learning and measurements of several metrics, and it detects design patterns by analyzing the relations between candidates. It suppresses false negatives and distinguishes patterns in which the class structures are similar. As a result of experimental evaluations with a set of programs, we confirmed that our technique is more accurate than two conventional techniques.
文摘There has not been life cycle assessment (LCA) software applicable to China's products. To faciliate the development of LCA software system in China, we built an object-oriented LCA software system plantform based on LCA international standards ISO 14040 to ISO 14043 and the commonness of diverse products. The system includes six modules: disassembly module, data collection module, arithmetic module, drawing module, database module and control module. It evaluates all economic and environmental impacts during the whole life cycle of a product. The integrated life cycle inventory database system allows dynamic expansion, which makes the effort required for data collection reduce with the increase of the system's application. With the improvement of human environmental-awareness, the demand of environment-friendly products is increasing, and ecological design of products has become a critical part in products development. Consummation of the LCA software system will provide a powerful tool for designing and developing Chinese ecological products.
文摘This paper proposes and illustrates an AI embedded object-oriented methodology to formulate the computable general equilibrium (CGE) models. In this framework, a CGE model is viewed as a collection of objects embedded AI or namely agents in computer world, corresponding to economic agents and entities in real world, such as government, households, markets and so on. A frame representation of major objects in CGE model is used for trade and environment. Embedded Al object-oriented approach (or software agent) is used in the CGE model representation can able to narrow the gap among the semantic representation, formal CGE (mathematical) representation and computer and algorithm representation, and to improve CGE in understanding and maintenance etc. In such a system, constructing a CGE model to appear an intuitive process rather than an abstract process. This intuitive process needs more understanding of the substance of economics and the logic underlying the problem rather than mathematical notation.
文摘Structural development defects essentially refer to code structure that violates object-oriented design principles. They make program maintenance challenging and deteriorate software quality over time. Various detection approaches, ranging from traditional heuristic algorithms to machine learning methods, are used to identify these defects. Ensemble learning methods have strengthened the detection of these defects. However, existing approaches do not simultaneously exploit the capabilities of extracting relevant features from pre-trained models and the performance of neural networks for the classification task. Therefore, our goal has been to design a model that combines a pre-trained model to extract relevant features from code excerpts through transfer learning and a bagging method with a base estimator, a dense neural network, for defect classification. To achieve this, we composed multiple samples of the same size with replacements from the imbalanced dataset MLCQ1. For all the samples, we used the CodeT5-small variant to extract features and trained a bagging method with the neural network Roberta Classification Head to classify defects based on these features. We then compared this model to RandomForest, one of the ensemble methods that yields good results. Our experiments showed that the number of base estimators to use for bagging depends on the defect to be detected. Next, we observed that it was not necessary to use a data balancing technique with our model when the imbalance rate was 23%. Finally, for blob detection, RandomForest had a median MCC value of 0.36 compared to 0.12 for our method. However, our method was predominant in Long Method detection with a median MCC value of 0.53 compared to 0.42 for RandomForest. These results suggest that the performance of ensemble methods in detecting structural development defects is dependent on specific defects.
文摘Agent oriented software development method is a new research area in the field of software engineering.As the method provides abstract concept, i.e. , agent, to naturally model the computational entities and problemsolving manners in complex system, and ways to effectively control the system complexity, many attentions havebeen imposed on it. The paper summarizes the research status, introduces and investigates a number of representativeworks, and at last concludes the existing problems and future further research work.