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.
After changes are made to a system, developers typically perform regression testing to uncover the regression faults in previously existing functionality of the system. However, during software evolution, the program entities (i.e., classes/methods) realizing such functionality might be modified/replaced by other entities. Thus, in the new version, existing test cases containing obsolete class references...
Process of detailed testing and verification of all automotive embedded software components generates detailed reports about each segment of tested electronic control units (ECU). The very first group of tests in this process is Acceptance tests, and one of the most important tests in this stage of testing and verification is interface check of the software component. The interface check must ensure...
The number of software-driven features within a modern automotive powertrain rises significantly. With increasing number of features, also the risk of undesired interactions between those features rises drastically. This leads to new challenges with regard to efficiency in testing such automotive features. Automated Feature-Interaction-Testing significantly increases the efficiency of such feature...
Spreadsheets often contain faults that are difficult to localize. Spectrum-based Fault Localization (SFL) assists users in the fault localization process by ranking cells by their suspiciousness to contain a fault. Since the ranking of the basic SFL approach is often imprecise, we propose three techniques to improve it, i.e., dynamic cones, grouping, and tie-breaking. We evaluate these techniques...
Signal software for high-speed railways is safetycritical, controlling communications between trains, tracks, stations, and signals. It is necessary to test railway signal software rigorously. However, ad-hoc approaches still dominate in practice. We proposed a hybrid approach that uses combinatorial testing (CT) and model-based testing (MBT). We applied this systematic approach to testing track circuit...
This experience paper presents how a globally distributed software engineering team was able to deliver usable software at the end of each takt, why this was important, and the benefits derived. We also describe the approach taken, the challenges faced and the steps to overcome them.
Formal approaches to software development have traditionally aimed at guaranteeing software correctness, through the use of notations, analysis mechanisms and other elements founded on solid mathematical grounds. Since the seminal works of Hoare, Floyd and others, formal methods have used logical notations to capture intended software behavior, and proposed techniques for reasoning about software...
Preschoolers as digital native cannot avoid gadgets. Game applications are more accessible to them. People believe that games have a negative impact such as bad character and violence. Nevertheless, the game can be developed into a fun tool. This research aimed to design a game prototype boosting cognitive abilities for preschoolers. Prototyping and testing the game system were the method. A preschoolers'...
Mobile app testing is challenging since each test needs to be executed in a variety of operating contexts including heterogeneous devices, various wireless networks, and different locations. Crowdsourcing enables a mobile app testing to be distributed as a crowdsourced task to leverage the crowd in a community. However, a high test quality and expected test context coverage are difficult to achieve...
As software systems become more complex, the number of test cases required for effective testing becomes intractable. Cache misses have been identified as a major factor that affects software execution time. In our current work we target the instruction locality problem in the context of testing.
Fully assessing the robustness of a software application in-house is infeasible, especially considering the huge variety of hardly predictable stimuli, environments, and configurations that applications must handle in the field. For this reason, modern testing and analysis techniques can often process data extracted from the field, such as crash reports and profile data, or can even be executed directly...
Agile software development principles enable companies to successfully and quickly deliver software by meeting their customers' expectations while focusing on high quality. Many companies working with pure software systems have adopted these principles, but implementing them in companies dealing with non-pure software products is challenging. We identified a set of goals and practices to support large-scale...
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...
As a rapidly growing number of open source projects adopt distributed version control systems, it becomes more crucial and challenging for release managers to oversee the software development, testing, deployment, and support during the software development life cycle. Manual monitoring and control of the lengthy commit history has been extremely tedious and effort consuming. This paper proposes an...
To test a Software Product Line (SPL), the test artifacts and the techniques must be extended to support variability. In general, when new SPL products are developed, more tests are generated to cover new or modified features. A dominant source of extra effort for such tests is the concretization of newly generated tests. Thus, minimizing the amount of new nonconcretized tests required to perform...
A/B testing is the experiment strategy, which is often used on web or mobile application development. In A/B testing, a developer has to implement multiple variations of application, assign each variation to a subset of the entire user population randomly, and analyze log data to decide which variation should be used as a final product. Therefore, it is challenging to keep the application code clean...
We present a framework for comprehensive model-based systematic design and staged verification of Human-in-the-Loop Cyber-Physical Systems (HiLCPS) to handle their inherent complexity. HiLCPS are systems where humans are in the middle of the feedback loop between their cyber and the physical components. HiLCPS designers require modern tools and simpler model-based approaches for design and verification...
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.