Loading [MathJax]/extensions/MathMenu.js
Jorge Melegati - IEEE Xplore Author Profile

Showing 1-17 of 17 results

Results

Uncertainty is present in software architecture decisions due to a lack of knowledge about the requirements and the solutions involved. However, this uncertainty is usually not made explicit, and decisions can be made based on unproven premises or false assumptions. This paper focuses on a technique called ArchHypo that uses hypotheses engineering to manage uncertainties related to software archit...Show More
In this paper, we present MADE-WIC, a large dataset of functions and their comments with multiple annotations for technical debt and code weaknesses leveraging different state-of-the-art approaches. It contains about 860K code functions and more than 2.7M related comments from 12 open-source projects. To the best of our knowledge, no such dataset is publicly available. MADE-WIC aims to provide res...Show More
Qualitative surveys are emerging as a popular research method in software engineering (SE), particularly as many aspects of the field are increasingly socio-technical and thus concerned with the subtle, social, and often ambiguous issues that are not amenable to a simple quantitative survey. While many argue that qualitative surveys play a vital role amongst the diverse range of methods employed i...Show More
In this study, we investigate what has been discussed about generative AI in the code review context by performing a gray literature review. We analyzed 42 documents and found insights from practice and proposals of solutions using generative AI models.Show More
Background. The emergence of tools based on artificial intelligence (AI) to support software development suggests an overhaul on how developers program and interact among themselves. This disruption might bring challenges regarding human and social aspects of the software development process. Objective. This paper is a first exploration of the consequences of AI-based tools for software developmen...Show More
This article presents the case of a start-up applying a technique named ArchHypo that uses hypotheses to express uncertainties related to the software architecture. Ten months after identifying the hypotheses, it was assessed how the usage of this technique impacted their decisions.Show More
The restrictions imposed by the COVID-19 pandemic required software development teams to adapt, being forced to work remotely and adjust the software engineering activities accordingly. In the studies evaluating these effects, a few have assessed the impact on software engineering activities from a broader perspective and after a period of time when teams had time to adjust to the changes. No stud...Show More
The amount of data collected from software use facilitated systematic inquiries about users' expectations and reactions to software systems. The most well-known practice for continuous experimentation is A/B tests, in which two or more versions of a feature are compared based on users' metrics when exposed to these options. The literature shows that A/B tests are spread in the industry, but compan...Show More
Software startups develop innovative, software-intensive product and services. This context leads to uncertainty regarding the software they are building. Experimentation, a process of testing hypotheses about the product, helps these companies to reduce uncertainty through different evidence-based approaches. The first step in experimentation is to identify the hypotheses to be tested. HyMap is a...Show More
Software startups develop innovative, software-intensive products or services. Such innovativeness translates into uncertainty regarding a matching need for a product from potential customers, representing a possible determinant reason for startup failure. Research has shown that experimentation, an approach based on the use of experiments to guide several aspects of software development, could im...Show More
Software engineering is a wide field with topics ranging from coding to organizational aspects. In the last two decades, researchers have developed a growing interest in the human and social aspects of software development. To investigate these phenomena, researchers have often employed methods common in social sciences such as case study and ethnography. These methods usually have specific underp...Show More
Business Model Canvas (BMC) is a tool widely used to describe startup business models. Despite the various business aspects described, BMC pays a little emphasis on team- related factors. The importance of team-related factors in software development has been acknowledged widely in literature. While not as extensively studied, the importance of teams in software startups is also known in both lite...Show More
The Lean Startup methodology disseminated the concept of MVP. Since then, the term has been used in several contexts aside startups with a blur definition. Practitioners name several artifacts as MVPs, such as prototypes or initial versions of a new product, rather than an instrument for experimentation. Given the importance of experimentation to the success rate of software startups, it is essent...Show More
Recent studies have proposed the use of experiments to guide software development in order to build features that the user really wants. Some authors argue that this approach represents a new way to develop software that is different from the traditional requirement-driven one. In this position paper, we propose the discipline of Hypotheses Engineering in comparison to Requirements Engineering, hi...Show More
Software engineering researchers and practitioners are increasingly more concerned about non-technical issues like user involvement and interaction as a way to improve software development process efficiency. This issue is also present in software engineering education. The IEEE/ACM software engineering guidelines highlights that an undergraduate course in this matter should have a real-world basi...Show More
Software startups face a very demanding market: they must deliver high innovative solutions in the shortest possible time. Resources are limited and time to reach market is short then it is extremely important to provide the right requirements. Nevertheless, software requirements are usually not clear and startups struggle to know what they should develop. This context affects how requirements eng...Show More