Change search
Refine search result
12 51 - 88 of 88
CiteExportLink to result list
Permanent link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
Rows per page
  • 5
  • 10
  • 20
  • 50
  • 100
  • 250
Sort
  • Standard (Relevance)
  • Author A-Ö
  • Author Ö-A
  • Title A-Ö
  • Title Ö-A
  • Publication type A-Ö
  • Publication type Ö-A
  • Issued (Oldest first)
  • Issued (Newest first)
  • Created (Oldest first)
  • Created (Newest first)
  • Last updated (Oldest first)
  • Last updated (Newest first)
  • Disputation date (earliest first)
  • Disputation date (latest first)
  • Standard (Relevance)
  • Author A-Ö
  • Author Ö-A
  • Title A-Ö
  • Title Ö-A
  • Publication type A-Ö
  • Publication type Ö-A
  • Issued (Oldest first)
  • Issued (Newest first)
  • Created (Oldest first)
  • Created (Newest first)
  • Last updated (Oldest first)
  • Last updated (Newest first)
  • Disputation date (earliest first)
  • Disputation date (latest first)
Select
The maximal number of hits you can export is 250. When you want to export more records please use the Create feeds function.
  • 51. Mamun, M. A. A.
    et al.
    Khanam, A.
    Grahn, Håkan
    Feldt, Robert
    Comparing Four Static Analysis Tools for Java Concurrency Bugs2010Conference paper (Refereed)
    Abstract [en]

    Static analysis (SA) tools are being used for early detection of software defects. Concurrency bugs are different from bugs in sequential programs, and they are often harder to detect. This paper presents the evaluation of four static analysis tools and their capabilities to detect Java concurrency bugs and bug patterns. The tools, i.e., Coverity Prevent, Jtest, FindBugs, and Jlint, are evaluated using concurrent benchmark programs and a collection of multithreaded bug patterns. In addition, we have categorized the bug pattern detectors of the tools and also identified 87 unique bug patterns from the tools’ detectors and literature.

  • 52.
    Marculescu, Bogdan
    et al.
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Feldt, Robert
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Finding a Boundary between Valid and Invalid Regions of the Input Space2018In: Proceedings - Asia-Pacific Software Engineering Conference, APSEC, IEEE Computer Society , 2018, p. 169-178, article id 8719523Conference paper (Refereed)
    Abstract [en]

    In the context of robustness testing, the boundary between the valid and invalid regions of the input space can be an interesting source of erroneous inputs. Knowing where a specific software under test (SUT) has a boundary is also essential for validation in relation to requirements. However, finding where a SUT actually implements the boundary is a non-trivial problem that has not gotten much attention. This paper proposes a method of finding the boundary between the valid and invalid regions of the input space, by developing pairs of test sets that describe that boundary in detail. The proposed method consists of two steps. First, test data generators, directed by a search algorithm to maximise distance to known, valid test cases, generate valid test cases that are closer to the boundary. Second, these valid test cases undergo mutations to try to push them over the boundary and into the invalid part of the input space. This results in a pair of test sets, one consisting of test cases on the valid side of the boundary and a matched set on the outer side, with only a small distance between the two sets. The method is evaluated on a number of examples from the standard library of a modern programming language. We propose a method of determining the boundary between valid and invalid regions of the input space, and apply it on a SUT that has a non-contiguous valid region of the input space. From the small distance between the developed pairs of test sets, and the fact that one test set contains valid test cases and the other invalid test cases, we conclude that the pair of test sets described the boundary between the valid and invalid regions of that input space. Differences of behaviour can be observed between different distances and different sets of mutation operators, but all show that the method is able to identify the boundary between the valid and invalid regions of the input space. This is an important step towards more automated robustness testing. © 2018 IEEE.

  • 53.
    Marculescu, Bogdan
    et al.
    Blekinge Institute of Technology, School of Computing.
    Feldt, Robert
    Blekinge Institute of Technology, School of Computing.
    Torkar, Richard
    A concept for an interactive search-based software testing system2012In: Lecture Notes in Computer Science, Springer , 2012, Vol. 7515, p. 273-278Conference paper (Refereed)
    Abstract [en]

    Software is an increasingly important part of various products, although not always the dominant component. For these software-intensive systems it is common that the software is assembled, and sometimes even developed, by domain specialists rather than by software engineers. To leverage the domain specialists' knowledge while maintaining quality we need testing tools that require only limited knowledge of software testing. Since each domain has unique quality criteria and trade-offs and there is a large variation in both software modeling and implementation syntax as well as semantics it is not easy to envisage general software engineering support for testing tasks. Particularly not since such support must allow interaction between the domain specialists and the testing system for iterative development. In this paper we argue that search-based software testing can provide this type of general and interactive testing support and describe a proof of concept system to support this argument. The system separates the software engineering concerns from the domain concerns and allows domain specialists to interact with the system in order to select the quality criteria being used to determine the fitness of potential solutions.

  • 54.
    Marculescu, Bogdan
    et al.
    Blekinge Institute of Technology, School of Computing.
    Feldt, Robert
    Blekinge Institute of Technology, School of Computing.
    Torkar, Richard
    Blekinge Institute of Technology, School of Computing.
    Objective Re-Weighting to Guide an Interactive Search Based Software Testing System2013Conference paper (Refereed)
    Abstract [en]

    Even hardware-focused industries today develop products where software is both a large and important component. Engineers tasked with developing and integrating these products do not always have a software engineering background. To ensure quality, tools are needed that automate and support software testing while allowing these domain specialists to leverage their knowledge and experience. Search-based testing could be a key aspect in creating an automated tool for supporting testing activities. However, domain specific quality criteria and trade-offs make it difficult to develop a general fitness function a priori, so interaction between domain specialists and such a tool would be critical to its success. In this paper we present a system for interactive search-based software testing and investigate a way for domain specialists to guide the search by dynamically re-weighting quality goals. Our empirical investigation shows that objective reweighting can help a human domain specialist interactively guide the search, without requiring specialized knowledge of the system and without sacrificing population diversity.

  • 55.
    Marculescu, Bogdan
    et al.
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Feldt, Robert
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Torkar, Richard
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Practitioner-Oriented Visualization in an Interactive Search-Based Software Test Creation Tool2013Conference paper (Refereed)
    Abstract [en]

    Search-based software testing uses meta-heuristic search techniques to automate or partially automate testing tasks, such as test case generation or test data generation. It uses a fitness function to encode the quality characteristics that are relevant, for a given problem, and guides the search to acceptable solutions in a potentially vast search space. From an industrial perspective, this opens up the possibility of generating and evaluating lots of test cases without raising costs to unacceptable levels. First, however, the applicability of search-based software engineering in an industrial setting must be evaluated. In practice, it is difficult to develop a priori a fitness function that covers all practical aspects of a problem. Interaction with human experts offers access to experience that is otherwise unavailable and allows the creation of a more informed and accurate fitness function. Moreover, our industrial partner has already expressed a view that the knowledge and experience of domain specialists are more important to the overall quality of the systems they develop than software engineering expertise. In this paper we describe our application of Interactive Search Based Software Testing (ISBST) in an industrial setting. We used SBST to search for test cases for an industrial software module and based, in part, on interaction with a human domain specialist. Our evaluation showed that such an approach is feasible, though it also identified potential difficulties relating to the interaction between the domain specialist and the system.

  • 56.
    Marculescu, Bogdan
    et al.
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Feldt, Robert
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Torkar, Richard
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Poulding, Simon
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    An initial industrial evaluation of interactive search-based testing for embedded software2015In: Applied Soft Computing, ISSN 1568-4946, E-ISSN 1872-9681, Vol. 29, p. 26-39Article in journal (Refereed)
    Abstract [en]

    Search-based software testing promises the ability to generate and evaluate large numbers of test cases at minimal cost. From an industrial perspective, this could enable an increase in product quality without a matching increase in the time and effort required to do so. Search-based software testing, however, is a set of quite complex techniques and approaches that do not immediately translate into a process for use with most companies. For example, even if engineers receive the proper education and training in these new approaches, it can be hard to develop a general fitness function that covers all contingencies. Furthermore, in industrial practice, the knowledge and experience of domain specialists are often key for effective testing and thus for the overall quality of the final software system. But it is not clear how such domain expertise can be utilized in a search-based system. This paper presents an interactive search-based software testing (ISBST) system designed to operate in an industrial setting and with the explicit aim of requiring only limited expertise in software testing. It uses SBST to search for test cases for an industrial software module, while also allowing domain specialists to use their experience and intuition to interactively guide the search. In addition to presenting the system, this paper reports on an evaluation of the system in a company developing a framework for embedded software controllers. A sequence of workshops provided regular feedback and validation for the design and improvement of the ISBST system. Once developed, the ISBST system was evaluated by four electrical and system engineers from the company (the ’domain specialists’ in this context) used the system to develop test cases for a commonly used controller module. As well as evaluating the utility of the ISBST system, the study generated interaction data that were used in subsequent laboratory experimentation to validate the underlying search-based algorithm in the presence of realistic, but repeatable, interactions. The results validate the importance that automated software testing tools in general, and search-based tools, in particular, can leverage input from domain specialists while generating tests. Furthermore, the evaluation highlighted benefits of using such an approach to explore areas that the current testing practices do not cover or cover insufficiently. © 2014 Elsevier B.V. All rights reserved.

  • 57.
    Marculescu, Bogdan
    et al.
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Feldt, Robert
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Torkar, Richard
    Chalmers, SWE.
    Poulding, Simon
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Transferring Interactive Search-Based Software Testing to Industry2018In: Journal of Systems and Software, ISSN 0164-1212, E-ISSN 1873-1228, Vol. 142, p. 156-170Article in journal (Refereed)
    Abstract [en]

    Context: Search-Based Software Testing (SBST), and the wider area of Search-Based Software Engineering (SBSE), is the application of optimization algorithms to problems in software testing, and software engineering, respectively. New algorithms, methods, and tools are being developed and validated on benchmark problems. In previous work, we have also implemented and evaluated Interactive Search-Based Software Testing (ISBST) tool prototypes, with a goal to successfully transfer the technique to industry. Objective: While SBST and SBSE solutions are often validated on benchmark problems, there is a need to validate them in an operational setting, and to assess their performance in practice. The present paper discusses the development and deployment of SBST tools for use in industry, and reflects on the transfer of these techniques to industry. Method: In addition to previous work discussing the development and validation of an ISBST prototype, a new version of the prototype ISBST system was evaluated in the laboratory and in industry. This evaluation is based on an industrial System under Test (SUT) and was carried out with industrial practitioners. The Technology Transfer Model is used as a framework to describe the progression of the development and evaluation of the ISBST system, as it progresses through the first five of its seven steps. Results: The paper presents a synthesis of previous work developing and evaluating the ISBST prototype, as well as presenting an evaluation, in both academia and industry, of that prototype's latest version. In addition to the evaluation, the paper also discusses the lessons learned from this transfer. Conclusions: This paper presents an overview of the development and deployment of the ISBST system in an industrial setting, using the framework of the Technology Transfer Model. We conclude that the ISBST system is capable of evolving useful test cases for that setting, though improvements in the means the system uses to communicate that information to the user are still required. In addition, a set of lessons learned from the project are listed and discussed. Our objective is to help other researchers that wish to validate search-based systems in industry, and provide more information about the benefits and drawbacks of these systems.

  • 58.
    Marculescu, Bogdan
    et al.
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Feldt, Robert
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Torkar, Rickard
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Using Exploration Focused Techniques to Augment Search-Based Software Testing: An Experimental Evaluation2016In: Proceedings - 2016 IEEE International Conference on Software Testing, Verification and Validation, ICST 2016, IEEE Computer Society, 2016, p. 69-79, article id 7515460Conference paper (Refereed)
    Abstract [en]

    Search-based software testing (SBST) often uses objective-based approaches to solve testing problems. There are, however, situations where the validity and completeness of objectives cannot be ascertained, or where there is insufficient information to define objectives at all. Incomplete or incorrect objectives may steer the search away from interesting behavior of the software under test (SUT) and from potentially useful test cases. This papers investigates the degree to which exploration-based algorithms can be used to complement an objective-based tool we have previously developed and evaluated in industry. In particular, we would like to assess how exploration-based algorithms perform in situations where little information on the behavior space is available a priori. We have conducted an experiment comparing the performance of an exploration-based algorithm with an objective-based one on a problem with a high-dimensional behavior space. In addition, we evaluate to what extent that performance degrades in situations where computational resources are limited. Our experiment shows that exploration-based algorithms are useful in covering a larger area of the behavior space and result in a more diverse solution population. Typically, of the candidate solutions that exploration-based algorithms propose, more than 80% were not covered by their objective-based counterpart. This increased diversity is present in the resulting population even when computational resources are limited. We conclude that exploration-focused algorithms are a useful means of investigating high-dimensional spaces, even in situations where limited information and limited resources are available.

  • 59.
    Marculescu, Bogdan
    et al.
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Poulding, Simon
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Feldt, Robert
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Petersen, Kai
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Torkar, Richard
    Chalmers, Gothenburg, Sweden.;Univ Gothenburg, Gothenburg, Sweden..
    Tester interactivity makes a difference in search-based software testing: A controlled experiment2016In: Information and Software Technology, ISSN 0950-5849, E-ISSN 1873-6025, Vol. 78, p. 66-82Article in journal (Refereed)
    Abstract [en]

    Context: Search-based software testing promises to provide users with the ability to generate high quality test cases, and hence increase product quality, with a minimal increase in the time and effort required. The development of the Interactive Search-Based Software Testing (ISBST) system was motivated by a previous study to investigate the application of search-based software testing (SBST) in an industrial setting. ISBST allows users to interact with the underlying SBST system, guiding the search and assessing the results. An industrial evaluation indicated that the ISBST system could find test cases that are not created by testers employing manual techniques. The validity of the evaluation was threatened, however, by the low number of participants. Objective: This paper presents a follow-up study, to provide a more rigorous evaluation of the ISBST system. Method: To assess the ISBST system a two-way crossover controlled experiment was conducted with 58 students taking a Verification and Validation course. The NASA Task Load Index (NASA-TLX) is used to assess the workload experienced by the participants in the experiment. Results:The experimental results validated the hypothesis that the ISBST system generates test cases that are not found by the same participants employing manual testing techniques. A follow-up laboratory experiment also investigates the importance of interaction in obtaining the results. In addition to this main result, the subjective workload was assessed for each participant by means of the NASA-TLX tool. The evaluation showed that, while the ISBST system required more effort from the participants, they achieved the same performance. Conclusions: The paper provides evidence that the ISBST system develops test cases that are not found by manual techniques, and that interaction plays an important role in achieving that result. (C) 2016 Elsevier B.V. All rights reserved.

  • 60. Muhammad, Naeem
    et al.
    Vandewoude, Yves
    Berbers, Yolande
    Feldt, Robert
    Suitability of Requirements Abstraction Model (RAM) Requirements for High-Level System Testing2008Conference paper (Refereed)
  • 61. Mujtaba, Shahid
    et al.
    Feldt, Robert
    Petersen, Kai
    Analyzing strategy and processes for product customization in large-scale industrial settings2011Conference paper (Refereed)
    Abstract [en]

    In practice companies face situations where many customization requests could not be foreseen. Thus, companies need to be able to rapidly develop customizations even after release. The objective of this study is to understand how industry handles the customization challenge with a focus on the strategy and processes used. Two cases have been studied (one telecom company located in Germany and one located in Sweden). For data collection purposes interviews(a total of 25) and process documentations were used. The result showed that the two companies have different product development strategies (compositional vs integration) and also follow different development processes for customizations, these being further elaborated in this paper.

  • 62. Mujtaba, Shahid
    et al.
    Feldt, Robert
    Petersen, Kai
    Waste and Lead Time Reduction in a Software Product Customization Process with Value Stream Maps2010Conference paper (Refereed)
    Abstract [en]

    Custom-developed adaptations of software products are increasingly important to meet different and changing customer needs and heterogeneous system environments. Efficient software customization processes with short lead times are thus a priority for companies to stay competitive. The purpose of this case study is to identify waste-related problems in a software product customization process by using value stream maps (VSM). The study was conducted at the telecom company Ericsson AB; the empirical data was collected using document analysis, extraction of phase times from a requirements tracking tool and interviews. It was used to construct a value stream map that showed the present state of the process. The map was then used in interviews with key stakeholders where they identified waste and proposed measures to avoid them. These solution proposals were subsequently used to construct a future value stream map showing a reduced lead time. Static validation showed that the VSM methodology was useful and that the identified solutions were of value. Our results have applicability for software engineering process improvement in general and for customization processes in particular.

  • 63.
    Pernstål, Joakim
    et al.
    Volvo Car Corp, SE-40531 Gothenburg, Sweden..
    Gorschek, Tony
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Feldt, Robert
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Florén, Dan
    Volvo Car Corp, SE-40531 Gothenburg, Sweden..
    Requirements communication and balancing in large-scale software-intensive product development2015In: Information and Software Technology, ISSN 0950-5849, E-ISSN 1873-6025, Vol. 67, p. 44-64Article in journal (Refereed)
    Abstract [en]

    Context: Several industries developing products on a large-scale are facing major challenges as their products are becoming more and more software-intensive. Whereas software was once considered a detail to be bundled, it has since become an intricate and interdependent part of most products. The advancement of software increases the uncertainty and the interdependencies between development tasks and artifacts. A key success factor is good requirements engineering (RE), and in particular, the challenges of effectively and efficiently coordinating and communicating requirements. Objective: In this work we present a lightweight RE framework and demonstrate and evaluate its industrial applicability in response to the needs of a Swedish automotive company for improving specific problems in inter-departmental requirements coordination and communication in large-scale development of software-intensive systems. Method: A case study approach and a dynamic validation were used to develop and evaluate the framework in close collaboration with our industrial partner, involving three real-life cases in an ongoing car project. Experience and feedback were collected through observations when applying the framework and from 10 senior industry professionals in a questionnaire and in-depth follow-up interviews. Results: The experience and feedback about using the framework revealed that it is relevant and applicable for the industry as well as a useful and efficient way to resolve real problems in coordinating and communicating requirements identified at the case company. However, other concerns, such as accessibility to necessary resources and competences in the early development phases, were identified when using the method, which allowed for earlier pre-emptive action to be taken. Conclusion: Overall, the experience from using the framework and the positive feedback from industry professionals indicated a feasible framework that is applicable in the industry for improving problems related to coordination and communication of requirements. Based on the promising results, our industrial partner has decided upon further validations of the framework in a large-scale pilot program. (C) 2015 Elsevier B.V. All rights reserved.

  • 64. Pernstål, Joakim
    et al.
    Gorschek, Tony
    Blekinge Institute of Technology, School of Computing.
    Feldt, Robert
    Blekinge Institute of Technology, School of Computing.
    Florén, Dan
    Software Process Improvement in Inter-departmental Development of Software-Intensive Automotive Systems – A Case Study2013Conference paper (Refereed)
    Abstract [en]

    This paper presents a software process improvement (SPI) initiative conducted at two automotive companies, focusing on the inter-departmental interplay between manufacturing and product development, which are central players in automotive development. In such a complex environment with multiple departments with varying challenges⎯the planning of improvement possibilities was considered as mission critical to get support for changes in the companies. This paper reports the results of the SPI efforts following the process assessment, namely specifically the improvement planning step, which is often overlooked in empirical reports. We also thoroughly describe and report on lessons learned from employing our tailored planning method involving 41 professionals. We found that requirements engineering, early manufacturing involvement and roles and responsibilities were prioritized as main challenges to address. Furthermore, our and the involved professionals' experiences of the used SPI (planning) method, showed that it was useful, giving valuable decision support for the planning of the improvement.

  • 65. Petersen, Kai
    et al.
    Feldt, Robert
    Mujtaba, Shahid
    Mattsson, Michael
    Systematic Mapping Studies in Software engineering2008Conference paper (Refereed)
  • 66.
    Poulding, Simon
    et al.
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Feldt, Robert
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Automated Random Testing in Multiple Dispatch Languages2017In: Proceedings - 10th IEEE International Conference on Software Testing, Verification and Validation, ICST 2017, IEEE Computer Society, 2017, p. 333-344Conference paper (Refereed)
    Abstract [en]

    In programming languages that use multiple dispatch, a single function can have multiple implementations, each of which may specialise the function's operation. Which one of these implementations to execute is determined by the data types of all the arguments to the function. Effective testing of functions that use multiple dispatch therefore requires diverse test inputs in terms of the data types of the input's arguments as well as their values. In this paper we describe an approach for generating test inputs where both the values and types are chosen probabilistically. The approach uses reflection to automatically determine how to create inputs with the desired types, and dynamically updates the probability distribution from which types are sampled in order to improve both the test efficiency and efficacy. We evaluate the technique on 247 methods across 9 built-in functions of Julia, a technical computing language that applies multiple dispatch at runtime. In the process, we identify three real faults in these widely-used functions. © 2017 IEEE.

  • 67.
    Poulding, Simon
    et al.
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Feldt, Robert
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Generating Structured Test Data with Specific Properties using Nested Monte-Carlo Search2014In: GECCO'14: PROCEEDINGS OF THE 2014 GENETIC AND EVOLUTIONARY COMPUTATION CONFERENCE, Association for Computing Machinery (ACM), 2014, p. 1279-1286Conference paper (Refereed)
    Abstract [en]

    Software acting on complex data structures can be challenging to test: it is difficult to generate diverse test data that satisfies structural constraints while simultaneously exhibiting properties, such as a particular size, that the test engineer believes will be effective in detecting faults. In our previous work we introduced GödelTest, a framework for generating such data structures using non-deterministic programs, and combined it with Differential Evolution to optimize the generation process. Monte-Carlo Tree Search (MCTS) is a search technique that has shown great success in playing games that can be represented as sequence of decisions. In this paper we apply Nested Monte-Carlo Search, a single-player variant of MCTS, to the sequence of decisions made by the generating programs used by GödelTest, and show that this combination can efficiently generate random data structures which exhibit the specific properties that the test engineer requires. We compare the results to Boltzmann sampling, an analytical approach to generating random combinatorial data structures.

  • 68.
    Poulding, Simon
    et al.
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Feldt, Robert
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Heuristic Model Checking Using a Monte-Carlo Tree Search Algorithm2015In: Proceedings of the 2015 Annual Conference on Genetic and Evolutionary Computation, ACM Digital Library, 2015, p. 1359-1366Conference paper (Refereed)
  • 69.
    Poulding, Simon
    et al.
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Feldt, Robert
    Re-using generators of complex test data2015In: 2015 IEEE 8th International Conference on Software Testing, Verification and Validation (ICST), IEEE Computer Society, 2015, p. Article number 7102605-Conference paper (Refereed)
    Abstract [en]

    The efficiency of random testing can be improved by sampling test inputs using a generating program that incorporates knowledge about the types of input most likely to detect faults in the software-under-test (SUT). But when the input of the SUT is a complex data type - such as a domain-specific string, array, record, tree, or graph - creating such a generator may be time- consuming and may require the tester to have substantial prior experience of the domain. In this paper we propose the re-use of generators created for one SUT on other SUTs that take the same complex data type as input. The re-use of a generator in this way would have little overhead, and we hypothesise that the re-used generator will typically be as least as efficient as the most straightforward form of random testing: sampling test inputs from the uniform distribution. We investigate this proposal for two data types using five generators. We assess test efficiency against seven real-world SUTs, and in terms of both structural coverage and the detection of seeded faults. The results support the re-use of generators for complex data types, and suggest that if a library of generators is to be maintained for this purpose, it is possible to extend library generators to accommodate the specific testing requirements of newly-encountered SUTs. © 2015 IEEE.

  • 70.
    Poulding, Simon
    et al.
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Petersen, Kai
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Feldt, Robert
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Garousi, Vahid
    Using Citation Behavior to Rethink Academic Impact in Software Engineering2015In: ACM-IEEE International Symposium on Empirical Software Engineering and Measurement, 2015, p. 140-43Conference paper (Refereed)
    Abstract [en]

    Although citation counts are often considered a measure of academic impact, they are criticized for failing to evaluate impact as intended. In this paper we propose that software engineering citations may be classified according to how the citation is used by the author of the citing paper, and that through this classification of citation behaviour it is possible to achieve a more refined understanding of the cited paper’s impact. Our objective in this work is to conduct an initial evaluation using the citation behaviour taxonomy proposed by Bornmann and Daniel. We independently classified citations to ten highly-cited papers published at the International Symposium on Empirical Software Engineering and Measurement (ESEM). The degree to which classifications were consistent between researchers was analyzed in order to assess the clarity of Bornmann and Daniel’s taxonomy. We found poor to fair agreement between researchers even though the taxonomy was perceived as relatively easy to apply for the majority of citations. We were nevertheless able to identify clear differences in the profile of citation behaviors between the cited papers. We conclude that an improved taxonomy is required if classification is to be reliable, and that a degree of automation would improve reliability as well as reduce the time taken to make a classification.

  • 71. Rose, Louise
    et al.
    Poulding, Simon
    Blekinge Institute of Technology, School of Computing.
    Feldt, Robert
    Blekinge Institute of Technology, School of Computing.
    Paige, Richard
    Towards a scalable cloud platform for search-based probabilistic testing2013Conference paper (Refereed)
    Abstract [en]

    Probabilistic testing techniques that sample input data at random from a probability distribution can be more effective at detecting faults than deterministic techniques. However, if overly large (and therefore expensive) test sets are to be avoided, the probability distribution from which the input data is sampled must be optimised to the particular software-under-test. Such an optimisation process is often resource-intensive. In this paper, we present a prototypical cloud platform-and architecture-that permits the optimisation of such probability distributions in a scalable, distributed and robust manner, and thereby enables cost-effective probabilistic testing.

  • 72. Sabaliauskaite, Giedre
    et al.
    Loconsole, AnnaBella
    Engström, Emelie
    Regnell, Björn
    Runeson, Per
    Gorschek, Tony
    Feldt, Robert
    A large-scale empirical study of practitioners' use of object-oriented concepts2010Conference paper (Refereed)
  • 73. Sabaliauskaite, Giedre
    et al.
    Loconsole, Annabella
    Engström, Emelie
    Unterkalmsteiner, Michael
    Regnell, Björn
    Runeson, Per
    Gorschek, Tony
    Feldt, Robert
    Challenges in Aligning Requirements Engineering and Verification in a Large-Scale Industrial Context2010Conference paper (Refereed)
    Abstract [en]

    [Context and motivation] When developing software, coordination between different organizational units is essential in order to develop a good quality product, on time and within budget. Particularly, the synchronization between requirements and verification processes is crucial in order to assure that the developed software product satisfies customer requirements. [Question/problem] Our research question is: what are the current challenges in aligning the requirements and verification processes? [Principal ideas/results] We conducted an interview study at a large software development company. This paper presents preliminary findings of these interviews that identify key challenges in aligning requirements and verification processes. [Contribution] The result of this study includes a range of challenges faced by the studied organization grouped into the categories: organization and processes, people, tools, requirements process, testing process, change management, traceability, and measurement. The findings of this study can be used by practitioners as a basis for investigating alignment in their organizations, and by scientists in developing approaches for more efficient and effective management of the alignment between requirements and verification.

  • 74. Svahnberg, Mikael
    et al.
    Gorschek, Tony
    Feldt, Robert
    Torkar, Richard
    Saleem, S.B
    Shafique, M.U.
    A systematic review on strategic release planning models2010In: Information and Software Technology, ISSN 0950-5849, E-ISSN 1873-6025, Vol. 52, no 3, p. 237-248Article, review/survey (Refereed)
    Abstract [en]

    Strategic release planning (sometimes referred to as road-mapping) is an important phase of the requirements engineering process performed at product level. It is concerned with selection and assignment of requirements in sequences of releases such that important technical and resource constraints are fulfilled. Objectives: In this study we investigate which strategic release planning models have been proposed, their degree of empirical validation, their factors for requirements selection, and whether they are intended for a bespoke or market-driven requirements engineering context. Methods: In this systematic review a number of article sources are used, including Compendex, Inspec, IEEE Xplore, ACM Digital Library, and Springer Link. Studies are selected after reading titles and abstracts to decide whether the articles are peer reviewed, and relevant to the subject. Results: Twenty four strategic release planning models are found and mapped in relation to each other, and a taxonomy of requirements selection factors is constructed. Conclusions: We conclude that many models are related to each other and use similar techniques to address the release planning problem. We also conclude that several requirement selection factors are covered in the different models, but that many methods fail to address factors such as stakeholder value or internal value. Moreover, we conclude that there is a need for further empirical validation of the models in full scale industry trials. © 2009 Elsevier B.V. All rights reserved.

  • 75. Svensson, Richard Berntsson
    et al.
    Gorschek, Tony
    Blekinge Institute of Technology, School of Computing.
    Regnell, Björn
    Torkar, Richard
    Blekinge Institute of Technology, School of Computing.
    Shahrokni, Ali
    Feldt, Robert
    Quality Requirements in Industrial Practice – An Extended Interview Study at Eleven Companies2012In: IEEE Transactions on Software Engineering, ISSN 0098-5589, E-ISSN 1939-3520, Vol. 38, no 4, p. 923-935Article in journal (Refereed)
    Abstract [en]

    In order to create a successful software product and assure its quality, it is not enough to fulfill the functional requirements, it is also crucial to find the right balance among competing quality requirements (QR). An extended, previosluy piloted, interview study was performed to identify specific challenges associated with the selection, trade-off, and management of QR in industrial practice. Data was collected through semi-structured interviews with eleven product managers and eleven project leaders from eleven software companies. The contribution of this study is fourfold: First, it compares how QR are handled in two cases, companies working in business-to-business markets, and companies that are working in business-to-consumer markets. These two are also compared in terms of impact on the handling of QRs. Second, it compares the perceptions and priorities of QR by product and project management respectively. Third, it includes an examination of the interdependencies among quality requirements perceived as most important by the practitioners. Fourth, it characterizes the selection and management of QR in down-stream development activities.

  • 76. Svensson, Richard Berntsson
    et al.
    Gorschek, Tony
    Regnell, Björn
    Torkar, Richard
    Shahrokni, Ali
    Feldt, Robert
    Aurum, Aybüke
    Prioritization of quality requirements: State of practice in eleven companies2011Conference paper (Refereed)
    Abstract [en]

    Requirements prioritization is recognized as an important but challenging activity in software product development. For a product to be successful, it is crucial to find the right balance among competing quality requirements. Although literature offers many methods for requirements prioritization, the research on prioritization of quality requirements is limited. This study identifies how quality requirements are prioritized in practice at 11 successful companies developing software intensive systems. We found that ad-hoc prioritization and priority grouping of requirements are the dominant methods for prioritizing quality requirements. The results also show that it is common to use customer input as criteria for prioritization but absence of any criteria was also common. The results suggests that quality requirements by default have a lower priority than functional requirements, and that they only get attention in the prioritizing process if decision-makers are dedicated to invest specific time and resources on QR prioritization. The results of this study may help future research on quality requirements to focus investigations on industry-relevant issues.

  • 77. Torkar, Richard
    et al.
    Feldt, Robert
    Gorschek, Tony
    Extracting Generally Applicable Patterns from Object-Oriented Programs for the Purpose of Software Test Creation2008Conference paper (Refereed)
  • 78. Torkar, Richard
    et al.
    Feldt, Robert
    Gorschek, Tony
    Extracting generally applicable patterns from object-oriented programs for the purpose of test case creation2008Conference paper (Refereed)
    Abstract [en]

    This paper presents an experiment performed on three large open source applications. The applications were instrumented automatically with a total of 10,494 instrumentation points. The purpose of the instrumentation was to collect and store data during the execution of each application that later could be analyzed off-line. Data analysis, on the collected data, allowed for the creation of test cases (test data, test fixtures and test evaluators) in addition to finding object message patterns for object-oriented software.

  • 79. Torkar, Richard
    et al.
    Gorschek, Tony
    Feldt, Robert
    Eighth Conference on Software Engineering Research and Practice in Sweden (SERPS'08)2009In: Software Engineering Notes: an Informal Newsletter of The Specia, ISSN 0163-5948, E-ISSN 1943-5843, Vol. 34, no 2, p. 31-33Article in journal (Refereed)
    Abstract [en]

    The eight conference on software engineering research and practice in Sweden (SERPS'08) was held in Karlskrona, Sweden, on the 4th-5th of Nov. 2008. The aim with SERPS'08 is to bring researchers and industry practitioners together to discuss software engineering issues, problems, solutions and experiences, not necessarily from a Swedish perspective. During the conference a number of research and industry papers were presented and questions in connection to the presentations were discussed. This paper is a report on the discussions that took place, pointing towards needs and challenges as well as areas of interest in both academia and industry.

  • 80.
    Torkar, Richard
    et al.
    Blekinge Institute of Technology, School of Computing.
    Gorschek, Tony
    Blekinge Institute of Technology, School of Computing.
    Feldt, Robert
    Blekinge Institute of Technology, School of Computing.
    Svahnberg, Mikael
    Blekinge Institute of Technology, School of Computing.
    Uzair Akbar, Raja
    Blekinge Institute of Technology, School of Computing.
    Kamran, Kashif
    Requirements Traceability: A Systematic Review and Industry Case Study2012In: International Journal of Software Engineering and Knowledge Engineering, ISSN 0218-1940, Vol. 22, no 3, p. 385-433Article, review/survey (Refereed)
    Abstract [en]

    Requirements traceability enables software engineers to trace a requirement from its emergence to its fulfillment. In this paper we examine requirements traceability definitions, challenges, tools and techniques, by the use of a systematic review performing an exhaustive search through the years 1997-2007. We present a number of common definitions, challenges, available tools and techniques (presenting empirical evidence when found), while complementing the results and analysis with a static validation in industry through a series of interviews.

  • 81.
    Unterkalmsteiner, Michael
    et al.
    Blekinge Institute of Technology, School of Computing.
    Feldt, Robert
    Blekinge Institute of Technology, School of Computing.
    Gorschek, Tony
    Blekinge Institute of Technology, School of Computing.
    A Taxonomy for Requirements Engineering and Software Test Alignment2014In: ACM Transactions on Software Engineering and Methodology, ISSN 1049-331X, E-ISSN 1557-7392, Vol. 23, no 2Article in journal (Refereed)
    Abstract [en]

    Requirements Engineering and Software Testing are mature areas and have seen a lot of research. Nevertheless, their interactions have been sparsely explored beyond the concept of traceability. To fill this gap we propose a definition of requirements engineering and software test (REST) alignment, a taxonomy that characterizes the methods linking the respective areas, and a process to assess alignment. The taxonomy can support researchers to identify new opportunities for investigation, as well as practitioners to compare alignment methods and evaluate alignment, or lack thereof. We constructed the REST taxonomy by analyzing alignment methods published in literature, iteratively validating the emerging dimensions. The resulting concept of an information dyad characterizes the exchange of information required for any alignment to take place. We demonstrate use of the taxonomy by applying it on five in-depth cases and illustrate angles of analysis on a set of thirteen alignment methods. In addition we developed an assessment framework (REST-bench), applied it in an industrial assessment, and showed that it, with a low effort, can identify opportunities to improve REST alignment. Although we expect that the taxonomy can be further refined, we believe that the information dyad is a valid and useful construct to understand alignment.

  • 82.
    Unterkalmsteiner, Michael
    et al.
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Feldt, Robert
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Gorschek, Tony
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Lavesson, Niklas
    Blekinge Institute of Technology, Faculty of Computing, Department of Computer Science and Engineering.
    Large-scale Information Retrieval in Software Engineering - An Experience Report from Industrial Application2016In: Journal of Empirical Software Engineering, ISSN 1382-3256, E-ISSN 1573-7616, Vol. 21, no 6, p. 2324-2365Article in journal (Refereed)
    Abstract [en]

    Background: Software Engineering activities are information intensive. Research proposes Information Retrieval (IR) techniques to support engineers in their daily tasks, such as establishing and maintaining traceability links, fault identification, and software maintenance. Objective: We describe an engineering task, test case selection, and illustrate our problem analysis and solution discovery process. The objective of the study is to gain an understanding of to what extent IR techniques (one potential solution) can be applied to test case selection and provide decision support in a large-scale, industrial setting. Method: We analyze, in the context of the studied company, how test case selection is performed and design a series of experiments evaluating the performance of different IR techniques. Each experiment provides lessons learned from implementation, execution, and results, feeding to its successor. Results: The three experiments led to the following observations: 1) there is a lack of research on scalable parameter optimization of IR techniques for software engineering problems; 2) scaling IR techniques to industry data is challenging, in particular for latent semantic analysis; 3) the IR context poses constraints on the empirical evaluation of IR techniques, requiring more research on developing valid statistical approaches. Conclusions: We believe that our experiences in conducting a series of IR experiments with industry grade data are valuable for peer researchers so that they can avoid the pitfalls that we have encountered. Furthermore, we identified challenges that need to be addressed in order to bridge the gap between laboratory IR experiments and real applications of IR in the industry.

  • 83.
    Unterkalmsteiner, Michael
    et al.
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Gorschek, Tony
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Feldt, Robert
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Klotins, Eriks
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Assessing Requirements Engineering and Software Test Alignment - Five Case Studies2015In: Journal of Systems and Software, ISSN 0164-1212, E-ISSN 1873-1228, Vol. 109, no C, p. 62-77Article in journal (Refereed)
    Abstract [en]

    The development of large, software-intensive systems is a complex undertaking that we generally tackle by a divide and conquerstrategy. Companies thereby face the challenge of coordinating individual aspects of software development, in particular betweenrequirements engineering (RE) and software testing (ST). A lack of REST alignment can not only lead to wasted effort but alsoto defective software. However, before a company can improve the mechanisms of coordination they need to be understood first.With REST-bench we aim at providing an assessment tool that illustrates the coordination in software development projects andidentify concrete improvement opportunities. We have developed REST-bench on the sound fundamentals of a taxonomy onREST alignment methods and validated the method in five case studies. Following the principles of technical action research, wecollaborated with five companies, applying REST-bench and iteratively improving the method based on the lessons we learned.We applied REST-bench both in Agile and plan-driven environments, in projects lasting from weeks to years, and staffed as largeas 1000 employees. The improvement opportunities we identified and the feedback we received indicate that the assessmentwas effective and efficient. Furthermore, participants confirmed that their understanding on the coordination between RE and STimproved.

  • 84.
    Unterkalmsteiner, Michael
    et al.
    Blekinge Institute of Technology, School of Computing.
    Gorschek, Tony
    Blekinge Institute of Technology, School of Computing.
    Islam, A.K.M. Moinul
    Cheng, Chow Kian
    Permadi, Rahadian Bayu
    Feldt, Robert
    Blekinge Institute of Technology, School of Computing.
    A conceptual framework for SPI evaluation2014In: Journal of Software: Evolution and Process, ISSN 2047-7473, Vol. 26, no 2, p. 251-279Article in journal (Refereed)
    Abstract [en]

    Software Process Improvement (SPI) encompasses the analysis and modification of the processes within software development, aimed at improving key areas that contribute to the organizations’ goals. The task of evaluating whether the selected improvement path meets these goals is challenging. On the basis of the results of a systematic literature review on SPI measurement and evaluation practices, we developed a framework (SPI Measurement and Evaluation Framework (SPI-MEF)) that supports the planning and implementation of SPI evaluations. SPI-MEF guides the practitioner in scoping the evaluation, determining measures, and performing the assessment. SPI-MEF does not assume a specific approach to process improvement and can be integrated in existing measurement programs, refocusing the assessment on evaluating the improvement initiative’s outcome. Sixteen industry and academic experts evaluated the framework’s usability and capability to support practitioners, providing additional insights that were integrated in the application guidelines of the framework.

  • 85.
    Unterkalmsteiner, Michael
    et al.
    Blekinge Institute of Technology, School of Computing.
    Gorschek, Tony
    Blekinge Institute of Technology, School of Computing.
    Islam, A.K.M. Moinul
    Cheng, Chow Kian
    Permadi, Rahadian Bayu
    Feldt, Robert
    Blekinge Institute of Technology, School of Computing.
    Evaluation and Measurement of Software Process Improvement: A Systematic Literature Review2012In: IEEE Transactions on Software Engineering, ISSN 0098-5589, E-ISSN 1939-3520, Vol. 38, no 2, p. 398-424Article in journal (Refereed)
    Abstract [en]

    Software Process Improvement (SPI) is a systematic approach to increase the efficiency and effectiveness of a software development organization and to enhance software products. OBJECTIVE—This paper aims to identify and characterize evaluation strategies and measurements used to assess the impact of different SPI initiatives. METHOD--The systematic literature review includes 148 papers published between 1991 and 2008. The selected papers were classified according to SPI initiative, applied evaluation strategies and measurement perspectives. Potential confounding factors interfering with the evaluation of the improvement effort were assessed. RESULTS--Seven distinct evaluation strategies were identified, whereas the most common one, "Pre-Post Comparison", was applied in 49% of the inspected papers. Quality was the most measured attribute (62%), followed by Cost (41%) and Schedule (18%). Looking at measurement perspectives, "Project" represents the majority with 66%. CONCLUSION—The evaluation validity of SPI initiatives is challenged by the scarce consideration of potential confounding factors, particularly given that "Pre-Post Comparison" was identified as the most common evaluation strategy, and the inaccurate descriptions of the evaluation context. Measurements to assess the short and mid-term impact of SPI initiatives prevail, whereas long-term measurements in terms of customer satisfaction and return on investment tend to be less used.

  • 86. Wikstrand, Greger
    et al.
    Feldt, Robert
    Gorantla, JK
    Zhe, Wang
    White, Conor
    Dynamic Regression Test Selection Based on a File Cache: An Industrial Evaluation2009Conference paper (Refereed)
    Abstract [en]

    This paper presents a simple method that computes test case coverage information from information on what files were updated to fix a fault found by the test case. It uses a cache to monitor fault-prone files and recommends test cases to rerun to cover updated files. We present an evaluation of the method during two months of development of a large, industrial, embedded, real-time software system. Our results show that the method is effective, reaching weekly cache hit rates in the range 50-80%.

  • 87. Šmite, Darja
    et al.
    Wohlin, Claes
    Feldt, Robert
    Gorschek, Tony
    Reporting Empirical Research in Global Software Engineering: A Classification Scheme2008Conference paper (Refereed)
    Abstract [en]

    Increased popularity of global software engineering (GSE) has resulted in quite a number of research and industrial studies. As the area matures, an increased focus on empirically supported results leads to a greater potential impact on future research and industrial practice. However, since GSE scenarios are diverse, what works in one context might not directly apply in another. Thus it is necessary to understand, how GSE-related empirical findings should be reported to be useful for practitioners and researchers. Furthermore, it‘s important to summarize progress and get the big picture of published research to identify gaps and commonalities. In this paper we analyze differentiating factors of GSE scenarios and offer a classification scheme for describing the context of a GSE study. In addition, we report initial results of a systematic review on GSE-related empirical literature using papers from ICGSE 2006 and 2007, at the same time illustrating and evaluating the proposed scheme.

  • 88. Šmite, Darja
    et al.
    Wohlin, Claes
    Gorschek, Tony
    Feldt, Robert
    Empirical evidence in global software engineering: a systematic review2010In: Empirical Software Engineering, ISSN 1382-3256, Vol. 15, no 1, p. 91-118Article in journal (Refereed)
    Abstract [en]

    Recognized as one of the trends of the 21st century, globalization of the world economies brought significant changes to nearly all industries, and in particular it includes software development. Many companies started global software engineering (GSE) to benefit from cheaper, faster and better development of software systems, products and services. However, empirical studies indicate that achieving these benefits is not an easy task. Here, we report our findings from investigating empirical evidence in GSE-related research literature. By conducting a systematic review we observe that the GSE field is still immature. The amount of empirical studies is relatively small. The majority of the studies represent problem-oriented reports focusing on different aspects of GSE management rather than in-depth analysis of solutions for example in terms of useful practices or techniques. Companies are still driven by cost reduction strategies, and at the same time, the most frequently discussed recommendations indicate a necessity of investments in travelling and socialization. Thus, at the same time as development goes global there is an ambition to minimize geographical, temporal and cultural separation. These are normally integral parts of cross-border collaboration. In summary, the systematic review results in several descriptive classifications of the papers on empirical studies in GSE and also reports on some best practices identified from literature.

12 51 - 88 of 88
CiteExportLink to result list
Permanent link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf