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.
Technical Debt (TD) is a metaphor used to explain the negative impacts that sub-optimal design decisions have in the long-term perspective of a software project. Although TD is acknowledged by both researchers and practitioners to have strong negative impact on Software development, its study on Testware has so far been very limited. A gap in knowledge that is important to address due to the growing...
Unit testing has been considered as having a key role in building high quality software, and therefore it has been widely used in practice. However, data on the relationship between unit testing and aspects of software quality remain scarce. A survey study with 235 survey responses from seven organizations was conducted in order to understand the correlation between practitioners' perception of code...
NASA's latest spacecraft Orion is in the development process of taking humans deeper into space. Orion is equipped with three main displays to monitor and control the spacecraft. To ensure the software behind the glass displays operates without faults, rigorous testing is needed. To conduct such testing, the Rapid Prototyping Lab at NASA's Johnson Space Center along with the University of Texas at...
In this article we present the results of a case study that identifies test effectiveness as a major business driver in firmware development and consequently outline five core areas of the firmware testing process as critical issues to be addressed within a use-inspired research effort.
Global software development (GSD) is in a booming stage from the last decade with the advances in information and communication technologies (ICTs). Despite of the benefits gained from GSD, the developer organizations still face a lot of difficulties in integrating the software components, developed by various GSD teams, into a final product. In our previous study we identified a list of nine critical...
The challenges met during the software projects fall into any number of categories. The development and the technical solutions bring about technical challenges, but the situations one is confronted with, may also be sociological, psychological or managerial in nature. Without any knowledge in the field of social sciences, the programmers, testers and managers might interpret the social aspects of...
Metaheuristics that are inspired by natural systems have been widely applied into search-based software engineering. It has been shown that combining knowledge of the application domain with a biological theory for metaheuristics can narrow down the search space and speed up the convergence for metaheuristics based algorithms. This paper introduces Epistatic Test case Segment (ETS) for multiobjective...
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...
One of the most widely studied techniques in software testing researchis mutation testing - a technique for evaluating the quality of testsuites. Despite over four decades of academic advances in thistechnique, mutation testing has not found its way to mainstreamdevelopment. The key issue with mutation testing is its highcomputational cost: it requires running the test suite against notjust the program...
Developers write unit tests together with programcode, and then maintain these tests as the program evolves. Sincewriting good tests can be difficult and tedious, unit tests canalso be generated automatically. However, maintaining these tests(e.g., when APIs change, or, when tests represent outdated andchanged behavior), is still a manual task. Because automaticallygenerated tests may have no clear...
Software startups can be subject to extreme money and time constraints while hoping for delivering reliable software. In a harsh startup environment, software may face quality downgrade either by improper process management or incapable human resources. Among the many, security is a fragile software quality characteristic responsible for severe negative consequences such as jeopardizing a startup's...
Automated vehicles are not supposed to fail at any time or in any situations during driving. Thus, vehicle manufactures and proving ground operators are challenged to complement existing test procedures with means to systematically evaluate automated driving. In this paper, we explore software related challenges from testing the safety of automated vehicles. We report on findings from conducting focus...
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.
The last decade has seen tremendous proliferation of mobile computing in our society. Billions of users have access to millions of mobile apps that can be installed directly on their mobile devices, electrical appliances, and watches. Factors such as new monetization/revenue models, programming models, and distribution infrastructures contribute to an "attractive" movement that captivates...
Researchers often focus on the development process and the final product (source code) to investigate and predict software defects. Unfortunately, these models may not be applicable to software projects in which there is no access to the data sources regarding development process. For example, in cases when a company conducts tests on behalf of its business contractors, it is only possible to evaluate...
Code coverage is a metric used to represent how much code is tested when particular test cases are executed. As is code coverage, specification coverage is expected to help us to comprehend how much specification to be implemented is tested. In this study, we propose a visualization process for specification coverage. This process finds traceability links between specifications and test cases using...
Symbolic execution is a systematic program analysis technique that has received a lot of attention in the research community. However, scaling symbolic execution continues to pose a major challenge. This paper introduces Synergise, a novel two-fold integration approach. One, it integrates distributed analysis and constraint re-use to enhance symbolic execution using feasible ranges, which allow sharing...
Dynamic symbolic execution (DSE) is widely used to generate test cases for automated test. However, the practicability of DSE is greatly decreased by path explosion, which is an unavoidable challenge caused by that the number of execution paths increases exponentially with the increase in the size of program. To alleviate this problem, dynamic symbolic execution based on multiple test points (MPDSE)...
Any kind of smart testing technique must be very efficient to be competitive with random fuzz testing. State-of the-art test generators are largely inferior to random testing in real world applications. This work proposes to gather and evaluate lightweight analyses that can enable the creation of an efficient and sufficiently effective analysis-assisted fuzz tester. The analyses shall leverage information...
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.