Learn More
Pattern is one of the most simple and powerful techniques to improve the design, and consequently enhance the maintainability, reusability, and reverse engineering. Design pattern detection is a useful technique for gaining knowledge on the design issues of existing systems and improves the system's comprehension, which consequently enhance the software(More)
In last decade, researchers have often tried to improve the usability, portability, integrity and other aspects of software in order for it to be more users friendly and gain user trust. Several approaches and techniques have been proposed to reduce the negative effects of software size and complexity. Moreover, several software quality models were proposed(More)
The African continent has long benefited from adopting OSS in its private and public organizations that have changed their way of development, the use and how to acquire proprietary software. This frequency of adaptation does not appear to be in balance with the contribution to the OSS community. Using views from experienced software practitioners working(More)
Software reuse is a major concern in many software development companies. It is one of the main strategies used to reduce the cost of software product development. Studies show that the reuse strategy is the most significant strategy in terms of effort and quality. That it could save the half of the software development effort and increase the quality of(More)
Design is a first step in the development phase for any engineered product or system. It is defined as the process and strategies used to manage complexity. Software design process is an iterative process whereby the requirements are transformed into a " blueprint " for constructing the software. A design model is developed based on the combination of(More)
Content Security Policy (CSP) is powerful client-side security layer that helps in mitigating and detecting wide ranges of web attacks including cross-site scripting (XSS). However, utilizing CSP by site administrators is a fallible process and may require significant changes in web application code. In this paper, we propose an approach to help site(More)
Regression testing is an integral and expensive part in software testing. To reduce its effort, test case prioritization approaches were proposed. The problem with most of the existing approaches is the random ranking of test cases with equal weight. In this paper, an enhanced weighted method to prioritize the full test suite without using random ranking is(More)
Software testing requires executing software under test with the intention of finding defects as much as possible. Test case generation remains the most dominant research in software testing. The technique used in generating test cases may lead to effective and efficient software testing process. Many techniques have been proposed to generate test cases.(More)
Metaphor is a representation of object and situation that have meaning and comparable to real thing to convey the message to people. The purpose of using metaphor is to facilitate in making communication more direct and effective for particular user communities. This study reveals design metaphor issues for paddy farmer population in agriculture domain in(More)