22 research outputs found
Leveraging Evolutionary Changes for Software Process Quality
Real-world software applications must constantly evolve to remain relevant.
This evolution occurs when developing new applications or adapting existing
ones to meet new requirements, make corrections, or incorporate future
functionality. Traditional methods of software quality control involve software
quality models and continuous code inspection tools. These measures focus on
directly assessing the quality of the software. However, there is a strong
correlation and causation between the quality of the development process and
the resulting software product. Therefore, improving the development process
indirectly improves the software product, too. To achieve this, effective
learning from past processes is necessary, often embraced through post mortem
organizational learning. While qualitative evaluation of large artifacts is
common, smaller quantitative changes captured by application lifecycle
management are often overlooked. In addition to software metrics, these smaller
changes can reveal complex phenomena related to project culture and management.
Leveraging these changes can help detect and address such complex issues.
Software evolution was previously measured by the size of changes, but the
lack of consensus on a reliable and versatile quantification method prevents
its use as a dependable metric. Different size classifications fail to reliably
describe the nature of evolution. While application lifecycle management data
is rich, identifying which artifacts can model detrimental managerial practices
remains uncertain. Approaches such as simulation modeling, discrete events
simulation, or Bayesian networks have only limited ability to exploit
continuous-time process models of such phenomena. Even worse, the accessibility
and mechanistic insight into such gray- or black-box models are typically very
low. To address these challenges, we suggest leveraging objectively [...]Comment: Ph.D. Thesis without appended papers, 102 page
Systematic mapping of software engineering management with an agile approach
El enfoque ágil ha generado una amplia variedad de estrategias para administrar con éxito
diversos proyectos de software en todo el mundo. Además, podemos asegurar que los
proyectos de software se han beneficiado de los métodos ágiles ya conocidos. En este
sentido, este artÃculo busca demostrar cómo se aplica el enfoque ágil en las áreas de la
gestión en la ingenierÃa del Software. Para ello, este estudio realiza un mapeo sistemático
para identificar las principales tendencias en la gestión de la ingenierÃa de software con
un enfoque ágil. Se han identificado un total de 1137 artÃculos, de los cuales 165 son
relevantes para los fines de este estudio, estos indican que la entrega temprana de valor,
un principio clave de la agilidad, sigue siendo la principal tendencia para el uso de
métodos ágiles. Sin embargo, también existen fuertes tendencias enfocadas en puntos
clave de la gestión en ingenierÃa de software, como optimizar la gestión de calidad,
optimizar la especificación de requisitos, optimizar la gestión de riesgos y mejorar la
comunicación y coordinación del equipo, estos resultados permitirán generar nuevas
lÃneas de investigación para cada punto clave de la gestión en la ingenierÃa del software
impactado por el enfoque ágil.The agile approach has generated a wide variety of strategies to successfully manage
various software projects worldwide. In addition, we can ensure that software projects
have benefited from the already known agile methods. In this sense, this article seeks to
demonstrate how the agile approach is applied in Software engineering management
areas. To do this, this study performs a systematic mapping to identify the main trends in
software engineering management with an agile approach. A total of 1137 articles have
identified, of which 165 are relevant for the purposes of this study, these indicate that
early value delivery, a key principle of agility, continues to be the main trend for the use
of agile methods. However, there are also strong trends focused on key points of
management in software engineering, such as optimize quality management, optimize
requirements specification, optimize risk management, and improve team communication
and coordination, these results will allow generating new lines of research for each key
point of management in software engineering impacted by the agile approach
Systematic mapping of software engineering management with an agile approach
El enfoque ágil ha generado una amplia variedad de estrategias para administrar con éxito
diversos proyectos de software en todo el mundo. Además, podemos asegurar que los
proyectos de software se han beneficiado de los métodos ágiles ya conocidos. En este
sentido, este artÃculo busca demostrar cómo se aplica el enfoque ágil en las áreas de la
gestión en la ingenierÃa del Software. Para ello, este estudio realiza un mapeo sistemático
para identificar las principales tendencias en la gestión de la ingenierÃa de software con
un enfoque ágil. Se han identificado un total de 1137 artÃculos, de los cuales 165 son
relevantes para los fines de este estudio, estos indican que la entrega temprana de valor,
un principio clave de la agilidad, sigue siendo la principal tendencia para el uso de
métodos ágiles. Sin embargo, también existen fuertes tendencias enfocadas en puntos
clave de la gestión en ingenierÃa de software, como optimizar la gestión de calidad,
optimizar la especificación de requisitos, optimizar la gestión de riesgos y mejorar la
comunicación y coordinación del equipo, estos resultados permitirán generar nuevas
lÃneas de investigación para cada punto clave de la gestión en la ingenierÃa del software
impactado por el enfoque ágil.The agile approach has generated a wide variety of strategies to successfully manage
various software projects worldwide. In addition, we can ensure that software projects
have benefited from the already known agile methods. In this sense, this article seeks to
demonstrate how the agile approach is applied in Software engineering management
areas. To do this, this study performs a systematic mapping to identify the main trends in
software engineering management with an agile approach. A total of 1137 articles have
identified, of which 165 are relevant for the purposes of this study, these indicate that
early value delivery, a key principle of agility, continues to be the main trend for the use
of agile methods. However, there are also strong trends focused on key points of
management in software engineering, such as optimize quality management, optimize
requirements specification, optimize risk management, and improve team communication
and coordination, these results will allow generating new lines of research for each key
point of management in software engineering impacted by the agile approach
Systematic mapping of software engineering management with an agile approach
El enfoque ágil ha generado una amplia variedad de estrategias para administrar con éxito
diversos proyectos de software en todo el mundo. Además, podemos asegurar que los
proyectos de software se han beneficiado de los métodos ágiles ya conocidos. En este
sentido, este artÃculo busca demostrar cómo se aplica el enfoque ágil en las áreas de la
gestión en la ingenierÃa del Software. Para ello, este estudio realiza un mapeo sistemático
para identificar las principales tendencias en la gestión de la ingenierÃa de software con
un enfoque ágil. Se han identificado un total de 1137 artÃculos, de los cuales 165 son
relevantes para los fines de este estudio, estos indican que la entrega temprana de valor,
un principio clave de la agilidad, sigue siendo la principal tendencia para el uso de
métodos ágiles. Sin embargo, también existen fuertes tendencias enfocadas en puntos
clave de la gestión en ingenierÃa de software, como optimizar la gestión de calidad,
optimizar la especificación de requisitos, optimizar la gestión de riesgos y mejorar la
comunicación y coordinación del equipo, estos resultados permitirán generar nuevas
lÃneas de investigación para cada punto clave de la gestión en la ingenierÃa del software
impactado por el enfoque ágil.The agile approach has generated a wide variety of strategies to successfully manage
various software projects worldwide. In addition, we can ensure that software projects
have benefited from the already known agile methods. In this sense, this article seeks to
demonstrate how the agile approach is applied in Software engineering management
areas. To do this, this study performs a systematic mapping to identify the main trends in
software engineering management with an agile approach. A total of 1137 articles have
identified, of which 165 are relevant for the purposes of this study, these indicate that
early value delivery, a key principle of agility, continues to be the main trend for the use
of agile methods. However, there are also strong trends focused on key points of
management in software engineering, such as optimize quality management, optimize
requirements specification, optimize risk management, and improve team communication
and coordination, these results will allow generating new lines of research for each key
point of management in software engineering impacted by the agile approach
Models versus Datasets: Reducing Bias through Building a Comprehensive IDS Benchmark
Today, deep learning approaches are widely used to build Intrusion Detection Systems for securing IoT environments. However, the models’ hidden and complex nature raises various concerns, such as trusting the model output and understanding why the model made certain decisions. Researchers generally publish their proposed model’s settings and performance results based on a specific dataset and a classification model but do not report the proposed model’s output and findings. Similarly, many researchers suggest an IDS solution by focusing only on a single benchmark dataset and classifier. Such solutions are prone to generating inaccurate and biased results. This paper overcomes these limitations in previous work by analyzing various benchmark datasets and various individual and hybrid deep learning classifiers towards finding the best IDS solution for IoT that is efficient, lightweight, and comprehensive in detecting network anomalies. We also showed the model’s localized predictions and analyzed the top contributing features impacting the global performance of deep learning models. This paper aims to extract the aggregate knowledge from various datasets and classifiers and analyze the commonalities to avoid any possible bias in results and increase the trust and transparency of deep learning models. We believe this paper’s findings will help future researchers build a comprehensive IDS based on well-performing classifiers and utilize the aggregated knowledge and the minimum set of significantly contributing features
SW-VHDL Co-Verification Environment Using Open Source Tools
The verification of complex digital designs often involves the use of expensive simulators.
The present paper proposes an approach to verify a specific family of complex hardware/software
systems, whose hardware part, running on an FPGA, communicates with a software counterpart
executed on an external processor, such as a user/operator software running on an external PC.
The hardware is described in VHDL and the software may be described in any computer language
that can be interpreted or compiled into a (Linux) executable file. The presented approach uses open
source tools, avoiding expensive license costs and usage restrictions.Unión Europea 68722
Digital twins: definition, application options in the product life cycle and marketing
Germany is in the digital transformation process of the economy and society. Digital transformation influences not only production and marketing, but also the consumption and use of goods. The development and use of digital twins accelerate the digital transformation process and increase the competitiveness of the German economy. So far, the focus of research has been on the use of digital twins in the production of industrial goods. This article analyzes the use of digital twins in consumer goods marketing. For this purpose, the concept of digital twins is explained, and its use is presented over the entire life cycle of durable consumer goods. Subsequently, the possibilities of use of the digital twin in marketing will be presented and an outlook on further research fields will be given
Underpinning Quality Assurance: Identifying Core Testing Strategies for Multiple Layers of Internet-of-Things-Based Applications
The Internet of Things (IoT) constitutes a digitally integrated network of intelligent devices equipped with sensors, software, and communication capabilities, facilitating data exchange among a multitude of digital systems via the Internet. Despite its pivotal role in the software development life-cycle (SDLC) for ensuring software quality in terms of both functional and non-functional aspects, testing within this intricate software–hardware ecosystem has been somewhat overlooked. To address this, various testing techniques are applied for real-time minimization of failure rates in IoT applications. However, the execution of a comprehensive test suite for specific IoT software remains a complex undertaking. This paper proposes a holistic framework aimed at aiding quality assurance engineers in delineating essential testing methods across different testing levels within the IoT. This delineation is crucial for effective quality assurance, ultimately reducing failure rates in real-time scenarios. Furthermore, the paper offers a mapping of these identified tests to each layer within the layered framework of the IoT. This comprehensive approach seeks to enhance the reliability and performance of IoT-based applications
Do practitioners intentionally repay their own Technical Debt and why?
The impact of Technical Debt (TD) on software maintenance and evolution is of great concern, but recent evidence shows that a considerable amount of TD is fixed by the same developers who introduced it; this is termed self-fixed TD. This characteristic of TD management can potentially impact team dynamics and practices in managing TD. However, the initial evidence is based on low-level source code analysis; this casts some doubt whether practitioners repay their own debt intentionally and under what circumstances. To address this gap, we conducted an online survey on 17 well-known Java and Python open-source software communities to investigate practitioners’ intent and rationale for self-fixing technical debt. We also investigate the relationship between human-related factors (e.g., experience) and self-fixing. The results, derived from the responses of 181 participants, show that a majority addresses their own debt consciously and often. Moreover, those with a higher level of involvement (e.g., more experience in the project and number of contributions) tend to be more concerned about self-fixing TD. We also learned that the sense of responsibility is a common self-fixing driver and that decisions to fix TD are not superficial but consider balancing costs and benefits, among other factors. The findings in this paper can lead to improving TD prevention and management strategies