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.展开更多
From a perspective of theoretical study, there are some faults in the models of the existing object-oriented programming languages. For example, C# does not support metaclasses, the primitive types of Java and C# are ...From a perspective of theoretical study, there are some faults in the models of the existing object-oriented programming languages. For example, C# does not support metaclasses, the primitive types of Java and C# are not objects, etc. So, this paper designs a programming language, Shrek, which integrates many language features and constructions in a compact and consistent model. The Shrek language is a class-based purely object-oriented language. It has a dynamical strong type system, and adopts a single-inheritance mechanism with Mixin as its complement. It has a consistent class instantiation and inheritance structure, and the ability of intercessive structural computational reflection, which enables it to support safe metaclass programming. It also supports multi-thread programming and automatic garbage collection, and enforces its expressive power by adopting a native method mechanism. The prototype system of the Shrek language is implemented and anticipated design goals are achieved.展开更多
The design of finite element analysis program using object-oriented programming (OOP) techniques is presented. The objects, classes and the subclasses used in the programming are explained. The system of classes libra...The design of finite element analysis program using object-oriented programming (OOP) techniques is presented. The objects, classes and the subclasses used in the programming are explained. The system of classes library of finite element analysis program and Windows-type Graphical User Interfaces by VC + + and its MFC are developed. The reliability, reusability and extensibility of program are enhanced. It is a reference to develop the large-scale, versatile and powerful systems of object-oriented finite element software.展开更多
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.展开更多
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.展开更多
UML Class diagram generation from textual requirements is an important task in object-oriented design and programing course.This study proposes a method for automatically generating class diagrams from Chinese textual...UML Class diagram generation from textual requirements is an important task in object-oriented design and programing course.This study proposes a method for automatically generating class diagrams from Chinese textual requirements on the basis of Natural Language Processing(NLP)and mapping rules for sentence pattern matching.First,classes are identified through entity recognition rules and candidate class pruning rules using NLP from requirements.Second,class attributes and relationships between classes are extracted using mapping rules for sentence pattern matching on the basis of NLP.Third,we developed an assistant tool integrated into a precision micro classroom system for automatic generation of class diagram,to effectively assist the teaching of object-oriented design and programing course.Results are evaluated with precision,accuracy and recall from eight requirements of object-oriented design and programing course using truth values created by teachers.Our research should benefit beginners of object-oriented design and programing course,who may be students or software developers.It helps them to create correct domain models represented in the UML class diagram.展开更多
Presents an object-oriented NBO(node-block-object)data model for hypermedia system.It takes advantage of object-oriented method,encapsulates all multimedia information as well as link functions in one unit,It has succ...Presents an object-oriented NBO(node-block-object)data model for hypermedia system.It takes advantage of object-oriented method,encapsulates all multimedia information as well as link functions in one unit,It has successfully achieved cross link to offer much better flexibility and two-way link to realize forward and backward searching in hypermedia system navigation.A conditional relation on links has also been realized,that is very helpful for time sensitive multimedia information processing and multimedia object cooperation.展开更多
To simulate the process of cold roll-forming process, a new method isadopted. The theoretical foundation of this method is an elastic-plastic large deformation splinefinite strip method based on object-oriented progra...To simulate the process of cold roll-forming process, a new method isadopted. The theoretical foundation of this method is an elastic-plastic large deformation splinefinite strip method based on object-oriented programming. Combined with the computer graphicstechnology, the visual simulation of cold roll-forming is completed and the system is established.By analyzing common channel steel, the process is shown and explained including theory method, modeland result display. So the simulation system is already a kind of mature and effective tool toanalyze the process of cold roll forming.展开更多
This paper describes the object-oriented implementational method of finite element structural analysis, gives the basic concepts of the object-oriented method and objectoriented programming, develops a complete class ...This paper describes the object-oriented implementational method of finite element structural analysis, gives the basic concepts of the object-oriented method and objectoriented programming, develops a complete class hierarchy structure of object-oriented finite element structural analysis, and gives a part C+ + code description.展开更多
In this paper, mathematical models and FEA formulation for implementing heat treatment process simulation were given out. The various coupling effects were treated. The object-oriented methodology of developing heat t...In this paper, mathematical models and FEA formulation for implementing heat treatment process simulation were given out. The various coupling effects were treated. The object-oriented methodology of developing heat treatment simulation was explored. The framework of simulating programs was outlined. The main C++ classes were developed, some important member functions were implemented. The present research work shows that using object-oriented method can greatly reduce the amount of coding. The programs are clear in conception, easy to test, modify and expand. By using the methodology introduced in this paper, one heat treatment process three dimensional simulation tool was developed.展开更多
The approach of control software development based on simulation is discussed. A library of object classes for a flexible manufacturing system(FMS) simulation has been developed using the technology of object-oriented...The approach of control software development based on simulation is discussed. A library of object classes for a flexible manufacturing system(FMS) simulation has been developed using the technology of object-oriented programming. Using the library, the simulation software of a FMS which has the same manufacturing logic with the FMS control system can be easily constructed. A new approach in the development of FMS control software based on software reuse and an emulator of the blade FMS control system for testing control software have also been developed.展开更多
Modern satellite propulsion systems are generally designed to fulfill multiphase-missions.Traditional reliability modelling methods have problems of inadequate depict capacity considering complex systems such as satel...Modern satellite propulsion systems are generally designed to fulfill multiphase-missions.Traditional reliability modelling methods have problems of inadequate depict capacity considering complex systems such as satellite propulsion system.An extended object-oriented Petri net(EOOPN)method was proposed to facilitate the reliability modelling of satellite propulsion system in the paper.The proposed method was specified for modelling of phased mission system,and it could be implemented by generating combination of Petri net(PN)principles and object-oriented(OO)programming.The effectiveness of the proposed method was demonstrated through the reliability modelling of a satellite propulsion system with EOOPN.The major advantage of the proposed method is that the dimension of net model can be reduced significantly,and phased mission system at system,phase,or component levels can be respectively depicted.Furthermore,the state-space explosion problem is solved by the proposed EOOPN model efficiently.展开更多
Recently an object-oriented approach has been applied in the fields of finite element analysis with a view to treating the various complexities within these. It has been demonstrated that finite element software desig...Recently an object-oriented approach has been applied in the fields of finite element analysis with a view to treating the various complexities within these. It has been demonstrated that finite element software designed using an object-oriented approach can be significantly more robust than traditional codes. This paper describes a special kind of implementation of object-oriented programming which is rather hybrid in nature, in the development of a finite element code for engineering analysis of metal working problems using C++, and discusses the advantages of this approach.展开更多
以某自动校时电子钟项目为例,在Cotex-M3内核芯片上采用面向对象编程方法分析项目的业务需求,提取业务逻辑的共性内容,并创建应用程序类。借鉴嵌入式操作系统时间片任务调度的方法,得到一种新的嵌入式项目编程解决方案,在无操作系统的...以某自动校时电子钟项目为例,在Cotex-M3内核芯片上采用面向对象编程方法分析项目的业务需求,提取业务逻辑的共性内容,并创建应用程序类。借鉴嵌入式操作系统时间片任务调度的方法,得到一种新的嵌入式项目编程解决方案,在无操作系统的微控制单元(Micro Control Unit,MCU)上实现时间片调度应用程序对象,用以提升程序的条理性,增强代码的可移植性和复用性,便于程序的扩展。展开更多
文摘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.
基金The National Science Fund for Distinguished Young Scholars (No.60425206)the National Natural Science Foundation of China (No.60633010)the Natural Science Foundation of Jiangsu Province(No.BK2006094)
文摘From a perspective of theoretical study, there are some faults in the models of the existing object-oriented programming languages. For example, C# does not support metaclasses, the primitive types of Java and C# are not objects, etc. So, this paper designs a programming language, Shrek, which integrates many language features and constructions in a compact and consistent model. The Shrek language is a class-based purely object-oriented language. It has a dynamical strong type system, and adopts a single-inheritance mechanism with Mixin as its complement. It has a consistent class instantiation and inheritance structure, and the ability of intercessive structural computational reflection, which enables it to support safe metaclass programming. It also supports multi-thread programming and automatic garbage collection, and enforces its expressive power by adopting a native method mechanism. The prototype system of the Shrek language is implemented and anticipated design goals are achieved.
文摘The design of finite element analysis program using object-oriented programming (OOP) techniques is presented. The objects, classes and the subclasses used in the programming are explained. The system of classes library of finite element analysis program and Windows-type Graphical User Interfaces by VC + + and its MFC are developed. The reliability, reusability and extensibility of program are enhanced. It is a reference to develop the large-scale, versatile and powerful systems of object-oriented finite element software.
基金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.
文摘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.
基金This work is supported by the Collaborative education project of QST Innovation Technology Group Co.,Ltd and the Ministry of Education of PRC(NO.201801243022).
文摘UML Class diagram generation from textual requirements is an important task in object-oriented design and programing course.This study proposes a method for automatically generating class diagrams from Chinese textual requirements on the basis of Natural Language Processing(NLP)and mapping rules for sentence pattern matching.First,classes are identified through entity recognition rules and candidate class pruning rules using NLP from requirements.Second,class attributes and relationships between classes are extracted using mapping rules for sentence pattern matching on the basis of NLP.Third,we developed an assistant tool integrated into a precision micro classroom system for automatic generation of class diagram,to effectively assist the teaching of object-oriented design and programing course.Results are evaluated with precision,accuracy and recall from eight requirements of object-oriented design and programing course using truth values created by teachers.Our research should benefit beginners of object-oriented design and programing course,who may be students or software developers.It helps them to create correct domain models represented in the UML class diagram.
文摘Presents an object-oriented NBO(node-block-object)data model for hypermedia system.It takes advantage of object-oriented method,encapsulates all multimedia information as well as link functions in one unit,It has successfully achieved cross link to offer much better flexibility and two-way link to realize forward and backward searching in hypermedia system navigation.A conditional relation on links has also been realized,that is very helpful for time sensitive multimedia information processing and multimedia object cooperation.
基金This project is supported by Provincial Natural Science Foundation of Hebei (No.502214).
文摘To simulate the process of cold roll-forming process, a new method isadopted. The theoretical foundation of this method is an elastic-plastic large deformation splinefinite strip method based on object-oriented programming. Combined with the computer graphicstechnology, the visual simulation of cold roll-forming is completed and the system is established.By analyzing common channel steel, the process is shown and explained including theory method, modeland result display. So the simulation system is already a kind of mature and effective tool toanalyze the process of cold roll forming.
文摘This paper describes the object-oriented implementational method of finite element structural analysis, gives the basic concepts of the object-oriented method and objectoriented programming, develops a complete class hierarchy structure of object-oriented finite element structural analysis, and gives a part C+ + code description.
文摘In this paper, mathematical models and FEA formulation for implementing heat treatment process simulation were given out. The various coupling effects were treated. The object-oriented methodology of developing heat treatment simulation was explored. The framework of simulating programs was outlined. The main C++ classes were developed, some important member functions were implemented. The present research work shows that using object-oriented method can greatly reduce the amount of coding. The programs are clear in conception, easy to test, modify and expand. By using the methodology introduced in this paper, one heat treatment process three dimensional simulation tool was developed.
基金the High Technology Research and Development Programme of China
文摘The approach of control software development based on simulation is discussed. A library of object classes for a flexible manufacturing system(FMS) simulation has been developed using the technology of object-oriented programming. Using the library, the simulation software of a FMS which has the same manufacturing logic with the FMS control system can be easily constructed. A new approach in the development of FMS control software based on software reuse and an emulator of the blade FMS control system for testing control software have also been developed.
文摘Modern satellite propulsion systems are generally designed to fulfill multiphase-missions.Traditional reliability modelling methods have problems of inadequate depict capacity considering complex systems such as satellite propulsion system.An extended object-oriented Petri net(EOOPN)method was proposed to facilitate the reliability modelling of satellite propulsion system in the paper.The proposed method was specified for modelling of phased mission system,and it could be implemented by generating combination of Petri net(PN)principles and object-oriented(OO)programming.The effectiveness of the proposed method was demonstrated through the reliability modelling of a satellite propulsion system with EOOPN.The major advantage of the proposed method is that the dimension of net model can be reduced significantly,and phased mission system at system,phase,or component levels can be respectively depicted.Furthermore,the state-space explosion problem is solved by the proposed EOOPN model efficiently.
文摘Recently an object-oriented approach has been applied in the fields of finite element analysis with a view to treating the various complexities within these. It has been demonstrated that finite element software designed using an object-oriented approach can be significantly more robust than traditional codes. This paper describes a special kind of implementation of object-oriented programming which is rather hybrid in nature, in the development of a finite element code for engineering analysis of metal working problems using C++, and discusses the advantages of this approach.
文摘以某自动校时电子钟项目为例,在Cotex-M3内核芯片上采用面向对象编程方法分析项目的业务需求,提取业务逻辑的共性内容,并创建应用程序类。借鉴嵌入式操作系统时间片任务调度的方法,得到一种新的嵌入式项目编程解决方案,在无操作系统的微控制单元(Micro Control Unit,MCU)上实现时间片调度应用程序对象,用以提升程序的条理性,增强代码的可移植性和复用性,便于程序的扩展。