Developing software that scales on multicore processors is an inexact science dominated by guesswork, measurement, and expensive cycles of redesign and reimplementation. Current approaches are workload-driven and, hen...
详细信息
Developing software that scales on multicore processors is an inexact science dominated by guesswork, measurement, and expensive cycles of redesign and reimplementation. Current approaches are workload-driven and, hence, can reveal scalability bottlenecks only for known workloads and available software and hardware. This paper introduces an interface-driven approach to building scalable software. This approach is based on the scalable commutativity rule, which, informally stated, says that whenever interface operations commute, they can be implemented in a way that scales. We formalize this rule and prove it correct for any machine on which conflict-free operations scale, such as current cache-coherent multicore machines. The rule also enables a better design process for scalable software: programmers can now reason about scalability from the earliest stages of interface definition through software design, implementation, and evaluation.
We consider contact problems of determination of the stress-strain state in the elastic half plane under the action of punches of different shapes (parabolic, cylindrical, elliptic, and hyperbolic). We study specific ...
详细信息
This paper aims to develop a knowledge audit (KA) model with the focus on knowledge assessment in the requirements elicitation process (REP) to allay the problems of REP regarding knowledge communication. The principa...
详细信息
This paper aims to develop a knowledge audit (KA) model with the focus on knowledge assessment in the requirements elicitation process (REP) to allay the problems of REP regarding knowledge communication. The principal problems with REP are knowledge conflict and the failure to mention a variety of knowledge and requirements changes. Despite of many existing studies relating to KA, inadequate effort has been directed towards investigating the full part played by the KA process in REP. The purpose of this paper is to bridge this gap using a software prototype that uses the KA model in the REP. This study proposes a KA model using an iterative triangulation method. The proposed model is validated through a case study by using a software prototype developed based on the proposed KA model to see if this KA model is effective for software developers in REP by improving the completeness, correctness, and understandability of the elicited requirements knowledge. Research findings are based on responses of 40 respondents from softwaredevelopment organizations. The results of case study confirmed the effectiveness of KA model for REP with respect to completeness, correctness, and understandability. This research answers the call to assess knowledge in REP by developing a KA model and prototype to fill the existing gap in this area. Overall, a KA model for REP is introduced and validated to identify and assess knowledge that supports knowledge communication in REP.
Innovation management is a subdiscipline of management that studies the rules that govern the generation, diffusion, adoption of innovation, and relationships between innovation inputs and outputs. A great number of i...
详细信息
Innovation management is a subdiscipline of management that studies the rules that govern the generation, diffusion, adoption of innovation, and relationships between innovation inputs and outputs. A great number of innovative products and services depend on software. In the software industry, many small entities act as subcontractors that develop components that are later integrated into larger industrial systems. However, these small entities do not have the resources needed to support long-term R&D activities and they also lack innovation management models which makes the planning and execution of innovation management difficult. These same small enterprises face similar challenges in the softwaredevelopment process. However, the ISO/IEC 29110 standard provides small enterprises with a clear path in implementing a systematic softwaredevelopment process. The planning and execution of innovation management activities may also benefit from a similar approach. This article describes an innovation activity model suited to the characteristics of small entities whose main stream of revenue is softwaredevelopment. Using the existing literature, standards, and the practical experience of companies with a successful history of developing innovative software-based products, this study identifies the activities and practices that lead to the development of innovative products. Interfaces between innovation management activities, softwaredevelopment processes, and work products are also identified.
Context: Developers design test suites to verify that software meets its expected behaviors. Many dynamic analysis techniques are performed on the exploitation of execution traces from test cases. In practice, one tes...
详细信息
Context: Developers design test suites to verify that software meets its expected behaviors. Many dynamic analysis techniques are performed on the exploitation of execution traces from test cases. In practice, one test case may imply various behaviors. However, the execution of a test case only yields one trace, which can hide the others. Objective: In this article, we propose a new technique of test code refactoring, called B-Refactoring. The idea behind B-Refactoring is to split a test case into small test fragments, which cover a simpler part of the control flow to provide better support for dynamic analysis. Method: For a given dynamic analysis technique, B-Refactoring monitors the execution of test cases and constructs small test cases without loss of the testability. We apply B-Refactoring to assist two existing analysis tasks: automatic repair of if-condition bugs and automatic analysis of exception contracts. Results: Experimental results show that B-Refactoring can effectively improve the execution traces of the test suite. Real-world bugs that could not be previously fixed with the original test suites are fixed after applying B-Refactoring;meanwhile, exception contracts are better verified via applying B-Refactoring to original test suites. Conclusions: We conclude that applying B-Refactoring improves the execution traces of test cases for dynamic analysis. This improvement can enhance existing dynamic analysis tasks. (c) 2016 Elsevier B.V. All rights reserved.
As software services have become a main and basic part of companies in recent years, accurate and efficient estimates of required effort for their development has turned into a major concern. Furthermore, the great va...
详细信息
As software services have become a main and basic part of companies in recent years, accurate and efficient estimates of required effort for their development has turned into a major concern. Furthermore, the great variety, complexity, nonnormality, and inconsistency of software services have made estimation of the needed development effort a very difficult task. In spite of the numerous studies conducted, and improvements made, in the past, no single model has yet been introduced that can reliably estimate the required effort. All the proposed methods enjoy suitable performance under specific conditions but lack satisfactory accuracy in a general and global space. Therefore, apparently, it is impossible to introduce a global and efficient model for all types of services. This article proposes a new model called GVSEE that emphasizes the idea "Think locally, act globally." Unlike previous studies, this model does not rely on a specific method and, in addition to combining methods, takes a local look at each software service with the help of fuzzy clustering. The model was evaluated on the real dataset ISBSG and on two artificial datasets, and results obtained indicate its tangible efficiency and the lack of accuracy of other models. As well as its greater accuracy, other advantages of the proposed model over other models are its adaptability and flexibility in confronting complexities and uncertainties present in the area of software services.
暂无评论