In response to the current issues in the construction of software engineering(SE)degree granting program,such as insufficient resource integration,low level of internationalization,and inadequate quality control,we pr...In response to the current issues in the construction of software engineering(SE)degree granting program,such as insufficient resource integration,low level of internationalization,and inadequate quality control,we propose the Software Engineering Degree Granting Program Construction Practice Project at Harbin Institute of Technology(HIT).This project aims to explore new models for software talent cultivation,establish a superior SE degree granting program,and ultimately cultivate outstanding internationalized composite SE professionals to support the high-quality development of the national software industry.To this end,we design a distinctive overall construction idea and plan for the SE degree granting program,which are characterized by“3I3S:three highlights for specialized cultivation and strictness in three aspects to ensure quality control”.After years of practice and validation of the project at the School of Software at HIT,this project has proven effective in optimizing talent cultivation models,enhancing students’practical abilities,promoting international exchange and cooperation,advancing industry-education integration,and meeting industrial needs.展开更多
The rapid integration of artificial intelligence(AI)into software development,driven by large language models(LLMs),is reshaping the role of programmers from traditional coders into strategic collaborators within Indu...The rapid integration of artificial intelligence(AI)into software development,driven by large language models(LLMs),is reshaping the role of programmers from traditional coders into strategic collaborators within Industry 4.0 ecosystems.This qualitative study employs a hermeneutic phenomenological approach to explore the lived experiences of Information Technology(IT)professionals as they navigate a dynamic technological landscape marked by intelligent automation,shifting professional identities,and emerging ethical concerns.Findings indicate that developers are actively adapting to AI-augmented environments by engaging in continuous upskilling,prompt engineering,interdisciplinary collaboration,and heightened ethical awareness.However,participants also voiced growing concerns about the reliability and security of AI-generated code,noting that these tools can introduce hidden vulnerabilities and reduce critical engagement due to automation bias.Many described instances of flawed logic,insecure patterns,or syntactically correct but contextually inappropriate suggestions,underscoring the need for rigorous human oversight.Additionally,the study reveals anxieties around job displacement and the gradual erosion of fundamental coding skills,particularly in environments where AI tools dominate routine development tasks.These findings highlight an urgent need for educational reforms,industry standards,and organizational policies that prioritize both technical robustness and the preservation of human expertise.As AI becomes increasingly embedded in software engineering workflows,this research offers timely insights into how developers and organizations can responsibly integrate intelligent systems to promote accountability,resilience,and innovation across the software development lifecycle.展开更多
A variety of Software Reliability Growth Models (SRGM) have been presented in literature. These models suffer many problems when handling various types of project. The reason is;the nature of each project makes it dif...A variety of Software Reliability Growth Models (SRGM) have been presented in literature. These models suffer many problems when handling various types of project. The reason is;the nature of each project makes it difficult to build a model which can generalize. In this paper we propose the use of Genetic Programming (GP) as an eVolutionary computation approach to handle the software reliability modeling problem. GP deals with one of the key issues in computer science which is called automatic programming. The goal of automatic programming is to create, in an automated way, a computer program that enables a computer to solve problems. GP will be used to build a SRGM which can predict accumulated faults during the software testing process. We evaluate the GP developed model and compare its performance with other common growth models from the literature. Our experiments results show that the proposed GP model is superior compared to Yamada S-Shaped, Generalized Poisson, NHPP and Schneidewind reliability models.展开更多
The present study aims at improving the ability of the canonical genetic programming algorithm to solve problems, and describes an improved genetic programming (IGP). The proposed method can be described as follows: t...The present study aims at improving the ability of the canonical genetic programming algorithm to solve problems, and describes an improved genetic programming (IGP). The proposed method can be described as follows: the first inves-tigates initializing population, the second investigates reproduction operator, the third investigates crossover operator, and the fourth investigates mutation operation. The IGP is examined in two domains and the results suggest that the IGP is more effective and more efficient than the canonical one applied in different domains.展开更多
This paper presents a tool for managing, reusing and analysing C software code based on database techniques. The abstract information of entire software code is stored in a program database that is the conceptual sche...This paper presents a tool for managing, reusing and analysing C software code based on database techniques. The abstract information of entire software code is stored in a program database that is the conceptual scheme of the entire software, whereas the reuse component is a subscheme. Relational algebra can be conveniently used to manage, analyse and reuse C code. In the tool, we can manage, analyse and reuse any components in the program database and rapidly extract source code of any components or construct the program code of a new system. The rule system is introduced in reusing source code.展开更多
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.展开更多
Software debugging accounts for a vast majority of the financial and time costs in software developing and maintenance. Thus, approaches of software fault localization that can help automate the debugging process have...Software debugging accounts for a vast majority of the financial and time costs in software developing and maintenance. Thus, approaches of software fault localization that can help automate the debugging process have become a hot topic in the field of software engineering. Given the great demand for software fault localization, an approach based on the artificial bee colony (ABC) algorithm is proposed to be integrated with other related techniques. In this process, the source program is initially instrumented after analyzing the dependence information. The test case sets are then compiled and run on the instrumented program, and execution results are input to the ABC algorithm. The algorithm can determine the largest fitness value and best food source by calculating the average fitness of the employed bees in the iteralive process. The program unit with the highest suspicion score corresponding to the best test case set is regarded as the final fault localization. Experiments are conducted with the TCAS program in the Siemens suite. Results demonstrate that the proposed fault localization method is effective and efficient. The ABC algorithm can efficiently avoid the local optimum, and ensure the validity of the fault location to a larger extent.展开更多
Based on the new algorithm for GIS image pixel topographic factors in remote sensing monitoring ofsoil losses, a software was developed for microcomputer to carry out computation at a medium river basin(county). This ...Based on the new algorithm for GIS image pixel topographic factors in remote sensing monitoring ofsoil losses, a software was developed for microcomputer to carry out computation at a medium river basin(county). This paper lays its emphasis on algorithmic skills and programming techniques as well as applicationof the software.展开更多
Hardware/software partitioning is an important step in the design of embedded systems. In this paper, the hardware/software partitioning problem is modeled as a constrained binary integer programming problem, which is...Hardware/software partitioning is an important step in the design of embedded systems. In this paper, the hardware/software partitioning problem is modeled as a constrained binary integer programming problem, which is further converted equivalently to an unconstrained binary integer programming problem by a penalty method. A local search method, HSFM, is developed to obtain a discrete local minimizer of the unconstrained binary integer programming problem. Next, an auxiliary function, which has the same global optimal solutions as the unconstrained binary integer programming problem, is constructed, and its properties are studied. We show that applying HSFM to minimize the auxiliary function can escape from previous local optima by the increase of the parameter value successfully. Finally, a discrete dynamic convexized method is developed to solve the hardware/software partitioning problem. Computational results and comparisons indicate that the proposed algorithm can get high-quality solutions.展开更多
Many industrial companies and researchers are looking for more efficient model driven engineering approaches (MDE) in software engineering of manufacturing automation systems (MS) especially for logic control programm...Many industrial companies and researchers are looking for more efficient model driven engineering approaches (MDE) in software engineering of manufacturing automation systems (MS) especially for logic control programming, but are uncertain about the applicability and effort needed to implement those approaches in comparison to classical Programmable Logic Controller?(PLC) programming with IEC 61131-3. The paper summarizes results of usability experiments evaluating UML and SysML as software engineering notations for a MDE applied in the domain of manufacturing systems. Modeling MS needs to cover the domain specific characteristics,?i.e.?hybrid process, real time requirements and communication requirements. In addition the paper presents factors, constraint and practical experience for the development of further usability experiments. The paper gives examples of notational expressiveness and weaknesses of UML and SysML. The appendix delivers detailed master models, representing the correct best suited model, and evaluation schemes of the experiment, which is helpful if setting up own empirical experiments.展开更多
Software defect prevention is an important way to reduce the defect introduction rate.As the primary cause of software defects,human error can be the key to understanding and preventing software defects.This paper pro...Software defect prevention is an important way to reduce the defect introduction rate.As the primary cause of software defects,human error can be the key to understanding and preventing software defects.This paper proposes a defect prevention approach based on human error mechanisms:DPe HE.The approach includes both knowledge and regulation training in human error prevention.Knowledge training provides programmers with explicit knowledge on why programmers commit errors,what kinds of errors tend to be committed under different circumstances,and how these errors can be prevented.Regulation training further helps programmers to promote the awareness and ability to prevent human errors through practice.The practice is facilitated by a problem solving checklist and a root cause identification checklist.This paper provides a systematic framework that integrates knowledge across disciplines,e.g.,cognitive science,software psychology and software engineering to defend against human errors in software development.Furthermore,we applied this approach in an international company at CMM Level 5 and a software development institution at CMM Level 1 in the Chinese Aviation Industry.The application cases show that the approach is feasible and effective in promoting developers' ability to prevent software defects,independent of process maturity levels.展开更多
Software testing is a very important phase of the software development process. It is a very difficult job for a software manager to allocate optimally the financial budget to a software project during testing. In thi...Software testing is a very important phase of the software development process. It is a very difficult job for a software manager to allocate optimally the financial budget to a software project during testing. In this paper the problem of optimal allocation of the software testing cost is studied. There exist several models focused on the development of software costs measuring the number of software errors remaining in the software during testing. The purpose of this paper is to use these models to formulate the optimization problems of resource allocation: Minimization of the total number of software errors remaining in the system. On the assumption that a software project consists of some independent modules, the presented approach extends previous work by defining new goal functions and extending the primary assumption and precondition.展开更多
The developing market of information technologies i s the most dynamical and thriving business in the modern world. The law of supply and demand establishes repeating, steady cause and effect relation between three ec...The developing market of information technologies i s the most dynamical and thriving business in the modern world. The law of supply and demand establishes repeating, steady cause and effect relation between three economic phenomena-price, supply and demand. Demand is an ideal need and a real opportunity of the customer to buy the goods. Supply is an ideal readiness and a real opportunity of the commodity producer to put the goods on the market . A plethora of factors affect the supply and demand. There is inverse dependenc e between the market price of the goods and the quantity which is in the demand. There is direct dependence between the market price of the goods and the qu antity which is offered to the buyer. The following features distinguish the sof tware from the usual goods in the consumer market: high science intensity, simpl icity of replicating, relative simplicity of modification and updating, high req uirements to quality of the software, at sale the buyer gets it, but it does no t disappear in sale, there is no physical deterioration, but there is a fast ob solescence. To protect the programs against the non-authorized access (the copy ings and operation) technical and legal methods are used: the patent protection, status of industrial secret, license agreements.展开更多
In order to verify requirements model/document the consistency between software and users' true minds, we present a software behavior-oriented requirements visualization method. The implementation method for software...In order to verify requirements model/document the consistency between software and users' true minds, we present a software behavior-oriented requirements visualization method. The implementation method for software behavior-oriented requirements visualization is advanced in this paper first. Then, the basis language is introduced as the foundation of the method. At last, we put forward the tool platform that can achieve the requirement visualization, The result demonstrates that the method can generate requirement animation rapidly to check the correctness of the requirement. It can effectively reduce the requirements change and save a lot of software development costs.展开更多
Software is pervasive in modern society, but we are often unaware of its presence until problems arise. Software is one of the most important and yet one of the most economically challenging techniques of this era. As...Software is pervasive in modern society, but we are often unaware of its presence until problems arise. Software is one of the most important and yet one of the most economically challenging techniques of this era. As a purely intellectual product, it is among the most labor-intensive, complex, and error-prone technologies in human history. Until the 1970s, programmers were very meticulous in planning their code, rigorously checking code, providing detailed documentation, and exhaustive testing before the software is released to users. However, as computer became widespread, attitudes changed. Instead of meticulously planning code, the attitude of the average programmer today is possibly hacking sessions or writing any sloppy piece of code and the compiler will run diagonally, a situation called, “code and fix”, where the programmer tried to fix errors one by one until the software compiled properly. As programs grew in size and complexity, the limits of this “code and fix” approach became evident. In this paper, we studied the various reasons why software fails. Our studies reveal that the major reasons why software fails are poor or no design at all, inadequate testing of codes, and attitudinal changes among programmers and other factors.展开更多
Pair Programming (PP) that has gained extensive focus within pedagogical and industrial environments is a programming practice in which two programmers use the same computer to work together on analysis, design, and p...Pair Programming (PP) that has gained extensive focus within pedagogical and industrial environments is a programming practice in which two programmers use the same computer to work together on analysis, design, and programming of the same segment of code. Distributed Pair Programming (DPP) system is a programming system to aid two programmers, the driver and the navigator, to finish a common task such as analysis, design and programming on the same software from different locations. This paper first reviews the existing DPP tools and discusses the interaction and coordination mechanism in DPP process. By means of activity theory and language-action theory, some basic requirements of the DPP system are presented. Then, a design framework of such system and functions of each sub-system are deeply analyzed. Finally, a system prototype is implemented by plug-in style in Microsoft Visual Studio environment.展开更多
Software engineering(SE) courses are confronted with predicaments how to cultivate students' engineering concept and how to abridge the distance between the academy and industry.The "Computing and Software En...Software engineering(SE) courses are confronted with predicaments how to cultivate students' engineering concept and how to abridge the distance between the academy and industry.The "Computing and Software Engineering,III(CSE III)" helps students mimic a real-world software development and broaden realworld SE view.With the spiral model as the main development model,the CSE III course includes not only the SE theory knowledge,but also quick learning,team cooperation,development management and risk management skills which meet the real-world industry requirements.Our contribution is providing an introductory course for multiple dimensions of knowledge,creating a real-world software development circumstance for students under quantitative control and designing a systematic and practical evaluation mechanism which stimulates the interests of students.CSE III has been executed from 2009 and obtains a valuable teaching and learning effects among our teachers,TAs and students;and we add refinements to the course according to feedbacks of participants.This paper will describe the design and practice of the CSE III course.展开更多
Hydrogen management is important for refineries to improve their business efficiency.Various approaches such as pinch analysis and mathematical programming have been employed in the management of hydrogen system.Howev...Hydrogen management is important for refineries to improve their business efficiency.Various approaches such as pinch analysis and mathematical programming have been employed in the management of hydrogen system.However,it is not easy for site engineers to implement these techniques,due to the complicated procedures.At this point,it is necessary to develop a software that can implement the proposed methodologies automatically,which is really the goal of this work.The presented refinery hydrogen system optimization software(RHO)is a web based system.It is developed in the Java Web environment,where the subroutines of mathematical model developed in GAMS software can be easily called.RHO can generate graphics of both the hydrogen pinch diagram and the hydrogen distribution network.The purifiers as well as the physical distances between units are considered in the optimization model.In addition,there is a special module for the calculation of membrane separation,which is very important in the hydrogen network.The functions and the interfaces of the software are illustrated via practical cases.Case studies show the effectiveness of the RHO software.展开更多
Firstly, it is found that process design is necessary for software process improvement after analyzing its complexity. Then, research methods and concepts framework are put forward, and the research content is also pr...Firstly, it is found that process design is necessary for software process improvement after analyzing its complexity. Then, research methods and concepts framework are put forward, and the research content is also provided. The find-ings of research, including propositions of complexity of software process, the work program of complexity of software process improvement, software enterprise model and software production support structure are clarified. Finally, the demonstration, including mindbugs (cognitive barriers) in software process and the knowledge integration support structure of quality software production, is illustrated with case study. It is concluded that the research is useful for both software production and knowledge economy in the future.展开更多
During the last years, we have developed the FLOPER platform for providing a practical support to the so-called Multi-Adjoint Logic Programming approach (MALP in brief), which represents an extremely flexible framewor...During the last years, we have developed the FLOPER platform for providing a practical support to the so-called Multi-Adjoint Logic Programming approach (MALP in brief), which represents an extremely flexible framework into the Fuzzy Logic Programming arena. Nowadays, FLOPER is useful for compiling (to standard Prolog code), executing and debugging (by drawing execution trees) MALP programs, and it is ready for being extended in the near future with powerful transformation and optimization techniques designed in our research group during the recent past. Our last update consists in the integration of a graphical interface for a comfortable interaction with the system which allows, among other capabilities, the use of projects for packing scripts and auxiliary definitions of fuzzy sets/connectives, together with fuzzy programs and their associated lattices modeling truth-degrees beyond the simpler crisp case ﹛true;false﹜.展开更多
基金supported in part by the Education Reform Key Projects of Heilongjiang Province under Grant Nos.SJGZ20220011,SJGZ20220012,and SJGZY2024008。
文摘In response to the current issues in the construction of software engineering(SE)degree granting program,such as insufficient resource integration,low level of internationalization,and inadequate quality control,we propose the Software Engineering Degree Granting Program Construction Practice Project at Harbin Institute of Technology(HIT).This project aims to explore new models for software talent cultivation,establish a superior SE degree granting program,and ultimately cultivate outstanding internationalized composite SE professionals to support the high-quality development of the national software industry.To this end,we design a distinctive overall construction idea and plan for the SE degree granting program,which are characterized by“3I3S:three highlights for specialized cultivation and strictness in three aspects to ensure quality control”.After years of practice and validation of the project at the School of Software at HIT,this project has proven effective in optimizing talent cultivation models,enhancing students’practical abilities,promoting international exchange and cooperation,advancing industry-education integration,and meeting industrial needs.
文摘The rapid integration of artificial intelligence(AI)into software development,driven by large language models(LLMs),is reshaping the role of programmers from traditional coders into strategic collaborators within Industry 4.0 ecosystems.This qualitative study employs a hermeneutic phenomenological approach to explore the lived experiences of Information Technology(IT)professionals as they navigate a dynamic technological landscape marked by intelligent automation,shifting professional identities,and emerging ethical concerns.Findings indicate that developers are actively adapting to AI-augmented environments by engaging in continuous upskilling,prompt engineering,interdisciplinary collaboration,and heightened ethical awareness.However,participants also voiced growing concerns about the reliability and security of AI-generated code,noting that these tools can introduce hidden vulnerabilities and reduce critical engagement due to automation bias.Many described instances of flawed logic,insecure patterns,or syntactically correct but contextually inappropriate suggestions,underscoring the need for rigorous human oversight.Additionally,the study reveals anxieties around job displacement and the gradual erosion of fundamental coding skills,particularly in environments where AI tools dominate routine development tasks.These findings highlight an urgent need for educational reforms,industry standards,and organizational policies that prioritize both technical robustness and the preservation of human expertise.As AI becomes increasingly embedded in software engineering workflows,this research offers timely insights into how developers and organizations can responsibly integrate intelligent systems to promote accountability,resilience,and innovation across the software development lifecycle.
文摘A variety of Software Reliability Growth Models (SRGM) have been presented in literature. These models suffer many problems when handling various types of project. The reason is;the nature of each project makes it difficult to build a model which can generalize. In this paper we propose the use of Genetic Programming (GP) as an eVolutionary computation approach to handle the software reliability modeling problem. GP deals with one of the key issues in computer science which is called automatic programming. The goal of automatic programming is to create, in an automated way, a computer program that enables a computer to solve problems. GP will be used to build a SRGM which can predict accumulated faults during the software testing process. We evaluate the GP developed model and compare its performance with other common growth models from the literature. Our experiments results show that the proposed GP model is superior compared to Yamada S-Shaped, Generalized Poisson, NHPP and Schneidewind reliability models.
文摘The present study aims at improving the ability of the canonical genetic programming algorithm to solve problems, and describes an improved genetic programming (IGP). The proposed method can be described as follows: the first inves-tigates initializing population, the second investigates reproduction operator, the third investigates crossover operator, and the fourth investigates mutation operation. The IGP is examined in two domains and the results suggest that the IGP is more effective and more efficient than the canonical one applied in different domains.
文摘This paper presents a tool for managing, reusing and analysing C software code based on database techniques. The abstract information of entire software code is stored in a program database that is the conceptual scheme of the entire software, whereas the reuse component is a subscheme. Relational algebra can be conveniently used to manage, analyse and reuse C code. In the tool, we can manage, analyse and reuse any components in the program database and rapidly extract source code of any components or construct the program code of a new system. The rule system is introduced in reusing source code.
基金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.
文摘Software debugging accounts for a vast majority of the financial and time costs in software developing and maintenance. Thus, approaches of software fault localization that can help automate the debugging process have become a hot topic in the field of software engineering. Given the great demand for software fault localization, an approach based on the artificial bee colony (ABC) algorithm is proposed to be integrated with other related techniques. In this process, the source program is initially instrumented after analyzing the dependence information. The test case sets are then compiled and run on the instrumented program, and execution results are input to the ABC algorithm. The algorithm can determine the largest fitness value and best food source by calculating the average fitness of the employed bees in the iteralive process. The program unit with the highest suspicion score corresponding to the best test case set is regarded as the final fault localization. Experiments are conducted with the TCAS program in the Siemens suite. Results demonstrate that the proposed fault localization method is effective and efficient. The ABC algorithm can efficiently avoid the local optimum, and ensure the validity of the fault location to a larger extent.
文摘Based on the new algorithm for GIS image pixel topographic factors in remote sensing monitoring ofsoil losses, a software was developed for microcomputer to carry out computation at a medium river basin(county). This paper lays its emphasis on algorithmic skills and programming techniques as well as applicationof the software.
基金Supported by the National Natural Science Foundation of China(11301255)the Fund by Collaborative Innovation Center of IoT Industrialization and Intelligent Production,Minjiang University(IIC1703)+1 种基金Foundation of Minjiang University(MYK17032)the Program for New Century Excellent Talents in Fujian Province University
文摘Hardware/software partitioning is an important step in the design of embedded systems. In this paper, the hardware/software partitioning problem is modeled as a constrained binary integer programming problem, which is further converted equivalently to an unconstrained binary integer programming problem by a penalty method. A local search method, HSFM, is developed to obtain a discrete local minimizer of the unconstrained binary integer programming problem. Next, an auxiliary function, which has the same global optimal solutions as the unconstrained binary integer programming problem, is constructed, and its properties are studied. We show that applying HSFM to minimize the auxiliary function can escape from previous local optima by the increase of the parameter value successfully. Finally, a discrete dynamic convexized method is developed to solve the hardware/software partitioning problem. Computational results and comparisons indicate that the proposed algorithm can get high-quality solutions.
文摘Many industrial companies and researchers are looking for more efficient model driven engineering approaches (MDE) in software engineering of manufacturing automation systems (MS) especially for logic control programming, but are uncertain about the applicability and effort needed to implement those approaches in comparison to classical Programmable Logic Controller?(PLC) programming with IEC 61131-3. The paper summarizes results of usability experiments evaluating UML and SysML as software engineering notations for a MDE applied in the domain of manufacturing systems. Modeling MS needs to cover the domain specific characteristics,?i.e.?hybrid process, real time requirements and communication requirements. In addition the paper presents factors, constraint and practical experience for the development of further usability experiments. The paper gives examples of notational expressiveness and weaknesses of UML and SysML. The appendix delivers detailed master models, representing the correct best suited model, and evaluation schemes of the experiment, which is helpful if setting up own empirical experiments.
文摘Software defect prevention is an important way to reduce the defect introduction rate.As the primary cause of software defects,human error can be the key to understanding and preventing software defects.This paper proposes a defect prevention approach based on human error mechanisms:DPe HE.The approach includes both knowledge and regulation training in human error prevention.Knowledge training provides programmers with explicit knowledge on why programmers commit errors,what kinds of errors tend to be committed under different circumstances,and how these errors can be prevented.Regulation training further helps programmers to promote the awareness and ability to prevent human errors through practice.The practice is facilitated by a problem solving checklist and a root cause identification checklist.This paper provides a systematic framework that integrates knowledge across disciplines,e.g.,cognitive science,software psychology and software engineering to defend against human errors in software development.Furthermore,we applied this approach in an international company at CMM Level 5 and a software development institution at CMM Level 1 in the Chinese Aviation Industry.The application cases show that the approach is feasible and effective in promoting developers' ability to prevent software defects,independent of process maturity levels.
文摘Software testing is a very important phase of the software development process. It is a very difficult job for a software manager to allocate optimally the financial budget to a software project during testing. In this paper the problem of optimal allocation of the software testing cost is studied. There exist several models focused on the development of software costs measuring the number of software errors remaining in the software during testing. The purpose of this paper is to use these models to formulate the optimization problems of resource allocation: Minimization of the total number of software errors remaining in the system. On the assumption that a software project consists of some independent modules, the presented approach extends previous work by defining new goal functions and extending the primary assumption and precondition.
文摘The developing market of information technologies i s the most dynamical and thriving business in the modern world. The law of supply and demand establishes repeating, steady cause and effect relation between three economic phenomena-price, supply and demand. Demand is an ideal need and a real opportunity of the customer to buy the goods. Supply is an ideal readiness and a real opportunity of the commodity producer to put the goods on the market . A plethora of factors affect the supply and demand. There is inverse dependenc e between the market price of the goods and the quantity which is in the demand. There is direct dependence between the market price of the goods and the qu antity which is offered to the buyer. The following features distinguish the sof tware from the usual goods in the consumer market: high science intensity, simpl icity of replicating, relative simplicity of modification and updating, high req uirements to quality of the software, at sale the buyer gets it, but it does no t disappear in sale, there is no physical deterioration, but there is a fast ob solescence. To protect the programs against the non-authorized access (the copy ings and operation) technical and legal methods are used: the patent protection, status of industrial secret, license agreements.
基金Supported by the National Natural Science Foundation of China (91018009)the Fundamental Research Funds for the Central Universities (201121102020006)
文摘In order to verify requirements model/document the consistency between software and users' true minds, we present a software behavior-oriented requirements visualization method. The implementation method for software behavior-oriented requirements visualization is advanced in this paper first. Then, the basis language is introduced as the foundation of the method. At last, we put forward the tool platform that can achieve the requirement visualization, The result demonstrates that the method can generate requirement animation rapidly to check the correctness of the requirement. It can effectively reduce the requirements change and save a lot of software development costs.
文摘Software is pervasive in modern society, but we are often unaware of its presence until problems arise. Software is one of the most important and yet one of the most economically challenging techniques of this era. As a purely intellectual product, it is among the most labor-intensive, complex, and error-prone technologies in human history. Until the 1970s, programmers were very meticulous in planning their code, rigorously checking code, providing detailed documentation, and exhaustive testing before the software is released to users. However, as computer became widespread, attitudes changed. Instead of meticulously planning code, the attitude of the average programmer today is possibly hacking sessions or writing any sloppy piece of code and the compiler will run diagonally, a situation called, “code and fix”, where the programmer tried to fix errors one by one until the software compiled properly. As programs grew in size and complexity, the limits of this “code and fix” approach became evident. In this paper, we studied the various reasons why software fails. Our studies reveal that the major reasons why software fails are poor or no design at all, inadequate testing of codes, and attitudinal changes among programmers and other factors.
文摘Pair Programming (PP) that has gained extensive focus within pedagogical and industrial environments is a programming practice in which two programmers use the same computer to work together on analysis, design, and programming of the same segment of code. Distributed Pair Programming (DPP) system is a programming system to aid two programmers, the driver and the navigator, to finish a common task such as analysis, design and programming on the same software from different locations. This paper first reviews the existing DPP tools and discusses the interaction and coordination mechanism in DPP process. By means of activity theory and language-action theory, some basic requirements of the DPP system are presented. Then, a design framework of such system and functions of each sub-system are deeply analyzed. Finally, a system prototype is implemented by plug-in style in Microsoft Visual Studio environment.
文摘Software engineering(SE) courses are confronted with predicaments how to cultivate students' engineering concept and how to abridge the distance between the academy and industry.The "Computing and Software Engineering,III(CSE III)" helps students mimic a real-world software development and broaden realworld SE view.With the spiral model as the main development model,the CSE III course includes not only the SE theory knowledge,but also quick learning,team cooperation,development management and risk management skills which meet the real-world industry requirements.Our contribution is providing an introductory course for multiple dimensions of knowledge,creating a real-world software development circumstance for students under quantitative control and designing a systematic and practical evaluation mechanism which stimulates the interests of students.CSE III has been executed from 2009 and obtains a valuable teaching and learning effects among our teachers,TAs and students;and we add refinements to the course according to feedbacks of participants.This paper will describe the design and practice of the CSE III course.
基金The financial support provided by the Project of National Natural Science Foundation of China(21822809&21978256)the National Science Fund for Distinguished Young(21525627)+1 种基金the Fundamental Research Funds for the Central Universities(2019XZZX004-03)Ningxia Collaborative Innovation Center for Value Upgrading of Coal-based Synthetic Resin(2017DC57)。
文摘Hydrogen management is important for refineries to improve their business efficiency.Various approaches such as pinch analysis and mathematical programming have been employed in the management of hydrogen system.However,it is not easy for site engineers to implement these techniques,due to the complicated procedures.At this point,it is necessary to develop a software that can implement the proposed methodologies automatically,which is really the goal of this work.The presented refinery hydrogen system optimization software(RHO)is a web based system.It is developed in the Java Web environment,where the subroutines of mathematical model developed in GAMS software can be easily called.RHO can generate graphics of both the hydrogen pinch diagram and the hydrogen distribution network.The purifiers as well as the physical distances between units are considered in the optimization model.In addition,there is a special module for the calculation of membrane separation,which is very important in the hydrogen network.The functions and the interfaces of the software are illustrated via practical cases.Case studies show the effectiveness of the RHO software.
文摘Firstly, it is found that process design is necessary for software process improvement after analyzing its complexity. Then, research methods and concepts framework are put forward, and the research content is also provided. The find-ings of research, including propositions of complexity of software process, the work program of complexity of software process improvement, software enterprise model and software production support structure are clarified. Finally, the demonstration, including mindbugs (cognitive barriers) in software process and the knowledge integration support structure of quality software production, is illustrated with case study. It is concluded that the research is useful for both software production and knowledge economy in the future.
文摘During the last years, we have developed the FLOPER platform for providing a practical support to the so-called Multi-Adjoint Logic Programming approach (MALP in brief), which represents an extremely flexible framework into the Fuzzy Logic Programming arena. Nowadays, FLOPER is useful for compiling (to standard Prolog code), executing and debugging (by drawing execution trees) MALP programs, and it is ready for being extended in the near future with powerful transformation and optimization techniques designed in our research group during the recent past. Our last update consists in the integration of a graphical interface for a comfortable interaction with the system which allows, among other capabilities, the use of projects for packing scripts and auxiliary definitions of fuzzy sets/connectives, together with fuzzy programs and their associated lattices modeling truth-degrees beyond the simpler crisp case ﹛true;false﹜.