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.展开更多
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.展开更多
An object oriented multi robotic graphic simulation environment is described in this paper. Object oriented programming is used to model the physical objects of the robotic workcell in the form of software objects ...An object oriented multi robotic graphic simulation environment is described in this paper. Object oriented programming is used to model the physical objects of the robotic workcell in the form of software objects or classes. The virtual objects are defined to provide the user with a user friendly interface including realistic graphic simulation and clarify the software architecture. The programming method of associating the task object with active object effectively increases the software reusability, maintainability and modifiability. Task level programming is also demonstrated through a multi robot welding task that allows the user to concentrate on the most important aspects of the tasks. The multi thread programming technique is used to simulate the interaction of multiple tasks. Finally, a virtual test is carried out in the graphic simulation environment to observe design and program errors and fix them before downloading the software to the real workcell.展开更多
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.展开更多
Students often face difficulties while taking basic programming courses due to several factors. In response, research has presented subjective assessments for diagnosing learning problems to improve the teaching of pr...Students often face difficulties while taking basic programming courses due to several factors. In response, research has presented subjective assessments for diagnosing learning problems to improve the teaching of programming in higher education. In this paper, the authors propose an Object Oriented conceptual map model and organize this approach into three levels: constructing a Concept Effect Propagation Table, constructing Test Item-Concept Relationships and diagnosing Student Learning Problems with Matrix Composition. The authors' work is a modification of the approaches of Chert and Bai as well as Chu et al., as the authors use statistical methods, rather than fuzzy sets, for the authors' analysis. This paper includes a statistical summary, which has been tested on a small sample of students in King Abdulaziz University, Jeddah, Saudi Arabia, illustrating the learning problems in an Object Oriented course. The experimental results have demonstrated that this approach might aid learning and teaching in an effective way.展开更多
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.展开更多
Program slice has many applications such as program debugging, testing, maintenance, and complexity measurement. A static slice consists of all statements in program P that may effect the value of variable v a...Program slice has many applications such as program debugging, testing, maintenance, and complexity measurement. A static slice consists of all statements in program P that may effect the value of variable v at some point p , and a dynamic slice consists only of statements that influence the value of variable occurrence for specific program inputs. In this paper, we concern the problem of dynamic slicing of object oriented programs which, to our knowledge, has not been addressed in the literatures. To solve this problem, we present the dynamic object oriented dependence graph (DODG)which is an arc classified digraph to explicitly represent various dynamic dependence between statement instances for a particular execution of an object oriented program. Based on the DODG, we present a two phase backward algorithm for computing a dynamic slice of an object oriented program.展开更多
A scheme for general purposed FDTD visual scientific computing software is introduced in this paper using object-oriented design (OOD) method. By abstracting the parameters of FDTD grids to an individual class and sep...A scheme for general purposed FDTD visual scientific computing software is introduced in this paper using object-oriented design (OOD) method. By abstracting the parameters of FDTD grids to an individual class and separating from the iteration procedure, the visual software can be adapted to more comprehensive computing problems. Real-time gray degree graphic and wave curve of the results can be achieved using DirectX technique. The special difference equation and data structure in dispersive medium are considered, and the peculiarity of parameters in perfectly matched layer are also discussed.展开更多
Java programming language is a major . new development which involves object-oriented programming and computer networking. Here, several examples of Java programs are presented. These examples show some major features...Java programming language is a major . new development which involves object-oriented programming and computer networking. Here, several examples of Java programs are presented. These examples show some major features that Java language provides, such as multi-thread, exception handling, network application writing, and the usage of Java applets. This article also shows some ways of setting up a Java language programming environment. All these examples are correct and ready to run.展开更多
Service Oriented Architecture (SOA) is an emerging paradigm for orchestrating software components to build new composite applications that enable businesses, government agencies and other organizations to collaborate ...Service Oriented Architecture (SOA) is an emerging paradigm for orchestrating software components to build new composite applications that enable businesses, government agencies and other organizations to collaborate across institutional boundaries. SOA offers new languages and a variety of software development tools that enable software engineers to configure software as services and to interconnect services with other services independent of differences in operating platform and programming and communicating languages. However, SOA composite applications introduce additional complexity into the construction, deployment and maintenance of software, for the purpose of aggravating the issue of program comprehension, which is at the heart of software maintenance. This article describes the challenges in SOA program comprehension and reports on the results of a two-part case study aimed at identifying information that would help a SOA software maintainer. Analysis of the results indicates a need for higher-level abstractions and visualizations that can enhance conventional text-based search to support SOA program understanding. This paper then reports on several specific abstractions, visualization methods, and the development of an intelligent search tool to enhance comprehension of the relationships and data within a SOA composite application.展开更多
Product information model for welding structure plays an important role for the integration of welding CAD/CAPP/CAM. However, existing CAD modeling systems are not capable of providing enough information for subsequen...Product information model for welding structure plays an important role for the integration of welding CAD/CAPP/CAM. However, existing CAD modeling systems are not capable of providing enough information for subsequent manufacturing activities such as CAPP and CAM. A new design approach using feature technique and object oriented programming method is put forward in this paper in order to create the product information model of welding structure. With this approach, the product information model is able to effectively support computer aided welding process planning, fixturing, assembling, path planning of welding robot and other manufacturing activities. The feature classification and representing scheme of welding structure are discussed. A prototype system is developed based on feature and object oriented programming. Its structure and functions are given in detail.展开更多
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.展开更多
This article reports our research progress in concurrent design theory and methodology.The idea of Micro-Design-Cycle is introduced to provide a mechanism of coordinating variousdesign activities in parallel as much a...This article reports our research progress in concurrent design theory and methodology.The idea of Micro-Design-Cycle is introduced to provide a mechanism of coordinating variousdesign activities in parallel as much as possible.An Object-Life-Cycle diagram is developedas an instrument to visualize the Micro-Design-Cycle and as a practical tool of timing variousactivities being performed in Micro-Design-Cycles.展开更多
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.展开更多
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.展开更多
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.展开更多
文摘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.
基金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.
文摘An object oriented multi robotic graphic simulation environment is described in this paper. Object oriented programming is used to model the physical objects of the robotic workcell in the form of software objects or classes. The virtual objects are defined to provide the user with a user friendly interface including realistic graphic simulation and clarify the software architecture. The programming method of associating the task object with active object effectively increases the software reusability, maintainability and modifiability. Task level programming is also demonstrated through a multi robot welding task that allows the user to concentrate on the most important aspects of the tasks. The multi thread programming technique is used to simulate the interaction of multiple tasks. Finally, a virtual test is carried out in the graphic simulation environment to observe design and program errors and fix them before downloading the software to the real workcell.
文摘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.
文摘Students often face difficulties while taking basic programming courses due to several factors. In response, research has presented subjective assessments for diagnosing learning problems to improve the teaching of programming in higher education. In this paper, the authors propose an Object Oriented conceptual map model and organize this approach into three levels: constructing a Concept Effect Propagation Table, constructing Test Item-Concept Relationships and diagnosing Student Learning Problems with Matrix Composition. The authors' work is a modification of the approaches of Chert and Bai as well as Chu et al., as the authors use statistical methods, rather than fuzzy sets, for the authors' analysis. This paper includes a statistical summary, which has been tested on a small sample of students in King Abdulaziz University, Jeddah, Saudi Arabia, illustrating the learning problems in an Object Oriented course. The experimental results have demonstrated that this approach might aid learning and teaching in an effective way.
文摘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.
文摘Program slice has many applications such as program debugging, testing, maintenance, and complexity measurement. A static slice consists of all statements in program P that may effect the value of variable v at some point p , and a dynamic slice consists only of statements that influence the value of variable occurrence for specific program inputs. In this paper, we concern the problem of dynamic slicing of object oriented programs which, to our knowledge, has not been addressed in the literatures. To solve this problem, we present the dynamic object oriented dependence graph (DODG)which is an arc classified digraph to explicitly represent various dynamic dependence between statement instances for a particular execution of an object oriented program. Based on the DODG, we present a two phase backward algorithm for computing a dynamic slice of an object oriented program.
基金This project was supported by the National Natural Science Foundation (No. 69831020).
文摘A scheme for general purposed FDTD visual scientific computing software is introduced in this paper using object-oriented design (OOD) method. By abstracting the parameters of FDTD grids to an individual class and separating from the iteration procedure, the visual software can be adapted to more comprehensive computing problems. Real-time gray degree graphic and wave curve of the results can be achieved using DirectX technique. The special difference equation and data structure in dispersive medium are considered, and the peculiarity of parameters in perfectly matched layer are also discussed.
文摘Java programming language is a major . new development which involves object-oriented programming and computer networking. Here, several examples of Java programs are presented. These examples show some major features that Java language provides, such as multi-thread, exception handling, network application writing, and the usage of Java applets. This article also shows some ways of setting up a Java language programming environment. All these examples are correct and ready to run.
文摘Service Oriented Architecture (SOA) is an emerging paradigm for orchestrating software components to build new composite applications that enable businesses, government agencies and other organizations to collaborate across institutional boundaries. SOA offers new languages and a variety of software development tools that enable software engineers to configure software as services and to interconnect services with other services independent of differences in operating platform and programming and communicating languages. However, SOA composite applications introduce additional complexity into the construction, deployment and maintenance of software, for the purpose of aggravating the issue of program comprehension, which is at the heart of software maintenance. This article describes the challenges in SOA program comprehension and reports on the results of a two-part case study aimed at identifying information that would help a SOA software maintainer. Analysis of the results indicates a need for higher-level abstractions and visualizations that can enhance conventional text-based search to support SOA program understanding. This paper then reports on several specific abstractions, visualization methods, and the development of an intelligent search tool to enhance comprehension of the relationships and data within a SOA composite application.
文摘Product information model for welding structure plays an important role for the integration of welding CAD/CAPP/CAM. However, existing CAD modeling systems are not capable of providing enough information for subsequent manufacturing activities such as CAPP and CAM. A new design approach using feature technique and object oriented programming method is put forward in this paper in order to create the product information model of welding structure. With this approach, the product information model is able to effectively support computer aided welding process planning, fixturing, assembling, path planning of welding robot and other manufacturing activities. The feature classification and representing scheme of welding structure are discussed. A prototype system is developed based on feature and object oriented programming. Its structure and functions are given in detail.
文摘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.
文摘This article reports our research progress in concurrent design theory and methodology.The idea of Micro-Design-Cycle is introduced to provide a mechanism of coordinating variousdesign activities in parallel as much as possible.An Object-Life-Cycle diagram is developedas an instrument to visualize the Micro-Design-Cycle and as a practical tool of timing variousactivities being performed in Micro-Design-Cycles.
文摘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.
基金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.
文摘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.