The Infona portal uses cookies, i.e. strings of text saved by a browser on the user's device. The portal can access those files and use them to remember the user's data, such as their chosen settings (screen view, interface language, etc.), or their login data. By using the Infona portal the user accepts automatic saving and using this information for portal operation purposes. More information on the subject can be found in the Privacy Policy and Terms of Service. By closing this window the user confirms that they have read the information on cookie usage, and they accept the privacy policy and the way cookies are used by the portal. You can change the cookie settings in your browser.
Because debugging is notoriously time-consuming and laborious, fault localization becomes a major activity in software testing researches. This paper proposes a novel fault localization approach which utilizes intersection of control-flow based execution traces. It reports all program points, which are executed in every failed test case, as suspect of bugs and ranks them based on the frequency they...
DisCaRia is a distributed case-based reasoning system used for fault resolution. This system features peer-to-peer and case-based reasoning approaches that provide the capability of exploring various fault data sources and exploiting fault solving knowledge from these distributed sources. This paper focuses on the prototype implementation and the performance evaluation of DisCaRia. The prototype system...
Any changes for maintenance or evolution purposes may break existing working features, or may violate the requirements established in the previous software releases. Regression testing is essential to avoid these problems, but it may be ended up with executing many time-consuming test cases. This paper tries to address prioritizing requirements-based regression test cases. To this end, system-level...
Invalid bug reports cause overheads in the software process. This study examined the invalid bugs reported against a server application over four years time period and categorized the reasons. The research found that in addition to errors in testing, misunderstandings on functionality and environments, lack of background knowledge, problems in external systems and tools, and other reasons can lead...
This article describes the advanced parametric models for assessment and prediction of software reliability, based on statistics of bugs at the initial stage of testing. The parametric model approach, commonly associated with reliability issues, deals with the evaluation of the amount of bugs in the code. Computed parameter values inserted into the model allow to estimate: (a) number of bugs remaining...
We present an approach to identify duplicate bug reports expressed in free-form text. Duplicate reports needs to be identified to avoid a situation where duplicate reports get assigned to multiple developers. Also, duplicate reports can contain complementary information which can be useful for bug fixing. Automatic identification of duplicate reports (from thousands of existing reports in a bug repository)...
In this paper test documentation and effort estimations have been investigated as well as Bug Tracking Tools. Four different existing Bug Tracking Tools have been compared with each other along with their features and drawbacks. Then a new one, the Debugger has been proposed. Testing is one of the most important tasks in developing any software. According to the experts, time and money play the crucial...
The software testing phase usually results in a large number of bugs to be fixed. The fixing of these bugs require executing certain activities (potentially concurrent) that demand resources having different competencies and workloads. Appropriate resource allocation to these bug-fixing activities can help a project manager to schedule capable resources to these activities, taking into account their...
Search-based techniques were successfully applied to many different areas of testing but according to our knowledge there are no works that applies search-based techniques to testing of concurrent software, yet. This PhD paper describes plans and already achieved preliminary results with applying search-based techniques to testing of concurrent software. In particular, we plan to combine noise injection...
In this paper we propose an active testing approach that uses clone detection and rule evaluation as the foundation for detecting bug patterns in concurrent software. If we can identify a bug pattern as being present then we can localize our testing effort to the exploration of interleavings relevant to the potential bug. Furthermore, if the potential bug is indeed a real bug, then targeting specific...
Current GUI testing approaches validate the functional correctness of interactive applications, but they neglect an important non-functional quality: performance. With the growing complexity of interactive applications, and with their gradual migration to resource-constrained devices such as smartphones, their performance as perceived by the human user is growing in importance. In this paper we propose...
Testing code is one of the central techniques for quality assessment of code. Generating test cases manually, however, is costly and inherently biased by the human point of view. While this might not be an issue for end-user code, it is problematic for developing libraries. The York Extendible Testing Infrastructure (YETI) is an automated random testing infrastructure supporting multiple programming...
Typically, software libraries provide API documentation, through which developers can learn how to use libraries correctly. However, developers may still write code inconsistent with API documentation and thus introduce bugs, as existing research shows that many developers are reluctant to carefully read API documentation. To find those bugs, researchers have proposed various detection approaches...
Fuzz testing is an effective technique for finding security vulnerabilities in software. Traditionally fuzz testing tools use random inputs and watch the resulting values. In this paper, we present a model-based fuzz framework for systematic automated testing of a TCG trusted software stack implementation. This framework is based on blackbox fuzz testing methods, integrated with target profiling,...
So far, few attempts were carried out in literature to understand the specific nature of Web bugs and their distribution among the tiers of applications' architecture. In this paper we present an experimental investigation conducted with five pairs of homologous applications (Web and traditional) and 780 real bugs taken from SourceForge aimed at studying the distributions of bugs in Web and traditional...
Software testing is hard. The emergence of multicore architectures and the proliferation of bug-prone multithreaded software makes testing even harder. To this end, researchers have proposed methods to continue testing software after deployment, e.g., in vivo (IV) testing and delta execution (DE) patch testing. These on-line techniques typically fork new processes to hide the functional impact of...
Detecting latent errors is a key challenging issue in the software testing process. Latent errors could be best detected by bug predictors. A bug predictor manifests the effect of a bug on the program execution state. The aim has been to find the smallest reasonable subset of the bug predictors, manifesting all possible bugs within a program. In this paper, a new algorithm for finding the smallest...
In practice, manual debugging to locate bugs is a daunting and time-consuming task. By using software fault localization, we can reduce this time substantially. The technique of software fault localization can be performed using execution profiles of the software under several test inputs. Such profiles, known as program spectra, consist of the coverage of correct and incorrect executions statement...
In this paper, we present our approach of using non redundant test cases with program spectra (one of the automated bug localization techniques) to locate software bugs in a program. We evaluate several spectra metrics (functions mapped from program spectra) using the non redundant test cases. Extensive evaluation on Siemens Test Suite and subset of Unix datasets shows the effectiveness of locating...
Defect prediction is an important task in the mining of software repositories, but the quality of predictions varies strongly within and across software projects. In this paper we investigate the reasons why the prediction quality is so fluctuating due to the altering nature of the bug (or defect) fixing process. Therefore, we adopt the notion of a concept drift, which denotes that the defect prediction...
Set the date range to filter the displayed results. You can set a starting date, ending date or both. You can enter the dates manually or choose them from the calendar.