The term and label, “case study”, is not used consistently by authors of primary studies in software engineering research. It is not clear whether this problem also occurs for systematic literature studies (SLSs).
To investigate the extent to which SLSs in/correctly use the term and label, “case study”, when classifying primary studies.
We systematically collect two sub-samples (2010–2021 & 2022) comprising a total of eleven SLSs and 79 primary studies. We examine the designs of these SLSs, and then analyse whether the SLS authors and the primary-study authors correctly label the respective primary study as a “case study”.
76% of the 79 primary studies are misclassified by SLSs (with the two sub-samples having 60% and 81% misclassification, respectively). For 39% of the 79 studies, the SLSs propagate a mislabelling by the original authors, whilst for 37%, the SLSs introduce a new mislabel, thus making the problem worse. SLSs rarely present explicit definitions for “case study” and when they do, the definition is not consistent with established definitions.
SLSs are both propagating and exacerbating the problem of the mislabelling of primary studies as “case studies”, rather than – as we should expect of SLSs – correcting the labelling of primary studies, and thus improving the body of credible evidence. Propagating and exacerbating mislabelling undermines the credibility of evidence in terms of its quantity, quality and relevance to both practice and research.
Digital Twins (DTs) are used to augment physical entities by exploiting assorted computational approaches applied to the virtual twin counterpart. A DT is generally described as a physical entity, its virtual counterpart, and the data connections between them. Multi-Agent Systems (MAS) paradigm is alike DTs in many ways. Agents of MAS are entities operating and interacting in a specific environment, while exploring and collecting data to solve some tasks.
This paper presents the results of a systematic literature review (SLR) focused on the analysis of current proposals exploiting the synergies of DTs and MAS. This research aims to synthesize studies that focus on the use of MAS to support DTs development and MAS that exploit DTs, paving the way for future research.
A SLR methodology was used to conduct a detailed study analysis of 64 primary studies out of a total of 220 studies that were initially identified. This SLR analyses three research questions related to the synergies between MAS and DT.
The most relevant findings of this SLR and their implications for further research are the following: i) most of the analyzed proposals design digital shadows rather than DT; ii) they do not fully support the properties expected from a DT; iii) most of the MAS properties have not fully exploited for the development of DT; iv) ontologies are frequently used for specifying semantic models of the physical twin.
Based on the results of this SLR, our conclusions for the community are presented in a research agenda that highlights the need of innovative theoretical proposals and design frameworks that guide the development of DT. They should be defined exploiting the properties of MAS to unleash the full potential of DT. Finally, ontologies for machine learning models should be designed for its use in DT.
The increasing complexity of modern systems leads to an increasing amount of artifacts that are used along the model-based software and systems development lifecycle. This also includes model transformations, which serve for mapping models between representations, e.g., for verification and validation purposes.
Model repositories manage this variety of artifacts and promote reusability, but should also enable the bundling of compatible artifacts. Therefore, model transformations should be reused and arranged into transformation chains to support more complex transformation scenarios. The resulting transformation should correspond to the user’s interest in terms of quality criteria such as model coverage, transformation coverage, and number of transformation steps, thus assembling such chains becomes a multi-objective problem.
A novel multi-objective approach for exploring possible transformation chains residing in model repositories is presented. MOMoT, a model-driven optimization framework, is leveraged to explore the transformation space spanned by the repository. For demonstration, three differently populated repositories are considered.
We have extended MOMoT with an exhaustive, multi-objective search that explores the entire model transformation space defined by graph transformation rules, allowing all possible transformation chains to be considered as solution. Accordingly, the optimal solutions were identified in the demonstration cases with negligible computation time.
The approach assists modelers when there are multiple chains for transforming an input model to a specified output model to consider. Our evaluation shows that the approach elicits all legitimate transformation chains, thus enabling the modelers to consider trade-offs in view of multiple criteria selection.
Reducing the cost of maintenance tasks by fixing bugs automatically is the cornerstone of Automated Program Repair (APR). To do this, automated Fault Localization (FL) is essential. Two families of FL techniques are Spectrum-based Fault Localization (SBFL) and Information Retrieval Fault Localization (IRFL). In SBFL, the coverage information and execution results of test cases are utilized. Ochiai is one of the most effective and used SBFL strategies. In IRFL, the bug report information is utilized as well as the identifier names and comments in source code files. Latent Dirichlet Allocation (LDA) is a generative statistical model and one of the most popular topic modeling methods. However, LDA has been used at the method level of granularity as IRFL technique, whereas most existing APR tools are focused on the statement level.
This paper presents our approach that combines topic modeling and Ochiai to boost FL at the statement level.
We evaluate our approach considering five different projects in Defects4J benchmark. We report the performance of our approach in terms of hit@k and MRR. To study the impact on the results, we compare our approach against five baselines: two SBFL approaches (Ochiai and Dstar), two IRFL approaches (LDA and Blues), and one hybrid approach (SBIR). In addition, we compare the number of bugs that are found by our approach with the baselines.
Our approach significantly outperforms the baselines in all metrics. Especially, when hit@1, hit@3 and hit@5 are compared. Also, our approach locates more bugs than Ochiai and Blues.
The results of our approach indicate that the integration of topic modeling with Ochiai boosts FL. This uncovers the potential of topic modeling for FL at statement level, which is valuable for the APR community.
Model Driven Software Engineering (MDSE) and low-code/no-code software development tools promise to increase quality and productivity by modelling instead of coding software. One of the major advantages of modelling software is the increased possibility of involving diverse stakeholders since it removes the barrier of being IT experts to actively participate in software production processes. From an academic and industry point of view, the main question remains: What has been proposed to assist humans in software modelling tasks?
In this paper, we systematically elucidate the state of the art in assistants for software modelling and their use in MDSE and low-code/no-code tools.
We conducted a systematic mapping to review the state of the art and answer the following research questions: i) how is software modelling assisted? ii) what goals and limitations do existing modelling assistance proposals report? iii) which evaluation metrics and target users do existing modelling assistance proposals consider? For this purpose, we selected 58 proposals from 3.176 screened records and reviewed 17 MDSE and low-code/no-code tools from main market players published by the Gartner Magic Quadrant.
We clustered existing proposals regarding their modelling assistance strategies, goals, limitations, evaluation metrics, and target users, both in research and practice.
We found that both academic and industry proposals recognise the value of assisting software modelling. However, documentation about MDSE assistants’ limitations, evaluation metrics, and target users is scarce or non-existent. With the advent of artificial intelligence, we expect more assistants for MDSE and low-code/no-code software development will emerge, making imperative the need for well-founded frameworks for designing modelling assistants focused on addressing target users’ needs and advancing the state of the art.
Modern code review is a critical component in software development processes, as it ensures security, detects errors early and improves code quality. However, manual reviews can be time-consuming and unreliable. Automated code review can address these issues. Although deep-learning methods have been used to recommend code review comments, they are expensive to train and employ. Instead, information retrieval (IR)-based methods for automatic code review are showing promising results in efficiency, effectiveness, and flexibility.
Our main objective is to determine the optimal combination of the vectorization method and similarity to measure what gives the best results in an automatic code review, thereby improving the performance of IR-based methods.
Specifically, we investigate different vectorization methods (Word2Vec, Doc2Vec, Code2Vec, and Transformer) that differ from previous research (TF-IDF and Bag-of-Words), and similarity measures (Cosine, Euclidean, and Manhattan) to capture the semantic similarities between code texts. We evaluate the performance of these methods using standard metrics, such as Blue, Meteor, and Rouge-L, and include the run-time of the models in our results.
Our results demonstrate that the Transformer model outperforms the state-of-the-art method in all standard metrics and similarity measurements, achieving a 19.1% improvement in providing exact matches and a 6.2% improvement in recommending reviews closer to human reviews.
Our findings suggest that the Transformer model is a highly effective and efficient approach for recommending code review comments that closely resemble those written by humans, providing valuable insight for developing more efficient and effective automated code review systems.
Software development is a complex and human-intensive activity, where human factors can have a significant impact on productivity and quality of results. To address the complexity of software, domain modeling has gained much importance, mainly due to software methodologies such as Model-Driven Engineering and Domain-Driven Design. In particular, domain modeling is an essential task that allows developers to understand and effectively represent the problem domain. However, domain modeling productivity can be affected by several human factors, including developers' personality and self-efficacy.
The study aims to explore the influence of human factors, specifically developers' personality and self-efficacy, on domain modeling productivity in graphical and textual notations.
An empirical controlled study was conducted with 134 third-year computer science students from the University of Alicante, guided by the definition of a theoretical model based on previous studies. The participants were tasked with creating domain models in both graphical and textual notations. The order in which the notations were used was randomized, and the participants were given different system specifications to model. After modeling, 98 participants completed questionnaires assessing their personality, self-efficacy, and notation satisfaction. The design and evaluation of the experiment employed the Goal, Question, and Metrics framework. Data analysis was performed using a stepwise selection method to select the most appropriate regression model.
The study indicates that personality and self-efficacy have a significant impact on the performance of junior domain model developers. Specifically, it was discovered that while neuroticism had a negative impact on efficiency in both notations, developers' ability belief and use of graphical notation had a positive influence on effectiveness and efficiency in creating domain models.
These findings highlight the importance of considering human factors and notation choice in software development. Developers' personality and self-efficacy emerge as critical considerations for enhancing both productivity and quality in domain modeling.
Someone once told me that the best we can hope for as academics is to be a footnote in some as-yet-unwritten textbook. Guenther Ruhe’s footnote will surely be very large.
Research on human aspects within the field of software engineering (SE) has been steadily gaining prominence in recent years. These human aspects have a significant impact on SE due to the inherently interactive and collaborative nature of the discipline.
In this paper, we present a systematic literature review (SLR) on human aspects affecting developer-user interactions. The objective of this SLR is to plot the current landscape of primary studies by examining the human aspects that influence developer-user interactions, their implications, interrelationships, and how existing studies address these implications.
We conducted this SLR following the guidelines proposed by Kitchenham et al. We performed a comprehensive search in six digital databases, and an exhaustive backward and forward snowballing process. We selected 46 primary studies for data extraction.
We identified various human aspects affecting developer-user interactions in SE, assessed their interrelationships, identified their positive impacts and mitigation strategies for negative effects. We present specific recommendations derived from the identified research gaps.
Our findings suggest the importance of leveraging positive effects and addressing negative effects in developer-user interactions through the implementation of effective mitigation strategies. These insights may benefit software practitioners for effective user interactions, and the recommendations proposed by this SLR may aid the research community in further human aspects related studies.