71 research outputs found
Preliminary analysis of the effects of confirmation bias on software defect density
In cognitive psychology, confirmation bias is defined as the tendency of people to verify hypotheses rather than refuting them. During unit testing software developers should aim to fail their code. However, due to confirmation bias, most defects might be overlooked leading to an increase in software defect density. In this research, we empirically analyze the effect of confirmation bias of software developers on software defect density
Software Startups -- A Research Agenda
Software startup companies develop innovative, software-intensive products
within limited time frames and with few resources, searching for sustainable
and scalable business models. Software startups are quite distinct from
traditional mature software companies, but also from micro-, small-, and
medium-sized enterprises, introducing new challenges relevant for software
engineering research. This paper's research agenda focuses on software
engineering in startups, identifying, in particular, 70+ research questions in
the areas of supporting startup engineering activities, startup evolution
models and patterns, ecosystems and innovation hubs, human aspects in software
startups, applying startup concepts in non-startup environments, and
methodologies and theories for startup research. We connect and motivate this
research agenda with past studies in software startup research, while pointing
out possible future directions. While all authors of this research agenda have
their main background in Software Engineering or Computer Science, their
interest in software startups broadens the perspective to the challenges, but
also to the opportunities that emerge from multi-disciplinary research. Our
audience is therefore primarily software engineering researchers, even though
we aim at stimulating collaborations and research that crosses disciplinary
boundaries. We believe that with this research agenda we cover a wide spectrum
of the software startup industry current needs
GitDelver Enterprise Dataset (GDED):An Industrial Closed-source Dataset for Socio-Technical Research
Towards a hybrid testing process unifying exploratory testing and scripted testing
CONTEXT Given the current state of the art in research, practitioners are faced with the challenge of choosing scripted testing (ST) or exploratory testing (ET). OBJECTIVE This study aims at systematically incorporating strengths of ET and ST in a hybrid testing process to overcome the weaknesses of each. METHOD We utilized systematic review and practitioner interviews to identify strengths and weaknesses of ET and ST. Strengths of ET were mapped to weaknesses of ST and vice versa. Noblit and Hare's lines-ofargument method was used for data analysis. The results of the mapping were used as input to codesign a hybrid process with experienced practitioners. RESULTS We found a clear need to create a hybrid process as follows: (i) both ST and ET provide strengths and weaknesses, and these depend on some particular conditions, which prevents preference of one approach to another; and (ii) the mapping showed that it is possible to address the weaknesses in one process by the strengths of the other in a hybrid form. With the input from literature and industry experts, a flexible and iterative hybrid process was designed. CONCLUSIONS Practitioners can clearly benefit from using a hybrid process given the mapping of advantages and disadvantage
Do software models based on the UML aid in source-code comprehensibility? Aggregating evidence from 12 controlled experiments
In this paper, we present the results of long-term research conducted in order to study the contribution made by software models based on the Unified Modeling Language (UML) to the comprehensibility of Java source-code deprived of comments. We have conducted 12 controlled experiments in different experimental contexts and on different sites with participants with different levels of expertise (i.e., Bachelorâs, Masterâs, and PhD students and software practitioners from Italy and Spain). A total of 333 observations were obtained from these experiments. The UML models in our experiments were those produced in the analysis and design phases. The models produced in the analysis phase were created with the objective of abstracting the environment in which the software will work (i.e., the problem domain), while those produced in the design phase were created with the goal of abstracting implementation aspects of the software (i.e., the solution/application domain). Source-code comprehensibility was assessed with regard to correctness of understanding, time taken to accomplish the comprehension tasks, and efficiency as regards accomplishing those tasks. In order to study the global effect of UML models on source-code comprehensibility, we aggregated results from the individual experiments using a meta-analysis. We made every effort to account for the heterogeneity of our experiments when aggregating the results obtained from them. The overall results suggest that the use of UML models affects the comprehensibility of source-code, when it is deprived of comments. Indeed, models produced in the analysis phase might reduce source-code comprehensibility, while increasing the time taken to complete comprehension tasks. That is, browsing source code and this kind of models together negatively impacts on the time taken to complete comprehension tasks without having a positive effect on the comprehensibility of source code. One plausible justification for this is that the UML models produced in the analysis phase focus on the problem domain. That is, models produced in the analysis phase say nothing about source code and there should be no expectation that they would, in any way, be beneficial to comprehensibility. On the other hand, UML models produced in the design phase improve source-code comprehensibility. One possible justification for this result is that models produced in the design phase are more focused on implementation details. Therefore, although the participants had more material to read and browse, this additional effort was paid back in the form of an improved comprehension of source code
Information and Communication Technologies â Creating Oneness in Globally Distributed IT Project Teams
AbstractInformation and communication technologies (ICT) are indispensable to globally distributed projects. ICT enables communication among geographically dispersed project teams and positively impacts project team efficiency. Furthermore, information and communications media help to create and maintain trust within geographically distributed units. These factors are particularly significant for creating a bond between project team members and establishing a sense of team unity. Since communications tools and methods develop at a fast pace, the author attempts to investigate the current trend toward ICT in modern global IT projects and their impact on creating this feeling of oneness in geographically distributed projects. The contribution of this research to the field is twofold. First, it fills the gap in prior literature on the impact of ICT on the performance of globally distributed project teams and their unity. Secondly, it increases project practitionersâ awareness of the importance of striving for oneness in spite of the geographical distance that exists between project team members
UM MAPEAMENTO SISTEMATICO SOBRE CATĂLOGOS DE ANOMALIAS DE CĂDIGO UTILIZADOS EM ESTUDOS EMPIRICOS NA ENGENHARIA DE SOFTWARE.
Muitas ferramentas, processos, metodologias e afirmam melhorar ou avaliar a qualidade dos softwares. Entretanto hĂĄ muitos desafios a serem superados no desenvolvimento de software. Fowler (1999), Beck (2001), contribuĂram de forma significativa catalogando diversos problemas de cĂłdigo que foi denominado por eles como âmaus cheirosâ (Bad Smeel), alĂ©m disso eles catalogaram possĂveis soluçÔes para tratar cheiros de cĂłdigo
Empirical Standards for Software Engineering Research
Empirical Standards are natural-language models of a scientific community's
expectations for a specific kind of study (e.g. a questionnaire survey). The
ACM SIGSOFT Paper and Peer Review Quality Initiative generated empirical
standards for research methods commonly used in software engineering. These
living documents, which should be continuously revised to reflect evolving
consensus around research best practices, will improve research quality and
make peer review more effective, reliable, transparent and fair.Comment: For the complete standards, supplements and other resources, see
https://github.com/acmsigsoft/EmpiricalStandard
- âŠ