Change search
Refine search result
1 - 37 of 37
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.
  • 1. Alegroth, Emil
    et al.
    Feldt, Robert
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Ryrholm, Lisa
    Visual GUI testing in practice: challenges, problems and limitations2015In: Empirical Software Engineering, ISSN 1382-3256, E-ISSN 1573-7616, Vol. 20, no 3, p. 694-744Article in journal (Refereed)
    Abstract [en]

    In today’s software development industry, high-level tests such as Graphical User Interface (GUI) based system and acceptance tests are mostly performed with manual practices that are often costly, tedious and error prone. Test automation has been proposed to solve these problems but most automation techniques approach testing from a lower level of system abstraction. Their suitability for high-level tests has therefore been questioned. High-level test automation techniques such as Record and Replay exist, but studies suggest that these techniques suffer from limitations, e.g. sensitivity to GUI layout or code changes, system implementation dependencies, etc. Visual GUI Testing (VGT) is an emerging technique in industrial practice with perceived higher flexi- bility and robustness to certain GUI changes than previous high-level (GUI) test automation techniques. The core of VGT is image recognition which is applied to analyze and interact with the bitmap layer of a system’s front end. By coupling image recognition with test scripts, VGT tools can emulate end user behavior on almost any GUI-based system, regardless of implementation language, operating system or platform. However, VGT is not without its own challenges, problems and limitations (CPLs) but, like for many other automated test techniques, there is a lack of empirically-based knowledge of these CPLs and how they impact industrial applicability. Crucially, there is also a lack of information on the cost of applying this type of test automation in industry. This manuscript reports an empirical, multi-unit case study performed at two Swedish companies that develop safety-critical software. It studies their transition from manual system test cases into tests auto- mated with VGT. In total, four different test suites that together include more than 300 high-level system test cases were automated for two multi-million lines of code systems. The results show that the transitioned test cases could find defects in the tested systems and that all applicable test cases could be automated. However, during these transition projects a number of hurdles had to be addressed; a total of 58 different CPLs were identified and then categorized into 26 types. We present these CPL types and an analysis of the implications for the transition to and use of VGT in industrial software development practice. In addition, four high-level solutions are presented that were identified during the study, which would address about half of the identified CPLs. Furthermore, collected metrics on cost and return on investment of the VGT transition are reported together with information about the VGT suites’ defect finding ability. Nine of the identified defects are reported, 5 of which were unknown to testers with extensive experience from using the manual test suites. The main conclusion from this study is that even though there are many challenges related to the transition and usage of VGT, the technique is still valuable, flexible and considered cost-effective by the industrial practitioners. The presented CPLs also provide decision support in the use and advancement of VGT and potentially other automated testing techniques similar to VGT, e.g. Record and Replay.

    Download full text (pdf)
    fulltext
  • 2.
    Ali, Nauman bin
    et al.
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Engström, Emelie
    Lund University, SWE.
    Taromirad, Masoumeh
    Halmstad University, SWE.
    Mousavi, Muhammad Raza
    Halmstad University, SWE.
    Minhas, Nasir Mehmood
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Helgesson, Daniel
    Lund University, SWE.
    Kunze, Sebastian
    Halmstad University, SWE.
    Varshosaz, Mahsa
    Halmstad University, SWE.
    On the search for industry-relevant regression testing research2019In: Empirical Software Engineering, ISSN 1382-3256, E-ISSN 1573-7616, Vol. 24, no 4, p. 2020-2055Article in journal (Refereed)
    Abstract [en]

    Regression testing is a means to assure that a change in the software, or

    its execution environment, does not introduce new defects. It involves the expensive

    undertaking of rerunning test cases. Several techniques have been proposed

    to reduce the number of test cases to execute in regression testing, however, there

    is no research on how to assess industrial relevance and applicability of such techniques.

    We conducted a systematic literature review with the following two goals:

    rstly, to enable researchers to design and present regression testing research with

    a focus on industrial relevance and applicability and secondly, to facilitate the industrial

    adoption of such research by addressing the attributes of concern from the

    practitioners' perspective. Using a reference-based search approach, we identied

    1068 papers on regression testing. We then reduced the scope to only include papers

    with explicit discussions about relevance and applicability (i.e. mainly studies

    involving industrial stakeholders). Uniquely in this literature review, practitioners

    were consulted at several steps to increase the likelihood of achieving our aim of

    identifying factors important for relevance and applicability. We have summarised

    the results of these consultations and an analysis of the literature in three taxonomies,

    which capture aspects of industrial-relevance regarding the regression

    testing techniques. Based on these taxonomies, we mapped 38 papers reporting

    the evaluation of 26 regression testing techniques in industrial settings.

    Download full text (pdf)
    fulltext
  • 3.
    Alégroth, Emil
    et al.
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Feldt, Robert
    Chalmers, SWE.
    On the long-term use of visual gui testing in industrial practice: a case study2017In: Empirical Software Engineering, ISSN 1382-3256, E-ISSN 1573-7616, Vol. 22, no 6, p. 2937-2971Article in journal (Refereed)
    Abstract [en]

    Visual GUI Testing (VGT) is a tool-driven technique for automated GUI-based testing that uses image recognition to interact with and assert the correctness of the behavior of a system through its GUI as it is shown to the user. The technique’s applicability, e.g. defect-finding ability, and feasibility, e.g. time to positive return on investment, have been shown through empirical studies in industrial practice. However, there is a lack of studies that evaluate the usefulness and challenges associated with VGT when used long-term (years) in industrial practice. This paper evaluates how VGT was adopted, applied and why it was abandoned at the music streaming application development company, Spotify, after several years of use. A qualitative study with two workshops and five well chosen employees is performed at the company, supported by a survey, which is analyzed with a grounded theory approach to answer the study’s three research questions. The interviews provide insights into the challenges, problems and limitations, but also benefits, that Spotify experienced during the adoption and use of VGT. However, due to the technique’s drawbacks, VGT has been abandoned for a new technique/framework, simply called the Test interface. The Test interface is considered more robust and flexible for Spotify’s needs but has several drawbacks, including that it does not test the actual GUI as shown to the user like VGT does. From the study’s results it is concluded that VGT can be used long-term in industrial practice but it requires organizational change as well as engineering best practices to be beneficial. Through synthesis of the study’s results, and results from previous work, a set of guidelines are presented that aim to aid practitioners to adopt and use VGT in industrial practice. However, due to the abandonment of the technique, future research is required to analyze in what types of projects the technique is, and is not, long-term viable. To this end, we also present Spotify’s Test interface solution for automated GUI-based testing and conclude that it has its own benefits and drawbacks.

  • 4.
    Alégroth, Emil
    et al.
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Karl, Kristian
    Spotify, SWE.
    Rosshagen, Helena
    AddQ, SWE.
    Helmfridsson, Tomas
    AddQ, SWE.
    Olsson, Nils
    ArcticBlue, SWE.
    Practitioners' best practices to Adopt, Use or Abandon Model-based Testing with Graphical models for Software-intensive Systems2022In: Empirical Software Engineering, ISSN 1382-3256, E-ISSN 1573-7616, Vol. 27, no 5, article id 103Article in journal (Refereed)
    Abstract [en]

    Model-based testing (MBT) has been extensively researched for software-intensive systems but, despite the academic interest, adoption of the technique in industry has been sparse. This phenomenon has been observed by our industrial partners for MBT with graphical models. They perceive one cause to be a lack of evidence-based MBT guidelines that, in addition to technical guidelines, also take non-technical aspects into account. This hypothesis is supported by a lack of such guidelines in the literature. Objective: The objective of this study is to elicit, and synthesize, MBT experts' best practices for MBT with graphical models. The results aim to give guidance to practitioners and aspire to give researchers new insights to inspire future research. Method: An interview survey is conducted using deep, semi-structured, interviews with an international sample of 17 MBT experts, in different roles, from software industry. Interview results are synthesised through semantic equivalence analysis and verified by MBT experts from industrial practice. Results: 13 synthesised conclusions are drawn from which 23 best-practice guidelines are derived for the adoption, use and abandonment of the technique. In addition, observations and expert insights are discussed that help explain the lack of wide-spread adoption of MBT with graphical models in industrial practice. Conclusions: Several technical aspects of MBT are covered by the results as well as conclusions that cover process- and organizational factors. These factors relate to the mindset, knowledge, organization, mandate and resources that enable the technique to be used effectively within an organization. The guidelines presented in this work complement existing knowledge and, as a primary objective, provide guidance for industrial practitioners to better succeed with MBT with graphical models.

    Download full text (pdf)
    fulltext
  • 5. Bjarnason, Elizabeth
    et al.
    Runeson, Per
    Borg, Markus
    Unterkalmsteiner, Michael
    Blekinge Institute of Technology, School of Computing.
    Engström, Emelie
    Regnell, Björn
    Sabaliauskaite, Giedre
    Loconsole, Annabella
    Gorschek, Tony
    Blekinge Institute of Technology, School of Computing.
    Feldt, Robert
    Blekinge Institute of Technology, School of Computing.
    Challenges and Practices in Aligning Requirements with Verification and Validation: A Case Study of Six Companies2014In: Empirical Software Engineering, ISSN 1382-3256, E-ISSN 1573-7616, Vol. 19, no 6, p. 1809-1855Article in journal (Refereed)
    Abstract [en]

    Weak alignment of requirements engineering (RE) with verification and validation (VV) may lead to problems in delivering the required products in time with the right quality. For example, weak communication of requirements changes to testers may result in lack of verification of new requirements and incorrect verification of old invalid requirements, leading to software quality problems, wasted effort and delays. However, despite the serious implications of weak alignment research and practice both tend to focus on one or the other of RE or VV rather than on the alignment of the two. We have performed a multi-unit case study to gain insight into issues around aligning RE and VV by interviewing 30 practitioners from 6 software developing companies, involving 10 researchers in a flexible research process for case studies. The results describe current industry challenges and practices in aligning RE with VV, ranging from quality of the individual RE and VV activities, through tracing and tools, to change control and sharing a common understanding at strategy, goal and design level. The study identified that human aspects are central, i.e. cooperation and communication, and that requirements engineering practices are a critical basis for alignment. Further, the size of an organisation and its motivation for applying alignment practices, e.g. external enforcement of traceability, are variation factors that play a key role in achieving alignment. Our results provide a strategic roadmap for practitioners improvement work to address alignment challenges. Furthermore, the study provides a foundation for continued research to improve the alignment of RE with VV.

    Download full text (pdf)
    FULLTEXT01
  • 6.
    Bjarnason, Elizabeth
    et al.
    Lund University.
    Åberg, Patrik
    Ericsson AB.
    Ali, Nauman bin
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Software selection in large-scale software engineering: A model and criteria based on interactive rapid reviews2023In: Empirical Software Engineering, ISSN 1382-3256, E-ISSN 1573-7616, Vol. 28, no 2, article id 51Article in journal (Refereed)
    Abstract [en]

    Context: Software selection in large-scale software development continues to be ad hoc and ill-structured. Previous proposals for software component selection tend to be technology-specific and/or do not consider business or ecosystem concerns. Objective: Our main aim is to develop an industrially relevant technology-agnostic method that can support practitioners in making informed decisions when selecting software components for use in tools or in products based on a holistic perspective of the overall environment. Method: We used method engineering to iteratively develop a software selection method for Ericsson AB based on a combination of published research and practitioner insights. We used interactive rapid reviews to systematically identify and analyse scientific literature and to support close cooperation and co-design with practitioners from Ericsson. The model has been validated through a focus group and by practical use at the case company. Results: The model consists of a high-level selection process and a wide range of criteria for assessing and for evaluating software to include in business products and tools. Conclusions: We have developed an industrially relevant model for component selection through active engagement from a company. Co-designing the model based on previous knowledge demonstrates a viable approach to industry-academia collaboration and provides a practical solution that can support practitioners in making informed decisions based on a holistic analysis of business, organisation and technical factors. © 2023, The Author(s).

    Download full text (pdf)
    fulltext
  • 7.
    Börstler, Jürgen
    et al.
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Bennin, Kwabena E.
    Wageningen University and Research, Netherlands.
    Hooshangi, Sara
    Virginia Tech, United States.
    Jeuring, Johan
    Utrecht University, Netherlands.
    Keuning, Hieke
    Utrecht University, Netherlands.
    Kleiner, Carsten
    University of Applied Sciences & Arts Hannover, Germany.
    MacKellar, Bonnie
    St John’s University, Queens, United States.
    Duran, Rodrigo
    Aalto University, Finland.
    Störrle, Harald
    QAware GmbH, Germany.
    Toll, Daniel
    Linnæus University.
    van Assema, Jelle
    University of Amsterdam, Netherlands.
    Developers talking about code quality2023In: Empirical Software Engineering, ISSN 1382-3256, E-ISSN 1573-7616, Vol. 28, no 6, article id 128Article in journal (Refereed)
    Abstract [en]

    There are many aspects of code quality, some of which are difficult to capture or to measure. Despite the importance of software quality, there is a lack of commonly accepted measures or indicators for code quality that can be linked to quality attributes. We investigate software developers’ perceptions of source code quality and the practices they recommend to achieve these qualities. We analyze data from semi-structured interviews with 34 professional software developers, programming teachers and students from Europe and the U.S. For the interviews, participants were asked to bring code examples to exemplify what they consider good and bad code, respectively. Readability and structure were used most commonly as defining properties for quality code. Together with documentation, they were also suggested as the most common target properties for quality improvement. When discussing actual code, developers focused on structure, comprehensibility and readability as quality properties. When analyzing relationships between properties, the most commonly talked about target property was comprehensibility. Documentation, structure and readability were named most frequently as source properties to achieve good comprehensibility. Some of the most important source code properties contributing to code quality as perceived by developers lack clear definitions and are difficult to capture. More research is therefore necessary to measure the structure, comprehensibility and readability of code in ways that matter for developers and to relate these measures of code structure, comprehensibility and readability to common software quality attributes.

    Download full text (pdf)
    fulltext
  • 8.
    Ernst, Neil A.
    et al.
    University of Victoria, CAN.
    Carver, Jeffrey C.
    University of Alabama, USA.
    Mendez, Daniel
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Torchiano, Marco
    Politecnico di Torino, ITA.
    Understanding peer review of software engineering papers2021In: Empirical Software Engineering, ISSN 1382-3256, E-ISSN 1573-7616, Vol. 26, no 5, article id 103Article in journal (Refereed)
    Abstract [en]

    Context: Peer review is a key activity intended to preserve the quality and integrity of scientific publications. However, in practice it is far from perfect. Objective: We aim at understanding how reviewers, including those who have won awards for reviewing, perform their reviews of software engineering papers to identify both what makes a good reviewing approach and what makes a good paper. Method: We first conducted a series of interviews with recognised reviewers in the software engineering field. Then, we used the results of those interviews to develop a questionnaire used in an online survey and sent out to reviewers from well-respected venues covering a number of software engineering disciplines, some of whom had won awards for their reviewing efforts. Results: We analyzed the responses from the interviews and from 175 reviewers who completed the online survey (including both reviewers who had won awards and those who had not). We report on several descriptive results, including: Nearly half of award-winners (45%) are reviewing 20+ conference papers a year, while 28% of non-award winners conduct that many. The majority of reviewers (88%) are taking more than two hours on journal reviews. We also report on qualitative results. Our findings suggest that the most important criteria of a good review is that it should be factual and helpful, which ranked above others such as being detailed or kind. The most important features of papers that result in positive reviews are a clear and supported validation, an interesting problem, and novelty. Conversely, negative reviews tend to result from papers that have a mismatch between the method and the claims and from papers with overly grandiose claims. Further insights include, if not limited to, that reviewers view data availability and its consistency as being important or that authors need to make their contribution of the work very clear in their paper. Conclusions: Based on the insights we gained through our study, we conclude our work by compiling a proto-guideline for reviewing. One hope we associate with our work is to contribute to the ongoing debate and contemporary effort to further improve our peer review models in the future. © 2021, The Author(s), under exclusive licence to Springer Science+Business Media, LLC, part of Springer Nature.

  • 9.
    Falessi, Davide
    et al.
    CalPoly, USA.
    Juristo, Natalia
    Universidad Politecnica de Madrid, ESP.
    Wohlin, Claes
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Turhan, Burak
    Oulun Yliopisto, FIN.
    Münch, Jürgen
    Helsingin Yliopisto, FIN.
    Jedlitschka, Andreas
    Fraunhofer-Institut fur Experimentelles Software Engineering, DEU.
    Oivo, Markku
    Oulun Yliopisto, FIN.
    Empirical software engineering experts on the use of students and professionals in experiments2018In: Empirical Software Engineering, ISSN 1382-3256, E-ISSN 1573-7616, Vol. 23, no 1, p. 452-489Article in journal (Refereed)
    Abstract [en]

    [Context] Controlled experiments are an important empirical method to generate and validate theories. Many software engineering experiments are conducted with students. It is often claimed that the use of students as participants in experiments comes at the cost of low external validity while using professionals does not. [Objective] We believe a deeper understanding is needed on the external validity of software engineering experiments conducted with students or with professionals. We aim to gain insight about the pros and cons of using students and professionals in experiments. [Method] We performed an unconventional, focus group approach and a follow-up survey. First, during a session at ISERN 2014, 65 empirical researchers, including the seven authors, argued and discussed the use of students in experiments with an open mind. Afterwards, we revisited the topic and elicited experts’ opinions to foster discussions. Then we derived 14 statements and asked the ISERN attendees excluding the authors, to provide their level of agreement with the statements. Finally, we analyzed the researchers’ opinions and used the findings to further discuss the statements. [Results] Our survey results showed that, in general, the respondents disagreed with us about the drawbacks of professionals. We, on the contrary, strongly believe that no population (students, professionals, or others) can be deemed better than another in absolute terms. [Conclusion] Using students as participants remains a valid simplification of reality needed in laboratory contexts. It is an effective way to advance software engineering theories and technologies but, like any other aspect of study settings, should be carefully considered during the design, execution, interpretation, and reporting of an experiment. The key is to understand which developer population portion is being represented by the participants in an experiment. Thus, a proposal for describing experimental participants is put forward.

  • 10.
    Feldt, Robert
    et al.
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Zimmermann, T.
    Microsoft Research, Redmond, WA, USA.
    Bergersen, G. R.
    University of Oslo, NOR.
    Falessi, D.
    California Polytechnic State University, USA.
    Jedlitschka, A.
    Fraunhofer Institute for Experimental Software Engineering, DEU.
    Juristo, N.
    Universidad Politécnica de Madrid, ESP.
    Münch, J.
    Reutlingen University, DEU.
    Oivo, M.
    University of Oulu, FIN.
    Runeson, P.
    Lunds universitet, SWE.
    Shepperd, M.
    Brunel University, GBR.
    Sjøberg, D. I. K.
    University of Oslo, NOR.
    Turhan, B.
    Monash University, AUS.
    Four commentaries on the use of students and professionals in empirical software engineering experiments2018In: Empirical Software Engineering, ISSN 1382-3256, E-ISSN 1573-7616, Vol. 23, no 6, p. 3801-3820Article in journal (Other academic)
  • 11.
    Garousi, Vahid
    et al.
    Wageningen University and Research Centre, NLD.
    Pfahl, Dietmar
    University of Tartu, EST.
    Fernandes, Joao
    Universidade do Minho, PRT.
    Felderer, Michael
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Mäntylä, Mika
    University of Oulu, FIN.
    Shepherd, David
    ABB Group, USA.
    Arcuri, Andrea
    University of Luxembourg, LUX.
    Coşkunçay, Ahmet
    Ataturk University, TUR.
    Tekinerdogan, Bedir
    Wageningen University and Research Centre, NLD.
    Characterizing industry-academia collaborations in software engineering: evidence from 101 projects2019In: Empirical Software Engineering, ISSN 1382-3256, E-ISSN 1573-7616, Vol. 24, no 4, p. 2540-2602Article in journal (Refereed)
    Abstract [en]

    Research collaboration between industry and academia supports improvement and innovation in industry and helps ensure the industrial relevance of academic research. However, many researchers and practitioners in the community believe that the level of joint industry-academia collaboration (IAC) projects in Software Engineering (SE) research is relatively low, creating a barrier between research and practice. The goal of the empirical study reported in this paper is to explore and characterize the state of IAC with respect to industrial needs, developed solutions, impacts of the projects and also a set of challenges, patterns and anti-patterns identified by a recent Systematic Literature Review (SLR) study. To address the above goal, we conducted an opinion survey among researchers and practitioners with respect to their experience in IAC. Our dataset includes 101 data points from IAC projects conducted in 21 different countries. Our findings include: (1) the most popular topics of the IAC projects, in the dataset, are: software testing, quality, process, and project managements; (2) over 90% of IAC projects result in at least one publication; (3) almost 50% of IACs are initiated by industry, busting the myth that industry tends to avoid IACs; and (4) 61% of the IAC projects report having a positive impact on their industrial context, while 31% report no noticeable impacts or were “not sure”. To improve this situation, we present evidence-based recommendations to increase the success of IAC projects, such as the importance of testing pilot solutions before using them in industry. This study aims to contribute to the body of evidence in the area of IAC, and benefit researchers and practitioners. Using the data and evidence presented in this paper, they can conduct more successful IAC projects in SE by being aware of the challenges and how to overcome them, by applying best practices (patterns), and by preventing anti-patterns. © 2019, The Author(s).

    Download full text (pdf)
    fulltext
  • 12.
    Hatamian, Majid
    et al.
    Northumbria Univ, GBR.
    Wairimu, Samuel
    Karlstad Univ, SWE.
    Momen, Nurul
    Blekinge Institute of Technology, Faculty of Computing, Department of Computer Science.
    Fritsch, Lothar
    Karlstad Univ, SWE.
    A privacy and security analysis of early-deployed COVID-19 contact tracing Android apps2021In: Empirical Software Engineering, ISSN 1382-3256, E-ISSN 1573-7616, Vol. 26, no 3, article id 36Article in journal (Refereed)
    Abstract [en]

    As this article is being drafted, the SARS-CoV-2/COVID-19 pandemic is causing harm and disruption across the world. Many countries aimed at supporting their contact tracers with the use of digital contact tracing apps in order to manage and control the spread of the virus. Their idea is the automatic registration of meetings between smartphone owners for the quicker processing of infection chains. To date, there are many contact tracing apps that have already been launched and used in 2020. There has been a lot of speculations about the privacy and security aspects of these apps and their potential violation of data protection principles. Therefore, the developers of these apps are constantly criticized because of undermining users' privacy, neglecting essential privacy and security requirements, and developing apps under time pressure without considering privacy- and security-by-design. In this study, we analyze the privacy and security performance of 28 contact tracing apps available on Android platform from various perspectives, including their code's privileges, promises made in their privacy policies, and static and dynamic performances. Our methodology is based on the collection of various types of data concerning these 28 apps, namely permission requests, privacy policy texts, run-time resource accesses, and existing security vulnerabilities. Based on the analysis of these data, we quantify and assess the impact of these apps on users' privacy. We aimed at providing a quick and systematic inspection of the earliest contact tracing apps that have been deployed on multiple continents. Our findings have revealed that the developers of these apps need to take more cautionary steps to ensure code quality and to address security and privacy vulnerabilities. They should more consciously follow legal requirements with respect to apps' permission declarations, privacy principles, and privacy policy contents.

    Download full text (pdf)
    fulltext
  • 13.
    Jabangwe, Ronald
    et al.
    Blekinge Institute of Technology, School of Computing.
    Börstler, Jürgen
    Blekinge Institute of Technology, School of Computing.
    Šmite, Darja
    Wohlin, Claes
    Blekinge Institute of Technology, School of Computing.
    Empirical Evidence on the Link between Object-Oriented Measures and External Quality Attributes: A Systematic Literature Review2015In: Empirical Software Engineering, ISSN 1382-3256, E-ISSN 1573-7616, Vol. 20, no 3, p. 640-693Article in journal (Refereed)
    Abstract [en]

    There is a plethora of studies investigating object-oriented measures and their link with external quality attributes, but usefulness of the measures may differ across empirical studies. This study aims to aggregate and identify useful object-oriented measures, specifically those obtainable from the source code of object-oriented systems that have gone through such empirical evaluation. By conducting a systematic literature review, 99 primary studies were identified and traced to four external quality attributes: reliability, maintainability, effectiveness and functionality. A vote-counting approach was used to investigate the link be- tween object-oriented measures and the attributes, and to also assess the consistency of the relation reported across empirical studies. Most of the studies investigate links between object-oriented measures and proxies for reliability attributes, followed by proxies for maintainability. The least investigated attributes were: effectiveness and functionality. Measures from the C&K measurement suite were the most popular across studies. Vote-counting results suggest that complexity, cohesion, size and coupling measures have a better link with reliability and maintainability than inheritance measures. However, inheritance measures should not be overlooked during quality assessment initiatives; their link with reliability and maintainability could be context dependent. There were too few studies traced to effectiveness and functionality attributes; thus a meaningful vote-counting analysis could not be conducted for these attributes. Thus, there is a need for diversification of quality attributes investigated in empirical studies. This would help with identifying useful measures during quality assessment initiatives, and not just for reliability and maintainability aspects.

  • 14.
    Klotins, Eriks
    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.
    Sundelin, Katarina
    Ericsson AB Karlskrona, SWE.
    Falk, Erik
    Telia Co Uppsala, SWE.
    Towards cost-benefit evaluation for continuous software engineering activities2022In: Empirical Software Engineering, ISSN 1382-3256, E-ISSN 1573-7616, Vol. 27, no 6, article id 157Article in journal (Refereed)
    Abstract [en]

    Context: Software companies must become better at delivering software to remain relevant in the market. Continuous integration and delivery practices promise to streamline software deliveries to end-users by implementing an automated software development and delivery pipeline. However, implementing or retrofitting an organization with such a pipeline is a substantial investment, while the reporting on benefits and their relevance in specific contexts/domains are vague. Aim: In this study, we explore continuous software engineering practices from an investment-benefit perspective. We identify what benefits can be attained by adopting continuous practices, what the associated investments and risks are, and analyze what parameters determine their relevance. Method: We perform a multiple case study to understand state-of-practice, organizational aims, and challenges in adopting continuous software engineering practices. We compare state-of-practice with state-of-the-art to validate the best practices and identify relevant gaps for further investigation. Results: We found that companies start the CI/CD adoption by automating and streamlining the internal development process with clear and immediate benefits. However, upgrading customers to continuous deliveries is a major obstacle due to existing agreements and customer push-back. Renegotiating existing agreements comes with a risk of losing customers and disrupting the whole organization. Conclusions: We conclude that the benefits of CI/CD are overstated in literature without considering the contextual and domain complexities rendering some benefits infeasible. We identify the need to understand the customer and organizational perspectives further and understand the contextual requirements towards the CI/CD.

    Download full text (pdf)
    fulltext
  • 15.
    Klotins, Eriks
    et al.
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Unterkalmsteiner, Michael
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Gorschek, Tony
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Software engineering in start-up companies: An analysis of 88 experience reports2019In: Empirical Software Engineering, ISSN 1382-3256, E-ISSN 1573-7616, Vol. 24, no 1, p. 68-102Article in journal (Refereed)
    Abstract [en]

    Context: Start-up companies have become an important supplier of innovation and software-intensive products. The flexibility and reactiveness of start-ups enables fast development and launch of innovative products. However, a majority of software start-up companies fail before achieving any success. Among other factors, poor software engineering could be a significant contributor to the challenges experienced by start-ups. However, the state-of-practice of software engineering in start-ups, as well as the utilization of state-of-the-art is largely an unexplored area. Objective: In this study we investigate how software engineering is applied in start-up context with a focus to identify key knowledge areas and opportunities for further research. Method: We perform a multi-vocal exploratory study of 88 start-up experience reports. We develop a custom taxonomy to categorize the reported software engineering practices and their interrelation with business aspects, and apply qualitative data analysis to explore influences and dependencies between the knowledge areas. Results: We identify the most frequently reported software engineering (requirements engineering, software design and quality) and business aspect (vision and strategy development) knowledge areas, and illustrate their relationships. We also present a summary of how relevant software engineering knowledge areas are implemented in start-ups and identify potentially useful practices for adoption in start-ups. Conclusions: The results enable a more focused research on engineering practices in start-ups. We conclude that most engineering challenges in start-ups stem from inadequacies in requirements engineering. Many promising practices to address specific engineering challenges exists, however more research on adaptation of established practices, and validation of new start-up specific practices is needed. © 2018 The Author(s)

    Download full text (pdf)
    fulltext
  • 16. Kocaguneli, Ekrem
    et al.
    Menzies, Tim
    Mendes, Emilia
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Transfer learning in effort estimation2015In: Empirical Software Engineering, ISSN 1382-3256, E-ISSN 1573-7616, Vol. 20, no 3, p. 813-843Article in journal (Refereed)
    Abstract [en]

    When projects lack sufficient local data to make predictions, they try to transfer information from other projects. How can we best support this process? In the field of software engineering, transfer learning has been shown to be effective for defect prediction. This paper checks whether it is possible to build transfer learners for software effort estimation. We use data on 154 projects from 2 sources to investigate transfer learning between different time intervals and 195 projects from 51 sources to provide evidence on the value of transfer learning for traditional cross-company learning problems. We find that the same transfer learning method can be useful for transfer effort estimation results for the cross-company learning problem and the cross-time learning problem. It is misguided to think that: (1) Old data of an organization is irrelevant to current context or (2) data of another organization cannot be used for local solutions. Transfer learning is a promising research direction that transfers relevant cross data between time intervals and domains.

  • 17. Kosti, Makrina Viola
    et al.
    Feldt, Robert
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Angelis, Lefteris
    Archetypal personalities of software engineers and their work preferences: a new perspective for empirical studies2016In: Empirical Software Engineering, ISSN 1382-3256, E-ISSN 1573-7616, Vol. 21, no 4, p. 1509-1532Article in journal (Refereed)
  • 18.
    Lenberg, Per
    et al.
    Chalmers, SWE.
    Wallgren Tengberg, Lars Göran
    Göteborgs Universitet, SWE.
    Feldt, Robert
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    An initial analysis of software engineers’ attitudes towards organizational change2017In: Empirical Software Engineering, ISSN 1382-3256, E-ISSN 1573-7616, Vol. 22, no 4, p. 2179-2205Article in journal (Refereed)
    Abstract [en]

    Employees’ attitudes towards organizational change are a critical determinant in the change process. Researchers have therefore tried to determine what underlying concepts that affect them. These extensive efforts have resulted in the identification of several antecedents. However, no studies have been conducted in a software engineering context and the research has provided little information on the relative impact and importance of the identified concepts. In this study, we have combined results from previous social science research with results from software engineering research, and thereby identified three underlying concepts with an expected significant impact on software engineers’ attitudes towards organizational change, i.e. their knowledge about the intended change outcome, their understanding of the need for change, and their feelings of participation in the change process. The result of two separate multiple regression analysis, where we used industrial questionnaire data (N=56), showed that the attitude concept openness to change is predicted by all three concepts, while the attitude concept readiness for change is predicted by need for change and participation. Our research provides an empirical baseline to an important area of software engineering and the result can be a starting-point for future organizational change research. In addition, the proposed model prescribes practical directions for software engineering organizations to adopt in improving employees’ responses to change and, thus, increase the probability of a successful change.

  • 19.
    Lokan, Chris
    et al.
    UNSW Canberra, Australia.
    Mendes, Emilia
    Blekinge Institute of Technology, Faculty of Computing, Department of Computer Science and Engineering.
    Investigating the use of moving windows to improve software effort prediction: a replicated study2017In: Empirical Software Engineering, ISSN 1382-3256, E-ISSN 1573-7616, Vol. 22, no 2, p. 716-767Article in journal (Refereed)
    Abstract [en]

    To date most research in software effort estimation has not taken chronology into account when selecting projects for training and validation sets. A chronological split represents the use of a project’s starting and completion dates, such that any model that estimates effort for a new project p only uses as its training set projects that have been completed prior to p’s starting date. A study in 2009 (“S3”) investigated the use of chronological split taking into account a project’s age. The research question investigated was whether the use of a training set containing only the most recent past projects (a “moving window” of recent projects) would lead to more accurate estimates when compared to using the entire history of past projects completed prior to the starting date of a new project. S3 found that moving windows could improve the accuracy of estimates. The study described herein replicates S3 using three different and independent data sets. Estimation models were built using regression, and accuracy was measured using absolute residuals. The results contradict S3, as they do not show any gain in estimation accuracy when using windows for effort estimation. This is a surprising result: the intuition that recent data should be more helpful than old data for effort estimation is not supported. Several factors, which are discussed in this paper, might have contributed to such contradicting results. Some of our future work entails replicating this work using other datasets, to understand better when using windows is a suitable choice for software companies.

  • 20.
    Mendez, Daniel
    et al.
    Technical University of Munich, Germany.
    Monperrus, Martin
    KTH Royal Institute of Technology.
    Feldt, Robert
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Zimmermann, Thomas
    Microsoft Research, United States.
    The open science initiative of the Empirical Software Engineering journal2019In: Empirical Software Engineering, ISSN 1382-3256, E-ISSN 1573-7616, Vol. 24, no 3, p. 1057-1060Article in journal (Refereed)
  • 21.
    Moe, Nils Brede
    et al.
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Šmite, Darja
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Hanssen, Geir Kjetil
    Barney, Hamish
    From offshore outsourcing to insourcing and partnerships: four failed outsourcing attempts2014In: Empirical Software Engineering, ISSN 1382-3256, E-ISSN 1573-7616, Vol. 19, no 5, p. 1225-1258Article in journal (Refereed)
    Abstract [en]

    Most large software companies are involved in offshore development, now small and medium-sized companies are starting to undertake global sourcing too. Empirical research suggests that offshoring is not always successful; however, only a few comprehensive failure stories have been reported. The objective of our study has been to understand why small and medium-sized companies terminate their offshore outsourcing relationships and what alternative arrangements they undertake afterwards. Therefore, we designed a multiple case study of four medium-sized Scandinavian software companies that have terminated their offshore outsourcing relationships. Our results are based on data collected through semi-structured interviews, informal dialogues and analysis of company documents. We found that all companies terminated their offshore contracts because of low quality of the software being developed. This was caused by an inability to build the necessary human and social capital. The companies reported challenges with domain knowledge, a lack of commitment of external developers, cultural clashes, poor communication and high turnover, which only amplified the problems. After termination all four companies changed their sourcing strategy from offshore outsourcing to offshore insourcing and partnerships. We conclude that successful offshore software development requires a change from a cost-driven focus to an intellectual capital driven focus. To prevent continuous investments into contracts that are destined to fail, companies should look for signs of escalating commitments and terminate relationships that cannot be corrected. Those companies that choose outsourcing shall also take into account that mismatch between the size of the offshore contract relative to the vendor may have a negative effect on a relationship.

  • 22.
    Moe, Nils Brede
    et al.
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Šmite, Darja
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Paasivaara, Maria
    Aalto University, FIN.
    Lassenius, Casper
    Aalto University, FIN.
    Finding the sweet spot for organizational control and team autonomy in large-scale agile software development2021In: Empirical Software Engineering, ISSN 1382-3256, E-ISSN 1573-7616, Vol. 26, no 5, article id 101Article in journal (Refereed)
    Abstract [en]

    Agile methods and the related concepts of employee empowerment, self-management, and autonomy have reached large-scale software organizations and raise questions about commonly adopted principles for authority distribution. However, the optimum mechanism to balance the need for alignment, quality, and process control with the need or willingness of teams to be autonomous remains an unresolved issue. In this paper, we report our findings from a multiple-case study in two large-scale software development organizations in the telecom industry. We analysed the autonomy of the agile teams in the organizations using Hackman’s classification of unit authority and found that the teams were partly self-managing. Further, we found that alignment across teams can be achieved top-down by management and bottom-up through membership in communities or through dialogue between the team and management. However, the degree of team autonomy was limited by the need for organizational alignment. Top-down alignment and control were maintained through centralized decision-making for certain areas, the use of supervisory roles, mandatory processes, and checklists. One case employed a bottom-up approach to alignment through the formation of a community composed of all teams, experts, and supporting roles, but excluding managers. This community-based alignment involved teams in decision-making and engaged them in alignment initiatives. We conclude that implementation of such bottom-up structures seems to provide one possible mechanism for balancing organizational control and team autonomy in large-scale software development. © 2021, The Author(s).

    Download full text (pdf)
    fulltext
  • 23.
    Munir, Hussan
    et al.
    Lunds universitet, SWE.
    Linåker, Johan
    Lunds universitet, SWE.
    Wnuk, Krzysztof
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Runeson, Per E.R.
    Lunds universitet, SWE.
    Regnell, Björn
    Lunds universitet, SWE.
    Open innovation using open source tools: a case study at Sony Mobile2018In: Empirical Software Engineering, ISSN 1382-3256, E-ISSN 1573-7616, Vol. 23, no 1, p. 186-223Article in journal (Refereed)
    Abstract [en]

    Despite growing interest of Open Innovation (OI) in Software Engineering (SE), little is known about what triggers software organizations to adopt it and how this affects SE practices. OI can be realized in numerous of ways, including Open Source Software (OSS) involvement. Outcomes from OI are not restricted to product innovation but also include process innovation, e.g. improved SE practices and methods. This study explores the involvement of a software organization (Sony Mobile) in OSS communities from an OI perspective and what SE practices (requirements engineering and testing) have been adapted in relation to OI. It also highlights the innovative outcomes resulting from OI. An exploratory embedded case study investigates how Sony Mobile use and contribute to Jenkins and Gerrit; the two central OSS tools in their continuous integration tool chain. Quantitative analysis was performed on change log data from source code repositories in order to identify the top contributors and triangulated with the results from five semi-structured interviews to explore the nature of the commits. The findings of the case study include five major themes: i) The process of opening up towards the tool communities correlates in time with a general adoption of OSS in the organization. ii) Assets not seen as competitive advantage nor a source of revenue are made open to OSS communities, and gradually, the organization turns more open. iii) The requirements engineering process towards the community is informal and based on engagement. iv) The need for systematic and automated testing is still in its infancy, but the needs are identified. v) The innovation outcomes included free features and maintenance, and were believed to increase speed and quality in development. Adopting OI was a result of a paradigm shift of moving from Windows to Linux. This shift enabled Sony Mobile to utilize the Jenkins and Gerrit communities to make their internal development process better for its software developers and testers. © 2017 The Author(s)

  • 24.
    Munir, Hussan
    et al.
    Lunds Universitet, SWE.
    Linåker, Johan
    Lunds Universitet, SWE.
    Wnuk, Krzysztof
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Runeson, Per
    Lunds Universitet, SWE.
    Regnell, Bjorn
    Lunds Universitet, SWE.
    Open Innovation through the Lens of Open Source Tools: A case study at Sony Mobile2018In: Empirical Software Engineering, ISSN 1382-3256, E-ISSN 1573-7616, Empirical Software Engineering Journal, Vol. 23, p. 186-223Article in journal (Refereed)
    Abstract [en]

    Despite growing interest of Open Innovation (OI) in Software Engineering (SE), little is known about what triggers software organizations to adopt it and how this affects SE practices. OI can be realized in numerous of ways, including Open Source Software (OSS) involvement. Outcomes from OI are not restricted to product innovation but also include process innovation, e.g. improved SE practices and methods. This study explores the involvement of a software organization (Sony Mobile) in OSS communities from an OI perspective and what SE practices (requirements engineering and testing) have been adapted in relation to OI. It also highlights the innovative outcomes resulting from OI. An exploratory embedded case study investigates how Sony Mobile use and contribute to Jenkins and Gerrit; the two central OSS tools in their continuous integration tool chain. Quantitative analysis was performed on change log data from source code repositories in order to identify the top contributors and triangulated with the results from five semi-structured interviews to explore the nature of the commits. The findings of the case study include five major themes: i) The process of opening up towards the tool communities correlates in time with a general adoption of OSS in the organization. ii) Assets not seen as competitive advantage nor a source of revenue are made open to OSS communities, and gradually, the organization turns more open. iii) The requirements engineering process towards the community is informal and based on engagement. iv) The need for systematic and automated testing is still in its infancy, but the needs are identified. v) The innovation outcomes included free features and maintenance, and were believed to increase speed and quality in development. Adopting OI was a result of a paradigm shift of moving from Windows to Linux. This shift enabled Sony Mobile to utilize the Jenkins and Gerrit communities to make their internal development process better for its software developers and testers.

    Download full text (pdf)
    fulltext
  • 25.
    Olsson, Thomas
    et al.
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering. RISE Reserach Institutes of Sweden, SWE.
    Wnuk, Krzysztof
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Jansen, Slinger
    LUT University, FIN.
    A validated model for the scoping process of quality requirements: a multi-case study2021In: Empirical Software Engineering, ISSN 1382-3256, E-ISSN 1573-7616, Vol. 26, no 2Article in journal (Refereed)
    Abstract [en]

    Quality requirements are vital to developing successful software products. However, there exist evidence that quality requirements are managed mostly in an “ad hoc” manner and down-prioritized. This may result in insecure, unstable, slow products, and unhappy customers. We have developed a conceptual model for the scoping process of quality requirements – QREME – and an assessment model – Q-REPM – for companies to benchmark when evaluating and improving their quality requirements practices. Our model balances an upfront forward-loop with a data-driven feedback-loop. Furthermore, it addresses both strategic and operational decisions. We have evaluated the model in a multi-case study at two companies in Sweden and three companies in The Netherlands. We assessed the scoping process practices for quality requirements and provided improvement recommendations for which practices to improve. The study confirms the existence of the constructs underlying QREME. The companies perform, in the median, 24% of the suggested actions in Q-REPM. None of the companies work data-driven with their quality requirements, even though four out of five companies could technically do so. Furthermore, on the strategic level, quality requirements practices are not systematically performed by any of the companies. The conceptual model and assessment model capture a relevant view of the quality requirements practices and offer relevant improvement proposals. However, we believe there is a need for coupling quality requirements practices to internal and external success factors to motive companies to change their ways of working. We also see improvement potential in the area of business intelligence for QREME in selecting data sources and relevant stakeholders.

    Download full text (pdf)
    fulltext
  • 26.
    Petersen, Kai
    et al.
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Gencel, Cigdem
    Asghari, Negin
    Betz, Stefanie
    An Elicitation Instrument for Operationalising GQM+Strategies (GQM+S-EI)2015In: Empirical Software Engineering, ISSN 1382-3256, E-ISSN 1573-7616, Vol. 20, no 4, p. 968-1005Article in journal (Refereed)
    Abstract [en]

    Context: A recent approach for measurement program planning, GQM+Strategies, provides an important extension to existing approaches linking measurements and improvement activities to strategic goals and ways to achieve these goals. There is a need for instruments aiding in eliciting information from stakeholders to use GQM+Strategies. The success of GQM+Strategies highly depends on accurately identifying goals, strategies and information needs from stakeholders. Objective: The research aims at providing an instrument (called GQM+SEI), aiding practitioners to accurately elicit information needed by GQM+Strategies (capturing goals, strategies and information needs). Method: The research included two phases. In the first phase, using action research method, the GQM+S-EI was designed in three iterations in Ericsson AB. Thereafter, a case study was conducted to evaluate whether the information elicited with the designed instrument following the defined process was accurate and complete. Results: We identified that the industry requires elicitation instruments that are capable to elicit information from stakeholders, not having to know about the concepts (e.g. goals and strategies). The case study results showed that our proposed instrument is capable of accurately and completely capturing the needed information from the stakeholders. Conclusions: We conclude that GQM+S-EI can be used for accurately and completely eliciting the information needed by goal driven measurement frameworks. The instrument has been successfully transferred to Ericsson AB for measurement program planning.

    Download full text (pdf)
    fulltext
  • 27. Petersen, Kai
    et al.
    Wohlin, Claes
    The Effect of Moving from a Plan-Driven to an Incremental and Agile Development Approach: An Industrial Case Study2010In: Empirical Software Engineering, ISSN 1382-3256, E-ISSN 1573-7616, Vol. 15, no 6, p. 654-693Article in journal (Refereed)
    Abstract [en]

    So far, only few in-depth studies focused on the direct comparison of process models in general, and between plan-driven and incremental/agile approaches in particular. That is, it is not made explicit what the effect is of moving from one model to another model. Furthermore, there is limited evidence on advantages and issues encountered in agile software development, this is specifically true in the context of large-scale development. The objective of the paper is to investigate how the perception of bottlenecks, unnecessary work, and rework (from hereon referred to as issues) changes when migrating from a plan-driven to an incremental software development approach with agile practices (flexible product backlog, face-to-face interaction, and frequent integration), and how commonly perceived these practices are across different systems and development roles. The context in which the objective should be achieved is large-scale development with a market-driven focus. The selection of the context was based on the observation in related work that mostly small software development projects were investigated and that the investigation was focused on one agile model (eXtreme programming). A case study was conducted at a development site of Ericsson AB, located in Sweden in the end of 2007. In total 33 interviews were conducted in order to investigate the perceived change when migrating from plan-driven to incremental and agile software development, the interviews being the primary source of evidence. For triangulation purposes measurements collected by Ericsson were considered, the measurements relating to unnecessary work (amount of discarded requirements) and rework (data on testing efficiency and maintenance effort). Triangulation in this context means that the measurements were used to confirm the perceived changes with an additional data source. In total 64 issues were identified, 24 being of general nature and the remaining 40 being local and therefore unique to individual’s opinions or a specific system. The most common ones were documented and analyzed in detail. The commonality refers to how many persons in different roles and across the systems studied have mentioned the issues for each of the process models. The majority of the most common issues relates to plan-driven development. We also identified common issues remaining for agile after the migration, which were related to testing lead-time, test coverage, software release, and coordination overhead. Improvements were identified as many issues commonly raised for the plan-driven approach were not raised anymore for the incremental and agile approach. It is concluded that the recent introduction (start in 2005 with the study being conducted in the end of 2007) of incremental and agile practices brings added values in comparison to the plan-driven approach, which is evident from the absence of critical issues that are encountered in plan-driven development.

    Download full text (pdf)
    FULLTEXT01
  • 28. Salleh, Norsaremah
    et al.
    Mendes, Emilia
    Blekinge Institute of Technology, School of Computing.
    Grundy, John
    Investigating the effects of personality traits on pair programming in a higher education setting through a family of experiments2014In: Empirical Software Engineering, ISSN 1382-3256, E-ISSN 1573-7616, Vol. 19, no 3, p. 714-752Article in journal (Refereed)
    Abstract [en]

    Evidence from a systematic literature that we conducted previously revealed numerous inconsistencies in findings from the Pair Programming (PP) literature regarding the effects of personality on PP’s effectiveness. It also showed that, despite numerous investigations, the effect of differing personality traits of pairs on the successful implementation of pair-programming (PP) within a higher education setting is still unclear. In addition, our results also showed that the personality instrument used the most had been the Myers-Briggs Type Indicator (MBTI), despite being an indicator criticized by personality psychologists as unreliable in measuring an individual’s personality traits. These issues motivated our research, where we conducted a series of five formal experiments at the University of Auckland (between 2009 and 2010) using 594 undergraduate students as subjects to investigate the effects of personality composition on PP’s effectiveness. Our studies employed the Five-Factor personality framework, comprising five broad traits (Openness to experience, Conscientiousness, Extraversion, Agreeableness, and Neuroticism). Our experiments investigated three of the five traits - Conscientiousness, Neuroticism, and Openness. Our findings showed that Conscientiousness and Neuroticism did not present a statistically significantly effect upon paired students’ academic performance. However, Openness played a significant role in differentiating paired students’ academic performance. Participants survey results also indicated that PP not only caused an increase in satisfaction and confidence levels but also brought enjoyment to the tutorial classes and enhanced students’ motivation.

  • 29.
    Santos, Adrian
    et al.
    University of Oulu, FIN.
    Vegas, Sira
    Universidad Politécnica de Madrid, ESP.
    Dieste, Oscar
    ETAPA, ECU.
    Uyaguari, Fernando
    ETAPA, ECU.
    Tosun, Ayse
    Istanbul Technical University, TUR.
    Fucci, Davide
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Turhan, Burak
    University of Oulu, FIN.
    Scanniello, Giuseppe
    University of Basilicata, ITA.
    Romano, Simone
    University of Bari, ITA.
    Karac, Itir
    University of Oulu, FIN.
    Kuhrmann, Marco
    University of Passau, DEU.
    Mandić, Vladimir
    University of Novi Sad, SRB.
    Ramač, Robert
    University of Novi Sad, SRB.
    Pfahl, Dietmar
    University of Tartu, EST.
    Engblom, Christian
    Ericsson, FIN.
    Kyykka, Jarno
    Ericsson, FIN.
    Rungi, Kerli
    Testlio, Tartu, EST.
    Palomeque, Carolina
    ETAPA, ECU.
    Spisak, Jaroslav
    Paf, FIN.
    Oivo, Markku
    University of Oulu, FIN.
    Juristo, Natalia
    Universidad Politécnica de Madrid, ESP.
    A family of experiments on test-driven development2021In: Empirical Software Engineering, ISSN 1382-3256, E-ISSN 1573-7616, Vol. 26, no 3, article id 42Article in journal (Refereed)
    Abstract [en]

    Context:: Test-driven development (TDD) is an agile software development approach that has been widely claimed to improve software quality. However, the extent to which TDD improves quality appears to be largely dependent upon the characteristics of the study in which it is evaluated (e.g., the research method, participant type, programming environment, etc.). The particularities of each study make the aggregation of results untenable. Objectives:: The goal of this paper is to: increase the accuracy and generalizability of the results achieved in isolated experiments on TDD, provide joint conclusions on the performance of TDD across different industrial and academic settings, and assess the extent to which the characteristics of the experiments affect the quality-related performance of TDD. Method:: We conduct a family of 12 experiments on TDD in academia and industry. We aggregate their results by means of meta-analysis. We perform exploratory analyses to identify variables impacting the quality-related performance of TDD. Results:: TDD novices achieve a slightly higher code quality with iterative test-last development (i.e., ITL, the reverse approach of TDD) than with TDD. The task being developed largely determines quality. The programming environment, the order in which TDD and ITL are applied, or the learning effects from one development approach to another do not appear to affect quality. The quality-related performance of professionals using TDD drops more than for students. We hypothesize that this may be due to their being more resistant to change and potentially less motivated than students. Conclusion:: Previous studies seem to provide conflicting results on TDD performance (i.e., positive vs. negative, respectively). We hypothesize that these conflicting results may be due to different study durations, experiment participants being unfamiliar with the TDD process, or case studies comparing the performance achieved by TDD vs. the control approach (e.g., the waterfall model), each applied to develop a different system. Further experiments with TDD experts are needed to validate these hypotheses. © 2021, The Author(s), under exclusive licence to Springer Science+Business Media, LLC part of Springer Nature.

  • 30.
    Santos, Fabio
    et al.
    Northern Arizona Unversity, United States.
    Vargovich, Joseph
    Northern Arizona Unversity, United States.
    Trinkenreich, Bianca
    Northern Arizona Unversity, United States.
    Santos, Italo
    Northern Arizona Unversity, United States.
    Penney, Jacob
    Northern Arizona Unversity, United States.
    Britto, Ricardo
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Pimentel, João Felipe
    Northern Arizona Unversity, United States.
    Wiese, Igor
    Universidade Tecnológica Federal do Paraná, Brazil.
    Steinmacher, Igor
    Northern Arizona Unversity, United States.
    Sarma, Anita
    Oregon State University, United States.
    Gerosa, Marco A.
    Northern Arizona Unversity, United States.
    Tag that issue: applying API-domain labels in issue tracking systems2023In: Empirical Software Engineering, ISSN 1382-3256, E-ISSN 1573-7616, Vol. 28, no 5, article id 116Article in journal (Refereed)
    Abstract [en]

    Labeling issues with the skills required to complete them can help contributors to choose tasks in Open Source Software projects. However, manually labeling issues is time-consuming and error-prone, and current automated approaches are mostly limited to classifying issues as bugs/non-bugs. We investigate the feasibility and relevance of automatically labeling issues with what we call “API-domains,” which are high-level categories of APIs. Therefore, we posit that the APIs used in the source code affected by an issue can be a proxy for the type of skills (e.g., DB, security, UI) needed to work on the issue. We ran a user study (n=74) to assess API-domain labels’ relevancy to potential contributors, leveraged the issues’ descriptions and the project history to build prediction models, and validated the predictions with contributors (n=20) of the projects. Our results show that (i) newcomers to the project consider API-domain labels useful in choosing tasks, (ii) labels can be predicted with a precision of 84% and a recall of 78.6% on average, (iii) the results of the predictions reached up to 71.3% in precision and 52.5% in recall when training with a project and testing in another (transfer learning), and (iv) project contributors consider most of the predictions helpful in identifying needed skills. These findings suggest our approach can be applied in practice to automatically label issues, assisting developers in finding tasks that better match their skills. © 2023, The Author(s), under exclusive licence to Springer Science+Business Media, LLC, part of Springer Nature.

  • 31. Svahnberg, Mikael
    et al.
    Wohlin, Claes
    An Investigation of a Method for Identifying a Software Architecture Candidate with respect to Quality Attributes2005In: Empirical Software Engineering, ISSN 1382-3256, E-ISSN 1573-7616, Vol. 10, no 2, p. 149-81Article in journal (Refereed)
    Abstract [en]

    To sustain the qualities of a software system during evolution, and to adapt the quality attributes as the requirements evolve, it is necessary to have a clear software architecture that is understood by all developers and to which all changes to the system adheres. This software architecture can be created beforehand, but must also be updated to reflect changes in the domain, and hence the requirements of the software. The choice of which software architecture to use is typically based on informal decisions. There exist, to the best of our knowledge, little factual knowledge of which quality attributes are supported or obstructed by different architecture approaches. In this paper, we present an empirical study of a method that enables quantification of the perceived support different software architectures give for different quality attributes. This in turn enables an informed decision of which architecture candidate best fit the mixture of quality attributes required by a system being designed

    Download full text (pdf)
    FULLTEXT01
  • 32. Thelin, Thomas
    et al.
    Runeson, Per
    Wohlin, Claes
    Ohlsson, Thomas
    Andersson, Carina
    Evaluation of Usage-Based Reading: Conclusions after Three Experiments2004In: Empirical Software Engineering, ISSN 1382-3256, E-ISSN 1573-7616, Vol. 9, no 1, p. 97-110Article in journal (Refereed)
    Abstract [en]

    Software inspections have been introduced in software engineering in order to detect faults before testing is performed. Reading techniques provide reviewers in software inspections with guidelines on how they should check the documents under inspection. Several reading techniques with different purposes have been introduced and empirically evaluated. In this paper, we describe a reading technique with the special aim to detect faults that are severe from a user’s point of view. The reading technique is named usage-based reading (UBR) and it can be used to inspect all software artefacts. In the series of experiments, a high-level design document is used. The main focus of the paper is on the third experiments, which investigates the information needed for UBR in the individual preparation and the meeting of software inspections. Hence, the paper discusses (1) the series of three experiments of UBR, (2) the individual preparation of the third experiment, and (3) the meeting part of the third experiment. For each of these three parts, results are produced. The main results are (1) UBR is an efficient and effective reading technique that can be used for user-focused software inspections, (2) UBR is more efficient and effective if the information used for UBR is developed prior to, instead of during the individual preparation, and (3) the meeting affects the UBR inspection in terms of increased effectiveness and decreased efficiency. In summary, the empirical evidence shows that UBR is an efficient and effective reading technique to be used by software organizations that produce software for which the user perceived quality is important.

  • 33.
    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: 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.

  • 34. Wohlin, Claes
    Are Individual Differences in Software Development Performance Possible to Capture Using a Quantitative Survey?2004In: Empirical Software Engineering, ISSN 1382-3256, E-ISSN 1573-7616, Vol. 9, no 3, p. 211-228Article in journal (Refereed)
  • 35. Wohlin, Claes
    et al.
    Andrews, Anneliese Amschler
    Prioritizing and Assessing Software Project Success Factors and Project Characteristics using Subjective Data2003In: Empirical Software Engineering, ISSN 1382-3256, E-ISSN 1573-7616, Vol. 8, no 3, p. 285-308Article in journal (Refereed)
  • 36.
    Wohlin, Claes
    et al.
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Aurum, Aybueke
    Towards a decision-making structure for selecting a research design in empirical software engineering2015In: Empirical Software Engineering, ISSN 1382-3256, E-ISSN 1573-7616, Vol. 20, no 6, p. 1427-1455Article in journal (Refereed)
    Abstract [en]

    Several factors make empirical research in software engineering particularly challenging as it requires studying not only technology but its stakeholders' activities while drawing concepts and theories from social science. Researchers, in general, agree that selecting a research design in empirical software engineering research is challenging, because the implications of using individual research methods are not well recorded. The main objective of this article is to make researchers aware and support them in their research design, by providing a foundation of knowledge about empirical software engineering research decisions, in order to ensure that researchers make well-founded and informed decisions about their research designs. This article provides a decision-making structure containing a number of decision points, each one of them representing a specific aspect on empirical software engineering research. The article provides an introduction to each decision point and its constituents, as well as to the relationships between the different parts in the decision-making structure. The intention is the structure should act as a starting point for the research design before going into the details of the research design chosen. The article provides an in-depth discussion of decision points in relation to the research design when conducting empirical research.

  • 37.
    Yu, Liang
    et al.
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Alégroth, Emil
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Chatzipetrou, Panagiota
    Örebro University School of Business.
    Gorschek, Tony
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Automated NFR testing in continuous integration environments: a multi-case study of Nordic companies2023In: Empirical Software Engineering, ISSN 1382-3256, E-ISSN 1573-7616, Vol. 28, no 6, article id 144Article in journal (Refereed)
    Abstract [en]

    Context: Non-functional requirements (NFRs) (also referred to as system qualities) are essential for developing high-quality software. Notwithstanding its importance, NFR testing remains challenging, especially in terms of automation. Compared to manual verification, automated testing shows the potential to improve the efficiency and effectiveness of quality assurance, especially in the context of Continuous Integration (CI). However, studies on how companies manage automated NFR testing through CI are limited. Objective: This study examines how automated NFR testing can be enabled and supported using CI environments in software development companies. Method: We performed a multi-case study at four companies by conducting 22 semi-structured interviews with industrial practitioners. Results: Maintainability, reliability, performance, security and scalability, were found to be evaluated with automated tests in CI environments. Testing practices, quality metrics, and challenges for measuring NFRs were reported. Conclusions: This study presents an empirically derived model that shows how data produced by CI environments can be used for evaluation and monitoring of implemented NFR quality. Additionally, the manuscript presents explicit metrics, CI components, tools, and challenges that shall be considered while performing NFR testing in practice. © 2023, The Author(s).

    Download full text (pdf)
    fulltext
1 - 37 of 37
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