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.
Keeping requirements and acceptance test documents aligned and up-to-date plays an important role in the success of software projects. In practice, these documents are not always aligned with each other, nor with the actual system behavior. A previous study showed that even when requirements are updated, acceptance tests might stay outdated, which often leads to quality problems and unintended costs...
While general game playing is an active field of research, the learning of game design has tended to be either a secondary goal of such research or it has been solely the domain of humans. We propose a field of research. Automated Game Design Learning (AGDL), with the direct purpose of learning game designs directly through interaction with games in the mode that most people experience games: via...
Empirical studies in software engineering frequently rely on correlation data in an effort to demonstrate that a process or tool affects an important or meaningful outcome, with the ultimate goal of improving software engineering practice. But all students of statistics know that "correlation does not imply causation," and so causal conclusions (using traditional methods) from observational...
App store reviews are currently the main source of information for analyzing different aspects of app development and evolution. However, app users' feedback do not only occur on the app store. In fact, a large quantity of posts about apps are made daily on social media. In this paper, we study how Twitter can provide complementary information to support mobile app development. By analysing a total...
How do professional software engineers debug computer programs? In an experiment with 27 real bugs that existed in several widely used programs, we invited 12 professional software engineers, who together spent one month on localizing, explaining, and fixing these bugs. This did not only allow us to study the various tools and strategies used to debug the same set of errors. We could also determine...
Although static analysis tools detect potential code defects early in the development process, they do not fully support developers in resolving those defects. To accurately and efficiently resolve defects, developers must orchestrate several complex tasks, such as determining whether the defect is a false positive and updating the source code without introducing new defects. Without good defect resolution...
This technical briefing presents the state of the art Text Retrieval and Natural Language Processing techniques used in Software Engineering and discusses their applications in the field.
Fault localization is known to be tedious and expensive. To help practitioners reduce the needed effort, researchers have proposed many automated fault localization techniques over recent years. Spectrum-based fault localization techniques utilize the coverage data of test cases to localize faults. Although evaluations of these techniques show promising results, they are not being applied in practice...
Developing for a global market requires the internationalization of software products and their localization to different countries, regions, and cultures. Localization testing verifies that the localized software variants work, look and feel as expected. Localization testing is a perfect candidate for automation. It has a high potential to reduce the manual effort in testing of multiple language...
Software companies are dealing with large number of software bugs daily. Bug triage fixes bug by properly assigning a developer to a new bug. Software companies spend heavy amount in dealing with these bugs. For reducing time and cost of bugs triaging automated approach is required which assigns new bug to a developer with relevant experience to solve the new coming report. To reduce the scale of...
In software projects, there is a data repository which contains the bug reports. These bugs are required to carefully analyse and resolve the problem. Handling these bugs humanly is extremely time consuming process, and it can result the deleying in addressing some important bugs resolutions. To overcome this problem, researchers have introduced many techniques. One of the commonly used algorithm...
We report on a case study on model based testingfor a commercially available telecom software system. A mainpurpose is to investigate how different strategies for test suitegeneration affect quality attributes of the generated test suites, in a realistic industrial environment. We develop a functionalmodel in the form of an extended finite state machine, from whichwe generate test suites using several...
In-spite of the principle of good programming practice which stipulates that a commit should include only modifications belonging to one task, programmers submit tangled commits consisting of modifications related to two or several distinct tasks. Some researches show that between 11 and 39% of bug fix commits are tangled and at least 16.6% of all the commits are incorrectly associated to bug reports...
This paper presents a web based system for remote monitoring and control of set-top boxes. The goal of the proposed system is to provide flexible control over set-top box from remote location, in order to enable test engineers, test technicians and developers to remotely access set-top box and execute different tests on it. By using the proposed system it is possible to save resources and shorten...
The intention of an Android application, determined by the source code analysis is used to identify potential maliciousness in that application (app). Similarly, it is possible to analyze the unintentional behaviors of an app to identify and reduce the window of vulnerabilities. Unintentional behaviors of an app can be any developmental loopholes such as software bugs overlooked by a developer or...
Fuzzers, or random testing tools, are powerful tools for finding bugs. A major problem with using fuzzersis that they often trigger many bugs that are already known. The fuzzer taming problem addresses this issue by ordering bug-triggering random test cases generated by a fuzzer such that test cases exposing diverse bugs are found early in the ranking. Previous work on fuzzer taming first reduces...
The importance of IT security is out of doubt. Data, computer and network security are essential for any business or organization. Software security often remains out of focus, from an organization's, a developer's and from an end-user's point of view. We will consider security terminology, security bugs, security flaws, and mitigation issues.
Discovering categorical (taxonomic) terms in text classification is an important and complex problem. Development of a good text classifier depends on the method of identification and generation of proper taxonomic terms. Software bug indicates improper behavior of the functionalities given during the requirements. These bugs are tracked with the help of bug tracking systems (BTS) where the bug information...
Regression faults are inevitably introduced in software development. Identifying and fixing regression faults can be tedious and time-consuming. The goal of my doctoral research is to provide an automated practical technique to effectively and efficiently locating failure-inducing changes. In this work, the research problem and related work is discussed first. Then, our approach, research questions,...
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.