26 research outputs found
Generative Artificial Intelligence for Software Engineering -- A Research Agenda
Generative Artificial Intelligence (GenAI) tools have become increasingly
prevalent in software development, offering assistance to various managerial
and technical project activities. Notable examples of these tools include
OpenAIs ChatGPT, GitHub Copilot, and Amazon CodeWhisperer. Although many recent
publications have explored and evaluated the application of GenAI, a
comprehensive understanding of the current development, applications,
limitations, and open challenges remains unclear to many. Particularly, we do
not have an overall picture of the current state of GenAI technology in
practical software engineering usage scenarios. We conducted a literature
review and focus groups for a duration of five months to develop a research
agenda on GenAI for Software Engineering. We identified 78 open Research
Questions (RQs) in 11 areas of Software Engineering. Our results show that it
is possible to explore the adoption of GenAI in partial automation and support
decision-making in all software development activities. While the current
literature is skewed toward software implementation, quality assurance and
software maintenance, other areas, such as requirements engineering, software
design, and software engineering education, would need further research
attention. Common considerations when implementing GenAI include industry-level
assessment, dependability and accuracy, data accessibility, transparency, and
sustainability aspects associated with the technology. GenAI is bringing
significant changes to the field of software engineering. Nevertheless, the
state of research on the topic still remains immature. We believe that this
research agenda holds significance and practical value for informing both
researchers and practitioners about current applications and guiding future
research
DevOps impact on Software Testing Life Cycle
DevOps is a software development practice where the focus is on automating repetitive processes [1]. It has brought a change in the way organizations develop and deliver software products. The main purpose of this paper is to investigate the impact of DevOps on the Software Testing Life Cycle (STLC). There is a lot of ambiguity and confusion as to what is DevOps and how it is practiced and implemented and what change it has brought to the software development and the testing process. In this paper, I have investigated how DevOps has benefited the testing process through automated execution of unit, integration, and workflow tests in the build pipeline. This was achieved through a literature review of studies on test automation and with the help of a case study which is used to list the qualitative benefits of Continuous Testing. The results of the case study show that DevOps has qualitatively benefited the software testing process and has shifted the testing process to earlier phases of the software development cycle
Scrum Framework Implementation for Building an Application of Monitoring and Booking E-Bus Based on QRCode
ABSTRACTThe increasing public interest in using the public transportation will reduce the volume of vehicles operating on the streets. The derivative of the description above is how to make people prefer to use bus transportation instead of using private vehicles in traveling within the city. Currently, there is 192.5 million smartphone’s user, in the other hand, the Indonesia government also supported the public transportation such as electrical bus. In November 2022, at KTT G20 Bali, INKA (Indonesia State-Owned Enterprise) and an academic institution consortium released 30 units of electrical buses. From that problem and opportunity, this research aims to propose an application that provides comprehensive information on public transportation, especially inner-city buses. So that, the user could easily track and book the bus. The proposed application is a real-time web-based application aimed at the public as users. This application is accessed using electronic devices such as cell phones, tablets, laptops, and computers. In this research we also proposed conceptual and scrum method for further implementation. We used the Scrum method to build the proposed application, the roles of the scrum team are one product owner, one scrum master, two development teams (UI/UX and developer), and 2 sprints. Implementing the Scrum method in the development process could help organize and increase team productivity. The result of this research is the prototype of a Monitoring and Booking e-Bus Based on a QR Code. In future research we would like to implement this concept and survey the user experience with PIECES framework to get the user comfort in using the proposed application
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
An agile information flow consolidator for delivery of quality software projects: technological perspective from a South African start-up
In today’s knowledge-based economy, modern organisations understand the importance of technology in their quest to be considered global leaders. South African markets like others worldwide are regularly flooded with the latest technology trends which can complicate the acquisition, use, management and maintenance of software. To achieve a competitive edge, companies tend to leverage agile methods with the best possible combination of innovative supporting tools as a key differentiator. Software technology firms are in this light faced with determining how to leverage technology and efficient development processes for them to consistently deliver quality software projects and solutions to their customer base.
Previous studies have discussed the importance of software development processes from a project management perspective. African academia has immensely contributed in terms of software development and project management research which has focused on modern frameworks, methodologies as well as project management techniques. While the current research continues with this tradition by presenting the pertinence of modern agile methodologies, it additionally further describes modern agile development processes tailored in a sub-Saharan context. The study also aims novelty by showing how innovative sometimes disruptive technology tools can contribute to producing African software solutions to African problems. To this end, the thesis contains an experimental case study where a web portal is prototyped to assist firms with the management of agile project management and engineering related activities.
Literature review, semi-structure interviews as well as direct observations from the industry use case are used as data sources. Underpinned by an Activity Theory analytical framework, the qualitative data is analysed by leveraging content and thematic oriented techniques.
This study aims to contribute to software engineering as well as the information systems body of knowledge in general. The research hence ambitions to propose a practical framework to promote the delivery of quality software projects and products.
For this thesis, such a framework was designed around an information system which helps organizations better manage agile project management and engineering related activities.Information SciencePh. D. (Information Systems
Desarrollo guiado por comportamiento: buenas prácticas para la calidad de software
Asegurar la calidad y funcionalidad de un producto de software es garantizar su correcta estructura, composición, ejecución e integridad, pero en algunos casos estas características se ven afectadas. El objetivo de la revisión fue identificar buenas prácticas al usar el desarrollo guiado por comportamientos. Para su desarrollo, se indagó en artículos de investigación categorizados en revistas indexadas en bases de datos como IEEE, ScienceDirect, Scielo, Scopus y Redalyc elaboradas entre los años 2016 y 2020. El análisis y revisión permitió identificar buenas prácticas, como el uso de los escenarios solo para pruebas de funcionalidad, organizar las características en carpetas de acuerdo a los escenarios del sistema, contextualizar el funcionamiento al mismo idioma de los clientes para facilitar la comunicación, el uso de etiquetas para agrupar escenarios, organizar características según necesidades y generar escenarios sin dependencia. Se concluyó que estas buenas prácticas permiten una correcta comunicación, diseño estructurado del software, calidad funcional de cada componente de código y sobre todo un producto eficiente con riesgo mínimo de pérdida de recursos y alto margen de éxito.TARAPOTOEscuela Profesional de Ingeniería de SistemasDesarrollo de Softwar
Recommended from our members
Understanding Software Development and Testing Practices
A bad software development process leads to wasted effort and inferior products. In order to improve a software process, it must be first understood. In this work I focus on understanding software processes.
The first process we seek to understand is Continuous Integration (CI). CI systems automate the compilation, building, and testing of software. Despite CI rising as a big success story in automated software engineering, it has received almost no attention from the research community. For example, how widely is CI used in practice, and what are some costs and benefits associated with CI? Without answering such questions, developers, tool builders, and researchers make decisions based on folklore instead of data.
We use three complementary methods to study the usage of CI in open-source projects. To understand which CI systems developers use, we analyzed 34,544 open-source projects from GitHub. To understand how developers use CI, we analyzed 1,529,291 builds from the most commonly used CI system. To understand why projects use or do not use CI, we surveyed 442 developers. With this data, we answered several key questions related to the usage, costs, and benefits of CI. Among our results, we show evidence that supports the claim that CI helps projects release more often, that CI is widely adopted by the most popular projects, as well as finding that the overall percentage of projects using CI continues to grow, making it important and timely to focus more research on CI.
Furthermore, we present a qualitative study of the barriers and needs developers face when using CI. In this paper, we conduct 16 semi-structured interviews with developers from different industries and development scales. We triangulate our findings by running two surveys. The Focused Survey samples 51 developers at a single company. The Broad Survey samples a population of 523 developers from all over the world. We identify trade-offs developers face when using and implementing CI. Developers face trade-offs between speed and certainty (Assurance), between better access and information security (Security), and between more configuration options and better ease of use (Flexibility). We present implications of these trade-offs for developers, tool builders, and researchers.
Additionally, we seek to use code and test changes to understand conformance to the Test Driven Development (TDD) process. We designed and implemented TDDViz, a tool that supports developers in better understanding how they conform to TDD. TDDViz supports this understanding by providing novel visualizations of developers’ TDD process. To enable TDDViz’s visualizations, we developed a novel automatic inferencer that identifies the phases that make up the TDD process solely based on code and test changes.
We evaluate TDDViz using two complementary methods: a controlled experiment with 35 participants to evaluate the visualization, and a case study with 2601 TDD Sessions to evaluate the inference algorithm. The controlled experiment shows that, in comparison to existing visualizations, participants performed significantly better when using TDDViz to answer questions about code evolution. In addition, the case study shows that the inferencing algorithm in TDDViz infers TDD phases with an accuracy (F-measure) of 87%
Valuing diversity and establishing an approach to supporting excluded groups
Minority students and minority employees in Higher Engineering Education experience inequality. For academic staff these inequalities impact their personal development and career progression. To continue to grow and for engineering education to thrive as a professional discipline we must encourage diversity within both the student and staff populations. This paper cautions against a simple notion of diversity, rather a truly diverse culture within engineering is
needed, one in which there is diversity of opportunity, diversity of thought and diversity of experience. To enable a more inclusive environment to flourish we must understand the scale of the inequalities which exist. However, this paper demonstrates that there are significant limitations to the current diversity data within the UK which leaves room for under-reporting and over-generalising. In addition, there are cultural challenges which give further likelihood to
non-disclosure and lack of self-reporting.
This paper proposes that further research is needed into the true lack of diversity within engineering and describes one example of a ‘thought experiment’ conducted by the researchers to start unpacking the data and highlighting the scale of the issue
Mitigating IT Security Risk in United States Healthcare: A Qualitative Examination of Best Practices
AbstractCyberattacks are ranked as third in the top 10 highest global threats in terms of likelihood, ranked after extreme weather events and natural disasters. Traditional technology risk management plans for preventative, detective, and recovery measures have failed to mitigate cybersecurity risks created by new technologies. The social problem addressed was the impact of cybercrime to the healthcare industry. The purpose of this qualitative classical Delphi study was to determine how a panel of 25 healthcare cybersecurity experts, based in the United States, viewed the desirability, feasibility, and importance of information technology (IT) cybersecurity risk mitigation techniques. The conceptual framework selected for this qualitative study was the experiential learning theory. The basis of this theory was that we create knowledge via the transformation of our experiences. The literature provided proposed strategies to mitigate cybersecurity risk but was lacking in agreement on which methods are the most desirable, feasible, and important in reducing the risk of cyberattacks. Data were collected and analyzed during three rounds of iterative surveys to identify mitigation strategies based on the survey responses from chief information security officer cybersecurity experts. The top three strategies identified were establishing a cybersecurity program, implementing strong passwords and multifactor authentication, and cybersecurity hygiene. With this new knowledge, the healthcare industry cybersecurity professionals can better protect patient data enabling underserved communities to access healthcare in secure ways
Developing supply chain methodologies for small to medium sized enterprises
SIGLEAvailable from British Library Document Supply Centre-DSC:DXN044646 / BLDSC - British Library Document Supply CentreGBUnited Kingdo