396,111 research outputs found
Software Engineering Knowledge Areas in Startup Companies: A Mapping Study
Background - Startup companies are becoming important suppliers of innovative
and software intensive products. The failure rate among startups is high due to
lack of resources, immaturity, multiple influences and dynamic technologies.
However, software product engineering is the core activity in startups,
therefore inadequacies in applied engineering practices might be a significant
contributing factor for high failure rates. Aim - This study identifies and
categorizes software engineering knowledge areas utilized in startups to map
out the state-of-art, identifying gaps for further research. Method - We
perform a systematic literature mapping study, applying snowball sampling to
identify relevant primary studies. Results - We have identified 54 practices
from 14 studies. Although 11 of 15 main knowledge areas from SWEBOK are
covered, a large part of categories is not. Conclusions - Existing research
does not provide reliable support for software engineering in any phase of a
startup life cycle. Transfer of results to other startups is difficult due to
low rigor in current studies.Comment: Proceedings 6th International Conference on Software Business (ICSOB
2015), Braga, Portugal, 245-25
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
Swarm intelligence-based model for improving prediction performance of low-expectation teams in educational software engineering projects
Software engineering is one of the most significant areas, which extensively used in
educational and industrial fields. Software engineering education plays an essential
role in keeping students up to date with software technologies, products, and processes
that are commonly applied in the software industry. The software development project
is one of the most important parts of the software engineering course, because it covers
the practical side of the course. This type of project helps strengthening students' skills
to collaborate in a team spirit to work on software projects. Software project involves the
composition of software product and process parts. Software product part represents
software deliverables at each phase of Software Development Life Cycle (SDLC)
while software process part captures team activities and behaviors during SDLC. The
low-expectation teams face challenges during different stages of software project.
Consequently, predicting performance of such teams is one of the most important
tasks for learning process in software engineering education. The early prediction of
performance for low-expectation teams would help instructors to address difficulties
and challenges related to such teams at earliest possible phases of software project
to avoid project failure. Several studies attempted to early predict the performance
for low-expectation teams at different phases of SDLC. This study introduces swarm
intelligence -based model which essentially aims to improve the prediction performance
for low-expectation teams at earliest possible phases of SDLC by implementing Particle
Swarm Optimization-K Nearest Neighbours (PSO-KNN), and it attempts to reduce the
number of selected software product and process features to reach higher accuracy with
identifying less than 40 relevant features. Experiments were conducted on the Software
Engineering Team Assessment and Prediction (SETAP) project dataset. The proposed
model was compared with the related studies and the state-of-the-art Machine Learning
(ML) classifiers: Sequential Minimal Optimization (SMO), Simple Linear Regression
(SLR), NaĂŻve Bayes (NB), Multilayer Perceptron (MLP), standard KNN, and J48. The
proposed model provides superior results compared to the traditional ML classifiers
and state-of-the-art studies in the investigated phases of software product and process
development
Exploring the benefits of combining DevOps and agile
The combined adoption of Agile and DevOps enables organizations to cope with the
increasing complexity of managing customer requirements and requests. It fosters the emergence
of a more collaborative and Agile framework to replace the waterfall models applied to software
development flow and the separation of development teams from operations. This study aims to
explore the benefits of the combined adoption of both models. A qualitative methodology is adopted
by including twelve case studies from international software engineering companies. Thematic
analysis is employed in identifying the benefits of the combined adoption of both paradigms. The
findings reveal the existence of twelve benefits, highlighting the automation of processes, improved
communication between teams, and reduction in time to market through process integration and
shorter software delivery cycles. Although they address different goals and challenges, the Agile and
DevOps paradigms when properly combined and aligned can offer relevant benefits to organizations.
The novelty of this study lies in the systematization of the benefits of the combined adoption of Agile
and DevOps considering multiple perspectives of the software engineering business environment.info:eu-repo/semantics/publishedVersio
An investigation into the notion of non-functional requirements
Although Non-Functional Requirements (NFRs) are recognized as very important contributors to the success of software projects, studies to date indicate that there is still no general consensus in the software engineering community regarding the notion of NFRs. This paper presents the result of an extensive and systematic analysis of the extant literature over three NFRs dimensions: (1) definition and terminology; (2) types; and (3) relevant NFRs in various types of systems and application domains. Two different perspectives to consider NFRs are described. A comprehensive catalogue of NFRs types as well as the top five NFRs that are frequently considered are presented. This paper also offers a novel classification of NFRs based on types of systems and application domains. This classification could assist software developers in identifying which NFRs are important in a particular application domain and for specific systems. © 2010 ACM
Opinion Mining for Software Development: A Systematic Literature Review
Opinion mining, sometimes referred to as sentiment analysis, has gained increasing attention in software engineering (SE) studies.
SE researchers have applied opinion mining techniques in various contexts, such as identifying developers’ emotions expressed in
code comments and extracting users’ critics toward mobile apps. Given the large amount of relevant studies available, it can take
considerable time for researchers and developers to figure out which approaches they can adopt in their own studies and what perils
these approaches entail.
We conducted a systematic literature review involving 185 papers. More specifically, we present 1) well-defined categories of opinion
mining-related software development activities, 2) available opinion mining approaches, whether they are evaluated when adopted in
other studies, and how their performance is compared, 3) available datasets for performance evaluation and tool customization, and 4)
concerns or limitations SE researchers might need to take into account when applying/customizing these opinion mining techniques.
The results of our study serve as references to choose suitable opinion mining tools for software development activities, and provide
critical insights for the further development of opinion mining techniques in the SE domain
Software Testing with Large Language Model: Survey, Landscape, and Vision
Pre-trained large language models (LLMs) have recently emerged as a
breakthrough technology in natural language processing and artificial
intelligence, with the ability to handle large-scale datasets and exhibit
remarkable performance across a wide range of tasks. Meanwhile, software
testing is a crucial undertaking that serves as a cornerstone for ensuring the
quality and reliability of software products. As the scope and complexity of
software systems continue to grow, the need for more effective software testing
techniques becomes increasingly urgent, and making it an area ripe for
innovative approaches such as the use of LLMs. This paper provides a
comprehensive review of the utilization of LLMs in software testing. It
analyzes 52 relevant studies that have used LLMs for software testing, from
both the software testing and LLMs perspectives. The paper presents a detailed
discussion of the software testing tasks for which LLMs are commonly used,
among which test case preparation and program repair are the most
representative ones. It also analyzes the commonly used LLMs, the types of
prompt engineering that are employed, as well as the accompanied techniques
with these LLMs. It also summarizes the key challenges and potential
opportunities in this direction. This work can serve as a roadmap for future
research in this area, highlighting potential avenues for exploration, and
identifying gaps in our current understanding of the use of LLMs in software
testing.Comment: 20 pages, 11 figure
Adaptive monitoring: A systematic mapping
Context:
Adaptive monitoring is a method used in a variety of domains for responding to changing conditions. It has been applied in different ways, from monitoring systems’ customization to re-composition, in different application domains. However, to the best of our knowledge, there are no studies analyzing how adaptive monitoring differs or resembles among the existing approaches.
Objective:
To characterize the current state of the art on adaptive monitoring, specifically to: (a) identify the main concepts in the adaptive monitoring topic; (b) determine the demographic characteristics of the studies published in this topic; (c) identify how adaptive monitoring is conducted and evaluated by the different approaches; (d) identify patterns in the approaches supporting adaptive monitoring.
Method:
We have conducted a systematic mapping study of adaptive monitoring approaches following recommended practices. We have applied automatic search and snowballing sampling on different sources and used rigorous selection criteria to retrieve the final set of papers. Moreover, we have used an existing qualitative analysis method for extracting relevant data from studies. Finally, we have applied data mining techniques for identifying patterns in the solutions.
Results:
We have evaluated 110 studies organized in 81 approaches that support adaptive monitoring. By analyzing them, we have: (1) surveyed related terms and definitions of adaptive monitoring and proposed a generic one; (2) visualized studies’ demographic data and arranged the studies into approaches; (3) characterized the main approaches’ contributions; (4) determined how approaches conduct the adaptation process and evaluate their solutions.
Conclusions
This cross-domain overview of the current state of the art on adaptive monitoring may be a solid and comprehensive baseline for researchers and practitioners in the field. Especially, it may help in identifying opportunities of research; for instance, the need of proposing generic and flexible software engineering solutions for supporting adaptive monitoring in a variety of systems.Peer ReviewedPostprint (author's final draft
- …