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.
Automatically generating unit tests is a powerful approach to exercise complex software. Unfortunately, current techniques often fail to provide relevant input values, such as strings that bypass domain-specific sanity checks. As a result, state-of-the-art techniques are effective for generic classes, such as collections, but less successful for domain-specific software. This paper presents TestMiner,...
Automatic loop-invariant generation is important in program analysis and verification. In this paper, we propose to generate loop-invariants automatically through learning and verification. Given a Hoare triple of a program containing a loop, we start with randomly testing the program, collect program states at run-time and categorize them based on whether they satisfy the invariant to be discovered...
Crowdsourced testing is an emerging trend in software testing, which relies on crowd workers to accomplish test tasks. Due to the cost constraint, a test task usually involves a limited number of crowd workers. Furthermore, more workers does not necessarily result in detecting more bugs. Different workers, who may have different testing experience and expertise, may make much differences in the test...
Test case prioritization (TCP) attempts to order test cases such that those which are more important, according to some criterion or measurement, are executed earlier. TCP has been applied in many testing situations, including, for example, regression testing. An abstract test case (also called a model input) is an important type of test case, and has been widely used in practice, such as in configurable...
A large amount of risk evaluation formulas have been proposed for spectrum-based fault localization (SBFL) in prior studies. A recent study by Xie et al. developed an innovative framework to theoretically analyze the effectiveness of those risk evaluation formulas in SBFL. Xie et al.'s study was based on the assumption that program has only one fault. In other words, they investigated SBFL in the...
Combinatorial interaction testing (CIT) stands as one of the efficient testing techniques that have been used in different applications recently. The technique is useful when there is a need to take the interaction of input parameters into consideration for testing a system. The key insight the technique is that not every single parameter may contribute to the failure of the system and there could...
Abstract test case prioritization (ATCP) aims at ordering abstract test case in order to increase the speed at which faults are detected, potentially increasing the fault detection rate. This paper empirically examines possible ATCP techniques, according to the following four categories: non-information-guided prioritization (NIGP), interaction coverage based prioritization (ICBP), input-model mutation...
Using topic modeling, we analyse the titles and abstracts of nearly 10,000 papers from 20 years published in 11 top-ranked Software Engineering(SE) conferences between 1993 to 2013. Seven topics are identified as the dominant themes in modern software engineering. We show that these topics are not static, rather, some of them are becoming decidedly less prominent over time (modeling) while others...
Discover how the University of Florida's team prepared for the most difficult collegiate-level robotic competition. The Web extra at https://youtu.be/ODmYL8SQcN8 showcases the development of the NaviGator Autonomous Maritime System for participation in the 2016 Maritime RobotX Challenge in Hawaii.
Software security is crucial in every aspect of information technology. As today's software has become larger and more complex than ever before, software fault localization has become more time consuming and labor intensive accordingly. Consequently, a broad spectrum of software fault localization techniques are proposed and implemented. However, most of these techniques assume the existence of a...
Spiral Learning aims to strengthen students’ understanding of the basic concepts by revisiting the concepts periodically with different contexts and with increasing sophistication throughout the curriculum. This approach helps to overcome the limitations of the instructional design and delivery such as concepts taught in isolation and not being emphasized in later stages of learning leading to poor...
Fault Localization Prioritization (FLP) aims to order the execution sequence of test cases so that faulty statements in a faulty program can be localized faster. FLP is an important part of the automation of testing and fault localization in software engineering. The key issue is to identify which test cases can provide most useful information to help locate the faulty statement. Assuming the well-known...
Covering arrays (CAs) are often used as test suites for combinatorial interaction testing to discover interaction faults of real-world systems. Most real-world systems involve constraints, so improving algorithms for covering array generation (CAG) with constraints is beneficial. Two popular methods for constrained CAG are greedy construction and meta-heuristic search. Recently, a meta-heuristic framework...
An application logic flaw is a type of software vulnerability related to privilege manipulation or transaction control manipulation. They are often difficult to identify using automated scanners. A case study on the eCommerce merchant software Bigcommerce, integrated with PayPal Express as a third party payment collector, was created to teach students about this topic. Case studies provide students...
As a promising automatic fault localization technique, Spectrum-Based Fault Localization (SBFL) has been proposed and widely studied for years, in which the effectiveness of risk evaluation formula is one of the most popular research topics. We have developed a framework to support the theoretical analysis of risk evaluation formulas, via subset relations. In this paper, we would like to further justify...
In a student project, we combined table-top gaming skills with requirements gathering and testing. This paper is an experience report on this novel approach to requirements engineering. It describes the project and how project parameters were translated to a table-top role-playing game. The overall process that melded gaming with more standard requirements gathering activities is described, as well...
Regression testing is a process that executes subset of tests that have already been conducted to ensure that changes have not propagated unintended side effects. Test case prioritization aims at reordering the regression test suit based on certain criteria, so that the test cases with higher priority can be executed first rather than those with lower priority. In this paper, a new approach for test...
Test anxiety is known to negatively affect test performance. Having students write about their testing worries before taking a test was recently shown to improve test performance by reducing test anxiety. We conducted a controlled study to replicate this result in the context of students using online Computer Science tutors unsupervised and on their own time. Instead of using open-ended expressive...
This article aims to describe a successful experiment involving Courses Interdisciplinarity, Agile Methods, and Agile Tests in a Problem-based Learning, applied at different courses of the graduate program of Electronics and Computer Engineering at the Brazilian Aeronautics Institute of Technology, to improve the process of teaching/learning and to reduce the resources involved.
Capstone project (CP) is an important part of every engineering and computer science discipline at undergraduate level. The main purpose of these capstone projects is to encourage students to apply the knowledge acquired during their studies in previous semesters, in particular a capacity to personally manage and conduct a complex, open-ended project to show how proficient they are in solving real...
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.