In the software engineering literature, it is commonly believed that economies of scale do not occur in case of software Development and Enhancement Projects (D&EP). Their per-unit cost does not decrease but increa...In the software engineering literature, it is commonly believed that economies of scale do not occur in case of software Development and Enhancement Projects (D&EP). Their per-unit cost does not decrease but increase with the growth of such projects product size. Thus this is diseconomies of scale that occur in them. The significance of this phenomenon results from the fact that it is commonly considered to be one of the fundamental objective causes of their low effectiveness. This is of particular significance with regard to Business Software Systems (BSS) D&EP characterized by exceptionally low effectiveness comparing to other software D&EP. Thus the paper aims at answering the following two questions: (1) Do economies of scale really not occur in BSS D&EP? (2) If economies of scale may occur in BSS D&EP, what factors are then promoting them? These issues classify into economics problems of software engineering research and practice.展开更多
Customizing applications through program configuration options has been proved by many open-source and commercial projects as one of the best practices in software engineering. However, traditional performance testing...Customizing applications through program configuration options has been proved by many open-source and commercial projects as one of the best practices in software engineering. However, traditional performance testing is not in synch with this industrial practice. Traditional performance testing techniques consider program inputs as the only external factor. It ignores the performance influence of configuration options. This study aims to stimulate research interest in performance testing in the context of configurable software systems by answering three research questions. That is, why it is necessary to conduct research in performance testing, what are the state-of-the-art techniques, and how do we conduct performance testing research in configurable software systems. In this study, we examine the unique characteristics and challenges of performance testing research in configurable software systems. We review and discuss research topics on the performance bug study, performance anti-patterns, program analysis, and performance testing. We share the research findings from the empirical study and outline the opening opportunities for new and advanced researchers to contribute to the research community.展开更多
Autonomic software recovery enables software to automatically detect and recover software faults. This feature makes the software to run more efficiently, actively, and reduces the maintenance time and cost. This pape...Autonomic software recovery enables software to automatically detect and recover software faults. This feature makes the software to run more efficiently, actively, and reduces the maintenance time and cost. This paper proposes an automated approach for Software Fault Detection and Recovery (SFDR). The SFDR detects the cases if a fault occurs with software components such as component deletion, replacement or modification, and recovers the component to enable the software to continue its intended operation. The SFDR is analyzed and implemented in parallel as a standalone software at the design phase of the target software. The practical applicability of the proposed approach has been tested by implementing an application demonstrating the performance and effectiveness of the SFDR. The experimental results and the comparisons with other works show the effectiveness of the proposed approach.展开更多
New bugs and vulnerabilities are discovered and reported from time to time even after software products are released. One of the common ways to handle these bugs is to patch the software. In this paper, the authors pr...New bugs and vulnerabilities are discovered and reported from time to time even after software products are released. One of the common ways to handle these bugs is to patch the software. In this paper, the authors propose a stochastic model for optimizing the patching time for software bugs and vulnerabilities. The optimal patching time can be computed in the patching script development and operational costs in fix. The authors present two case studies using the Nimda worm vulnerability in Microsoft Internet Information Services web server and the bug report of the Debian project. These studies indicate that the patch applications are later than their optimal fix time.展开更多
This paper compares Chinese, Korean, and Japanese shipyard production technology. Development in the world shipbuilding over recent years has influenced focus areas related to shipyard manufacturing technologies and p...This paper compares Chinese, Korean, and Japanese shipyard production technology. Development in the world shipbuilding over recent years has influenced focus areas related to shipyard manufacturing technologies and product performance. Software systems, information technology, production technology, and local challenges of shipyards are compared with shipbuilding outputs among these three countries. Various technologies developments, shipyard production and the problems in Chinese, Japanese, and Korean shipyards are discussed respectively. Finally, future areas of research are pointed out.展开更多
The current cyber-attack environment has put even the most protected systems at risk as the hackers are nowmodifying technologies to exploit even the tiniest of weaknesses and infiltrate networks.In this situation,it...The current cyber-attack environment has put even the most protected systems at risk as the hackers are nowmodifying technologies to exploit even the tiniest of weaknesses and infiltrate networks.In this situation,it’s critical to design and construct software that is both secure and long-lasting.While security is the most well-defined aspect of health information software systems,it is equally significant to prioritise sustainability because any health information software system will be more effective if it provides both security and sustainability to the customers at the same time.In this league,it is crucial to determine those characteristics in the systems that can help in the accurate assessment of the sustainable-security of the health information software during the development stage.This research work employed the Fuzzy Analytic Network Process(Fuzzy ANP)to estimate the impact of the overall sustainable-security of health information software systems and their characteristics in order to achieve a high level of sustainable-security.Furthermore,the study validates the efficacy of the Fuzzy ANP procedure by testing it on five different versions of a health information software system through Fuzzy Technique for Order of Preference by Similarity to Ideal Solutions(Fuzzy TOPSIS).Despite the sensitivity of the health information software systems,this study employedmultiple versions of health information software system.When compared with the existing procedures for testing the sustainable-security of health information software systems,the outcomes were conclusive and significantly more effective.Besides saving time and resources,the mechanism suggested in this research work aims to establish an outline that software practitioners can follow to enhance the sustainablesecurity of health information software systems.展开更多
The traditional software development model commonly named “waterfall” is unable to cope with the increasing functionality and complexity of modern embedded systems. In addition, it is unable to support the ability f...The traditional software development model commonly named “waterfall” is unable to cope with the increasing functionality and complexity of modern embedded systems. In addition, it is unable to support the ability for businesses to quickly respond to new market opportunities due to changing requirements. As a response, the software development community developed the Agile Methodologies (e.g., extreme Programming, Scrum) which were also adopted by the Embedded System community. However, failures and bad experiences in applying Agile Methodologies to the development of embedded systems have not been reported in the literature. Therefore, this paper contributes a detailed account of our first-time experiences adopting an agile approach in the prototype development of a wireless environment data acquisition system in an academic environment. We successfully applied a subset of the extreme Programming (XP) methodology to our software development using the Python programming language, an experience that demonstrated its benefits in shaping the design of the software and also increasing productivity. We used an incremental development approach for the hardware components and adopted a “cumulative testing” approach. For the overall development process management, however, we concluded that the Promise/Commitment-Based Project Management (PB-PM/CBPM) was better suited. We discovered that software and hardware components of embedded systems are best developed in parallel or near-parallel. We learned that software components that pass automated tests may not survive in the tests against the hardware. Throughout this rapid prototyping effort, factors like team size and our availability as graduate students were major obstacles to fully apply the XP methodology.展开更多
The information used with computers is known as software and includesprograms and data. Programs are sets of instructions telling the computerwhat operations have to be carried out and in what order they should be don...The information used with computers is known as software and includesprograms and data. Programs are sets of instructions telling the computerwhat operations have to be carried out and in what order they should be done. Specialised programs which enable the computer to be used for particularpurposes are called applications programs. A collection of these programs展开更多
There is a growing tendency for people in the community of object-oriented methods to use preand post-conditions to write formal specifications for opera- tions (methods) of classes. The motivation for trying to tak...There is a growing tendency for people in the community of object-oriented methods to use preand post-conditions to write formal specifications for opera- tions (methods) of classes. The motivation for trying to take advantage of well established formalism in precisely defining the functionality of operations is laudable, but unfortunately this exercise may be flawed because the use of pre- and post-conditions containing method calls (or similar) with side effects are likely to cause confusion in the interpretation of specifications. This paper analyzes, with comprehensible examples, why using pre-post notation is not effective to specify operations in objectoriented systems in general, discusses existing approaches to using pre-post notation for object-oriented systems, and offers some solutions to the problem.展开更多
The Geosciences Network(GEON)project has been developing cyberinfrastructure for data sharing in the Earth Science community based on a serviceoriented architecture.The layered architecture consists of Core,Middleware...The Geosciences Network(GEON)project has been developing cyberinfrastructure for data sharing in the Earth Science community based on a serviceoriented architecture.The layered architecture consists of Core,Middleware,and Applications services.Core services provide system-level functions(e.g.user authentication),Middleware services provide generic capabilities(e.g.catalog search),and Application services provide functions that users directly interact with,including applications that are specific to Earth Sciences.The GEON‘service stack’includes a standardized set of these services and the corresponding software modules.The GEON Portal provides Web-based access to these services via a set of portlets.This service-oriented approach has enabled GEON to expand to new partner sites and leverage GEON services for other projects.To facilitate interoperation in a distributed geoinformatics environment,GEON is focusing on standards for distributed search across federated catalogs.展开更多
Direct volume rendering (DVR) is a powerful visualization technique which allows users to effectively explore and study volumetric datasets. Different transparency settings can be flexibly assigned to different stru...Direct volume rendering (DVR) is a powerful visualization technique which allows users to effectively explore and study volumetric datasets. Different transparency settings can be flexibly assigned to different structures such that some valuable information can be revealed in direct volume rendered images (DVRIs). However, end-users often feel that some risks are always associated with DVR because they do not know whether any important information is missing from the transparent regions of DVRIs. In this paper, we investigate how to semi-automatically generate a set of DVRIs and also an animation which can reveal information missed in the original DVRIs and meanwhile satisfy some image quality criteria such as coherence. A complete framework is developed to tackle various problems related to the generation and quality evaluation of visibility-aware DVRIs and animations. Our technique can reduce the risk of using direct volume rendering and thus boost the confidence of users in volume rendering systems.展开更多
ne way to speed up the execution of sequential programs is to divide them into concurrent segments and execute such segments in a parallel manner over a distributed computing environment. We argue that the execution s...ne way to speed up the execution of sequential programs is to divide them into concurrent segments and execute such segments in a parallel manner over a distributed computing environment. We argue that the execution speedup primarily depends on the concurrency degree between the identified segments as well as communication overhead between the segments. To guar-antee the best speedup, we have to obtain the maximum possible concurrency degree between the identified segments, taking communication overhead into consideration. Existing code distributor and multi-threading approaches do not fulfill such re-quirements;hence, they cannot provide expected distributability gains in advance. To overcome such limitations, we propose a novel approach for verifying the distributability of sequential object-oriented programs. The proposed approach enables users to see the maximum speedup gains before the actual distributability implementations, as it computes an objective function which is used to measure different distribution values from the same program, taking into consideration both remote and sequential calls. Experimental results showed that the proposed approach successfully determines the distributability of different real-life software applications compared with their real-life sequential and distributed implementations.展开更多
文摘In the software engineering literature, it is commonly believed that economies of scale do not occur in case of software Development and Enhancement Projects (D&EP). Their per-unit cost does not decrease but increase with the growth of such projects product size. Thus this is diseconomies of scale that occur in them. The significance of this phenomenon results from the fact that it is commonly considered to be one of the fundamental objective causes of their low effectiveness. This is of particular significance with regard to Business Software Systems (BSS) D&EP characterized by exceptionally low effectiveness comparing to other software D&EP. Thus the paper aims at answering the following two questions: (1) Do economies of scale really not occur in BSS D&EP? (2) If economies of scale may occur in BSS D&EP, what factors are then promoting them? These issues classify into economics problems of software engineering research and practice.
文摘Customizing applications through program configuration options has been proved by many open-source and commercial projects as one of the best practices in software engineering. However, traditional performance testing is not in synch with this industrial practice. Traditional performance testing techniques consider program inputs as the only external factor. It ignores the performance influence of configuration options. This study aims to stimulate research interest in performance testing in the context of configurable software systems by answering three research questions. That is, why it is necessary to conduct research in performance testing, what are the state-of-the-art techniques, and how do we conduct performance testing research in configurable software systems. In this study, we examine the unique characteristics and challenges of performance testing research in configurable software systems. We review and discuss research topics on the performance bug study, performance anti-patterns, program analysis, and performance testing. We share the research findings from the empirical study and outline the opening opportunities for new and advanced researchers to contribute to the research community.
文摘Autonomic software recovery enables software to automatically detect and recover software faults. This feature makes the software to run more efficiently, actively, and reduces the maintenance time and cost. This paper proposes an automated approach for Software Fault Detection and Recovery (SFDR). The SFDR detects the cases if a fault occurs with software components such as component deletion, replacement or modification, and recovers the component to enable the software to continue its intended operation. The SFDR is analyzed and implemented in parallel as a standalone software at the design phase of the target software. The practical applicability of the proposed approach has been tested by implementing an application demonstrating the performance and effectiveness of the SFDR. The experimental results and the comparisons with other works show the effectiveness of the proposed approach.
文摘New bugs and vulnerabilities are discovered and reported from time to time even after software products are released. One of the common ways to handle these bugs is to patch the software. In this paper, the authors propose a stochastic model for optimizing the patching time for software bugs and vulnerabilities. The optimal patching time can be computed in the patching script development and operational costs in fix. The authors present two case studies using the Nimda worm vulnerability in Microsoft Internet Information Services web server and the bug report of the Debian project. These studies indicate that the patch applications are later than their optimal fix time.
文摘This paper compares Chinese, Korean, and Japanese shipyard production technology. Development in the world shipbuilding over recent years has influenced focus areas related to shipyard manufacturing technologies and product performance. Software systems, information technology, production technology, and local challenges of shipyards are compared with shipbuilding outputs among these three countries. Various technologies developments, shipyard production and the problems in Chinese, Japanese, and Korean shipyards are discussed respectively. Finally, future areas of research are pointed out.
基金Funding for this study was received fromthe Ministry of Education and Deanship of Scientific Research at King Abdulaziz University,Kingdom of Saudi Arabia under Grant No.IFPHI-287-611-2020.
文摘The current cyber-attack environment has put even the most protected systems at risk as the hackers are nowmodifying technologies to exploit even the tiniest of weaknesses and infiltrate networks.In this situation,it’s critical to design and construct software that is both secure and long-lasting.While security is the most well-defined aspect of health information software systems,it is equally significant to prioritise sustainability because any health information software system will be more effective if it provides both security and sustainability to the customers at the same time.In this league,it is crucial to determine those characteristics in the systems that can help in the accurate assessment of the sustainable-security of the health information software during the development stage.This research work employed the Fuzzy Analytic Network Process(Fuzzy ANP)to estimate the impact of the overall sustainable-security of health information software systems and their characteristics in order to achieve a high level of sustainable-security.Furthermore,the study validates the efficacy of the Fuzzy ANP procedure by testing it on five different versions of a health information software system through Fuzzy Technique for Order of Preference by Similarity to Ideal Solutions(Fuzzy TOPSIS).Despite the sensitivity of the health information software systems,this study employedmultiple versions of health information software system.When compared with the existing procedures for testing the sustainable-security of health information software systems,the outcomes were conclusive and significantly more effective.Besides saving time and resources,the mechanism suggested in this research work aims to establish an outline that software practitioners can follow to enhance the sustainablesecurity of health information software systems.
文摘The traditional software development model commonly named “waterfall” is unable to cope with the increasing functionality and complexity of modern embedded systems. In addition, it is unable to support the ability for businesses to quickly respond to new market opportunities due to changing requirements. As a response, the software development community developed the Agile Methodologies (e.g., extreme Programming, Scrum) which were also adopted by the Embedded System community. However, failures and bad experiences in applying Agile Methodologies to the development of embedded systems have not been reported in the literature. Therefore, this paper contributes a detailed account of our first-time experiences adopting an agile approach in the prototype development of a wireless environment data acquisition system in an academic environment. We successfully applied a subset of the extreme Programming (XP) methodology to our software development using the Python programming language, an experience that demonstrated its benefits in shaping the design of the software and also increasing productivity. We used an incremental development approach for the hardware components and adopted a “cumulative testing” approach. For the overall development process management, however, we concluded that the Promise/Commitment-Based Project Management (PB-PM/CBPM) was better suited. We discovered that software and hardware components of embedded systems are best developed in parallel or near-parallel. We learned that software components that pass automated tests may not survive in the tests against the hardware. Throughout this rapid prototyping effort, factors like team size and our availability as graduate students were major obstacles to fully apply the XP methodology.
文摘The information used with computers is known as software and includesprograms and data. Programs are sets of instructions telling the computerwhat operations have to be carried out and in what order they should be done. Specialised programs which enable the computer to be used for particularpurposes are called applications programs. A collection of these programs
文摘There is a growing tendency for people in the community of object-oriented methods to use preand post-conditions to write formal specifications for opera- tions (methods) of classes. The motivation for trying to take advantage of well established formalism in precisely defining the functionality of operations is laudable, but unfortunately this exercise may be flawed because the use of pre- and post-conditions containing method calls (or similar) with side effects are likely to cause confusion in the interpretation of specifications. This paper analyzes, with comprehensible examples, why using pre-post notation is not effective to specify operations in objectoriented systems in general, discusses existing approaches to using pre-post notation for object-oriented systems, and offers some solutions to the problem.
基金This research has been funded by the US National Science Foundation via grants 0225673 and 0744229.
文摘The Geosciences Network(GEON)project has been developing cyberinfrastructure for data sharing in the Earth Science community based on a serviceoriented architecture.The layered architecture consists of Core,Middleware,and Applications services.Core services provide system-level functions(e.g.user authentication),Middleware services provide generic capabilities(e.g.catalog search),and Application services provide functions that users directly interact with,including applications that are specific to Earth Sciences.The GEON‘service stack’includes a standardized set of these services and the corresponding software modules.The GEON Portal provides Web-based access to these services via a set of portlets.This service-oriented approach has enabled GEON to expand to new partner sites and leverage GEON services for other projects.To facilitate interoperation in a distributed geoinformatics environment,GEON is focusing on standards for distributed search across federated catalogs.
基金supported in part by Hong Kong RGC CERG under Grant No. 618705
文摘Direct volume rendering (DVR) is a powerful visualization technique which allows users to effectively explore and study volumetric datasets. Different transparency settings can be flexibly assigned to different structures such that some valuable information can be revealed in direct volume rendered images (DVRIs). However, end-users often feel that some risks are always associated with DVR because they do not know whether any important information is missing from the transparent regions of DVRIs. In this paper, we investigate how to semi-automatically generate a set of DVRIs and also an animation which can reveal information missed in the original DVRIs and meanwhile satisfy some image quality criteria such as coherence. A complete framework is developed to tackle various problems related to the generation and quality evaluation of visibility-aware DVRIs and animations. Our technique can reduce the risk of using direct volume rendering and thus boost the confidence of users in volume rendering systems.
文摘ne way to speed up the execution of sequential programs is to divide them into concurrent segments and execute such segments in a parallel manner over a distributed computing environment. We argue that the execution speedup primarily depends on the concurrency degree between the identified segments as well as communication overhead between the segments. To guar-antee the best speedup, we have to obtain the maximum possible concurrency degree between the identified segments, taking communication overhead into consideration. Existing code distributor and multi-threading approaches do not fulfill such re-quirements;hence, they cannot provide expected distributability gains in advance. To overcome such limitations, we propose a novel approach for verifying the distributability of sequential object-oriented programs. The proposed approach enables users to see the maximum speedup gains before the actual distributability implementations, as it computes an objective function which is used to measure different distribution values from the same program, taking into consideration both remote and sequential calls. Experimental results showed that the proposed approach successfully determines the distributability of different real-life software applications compared with their real-life sequential and distributed implementations.