We provide an overview of the softwareengineering efforts and their impact in QMCPACK, a production-level ab-initio Quantum Monte Carlo open-source code targeting high-performance computing (HPC) systems. Aspects inc...
详细信息
We provide an overview of the softwareengineering efforts and their impact in QMCPACK, a production-level ab-initio Quantum Monte Carlo open-source code targeting high-performance computing (HPC) systems. Aspects included are: (i) strategic expansion of continuous integration (CI) targeting CPUs, using GitHub Actions own runners, and NVIDIA and AMD GPUs used in pre-exascale systems, (ii) incremental reduction of memory leaks using sanitizers, (iii) incorporation of Docker containers for CI and reproducibility, and (iv) refactoring efforts to improve maintainability, testing coverage, and memory lifetime management. We quantify the value of these improvements by providing metrics to illustrate the shift towards a predictive, rather than reactive, maintenance approach. Our goal, in documenting the impact of these efforts on QMCPACK, is to contribute to the body of knowledge on the importance of research softwareengineering (RSE) for the stewardship and advancement of community HPC codes to enable scientific discovery at scale.
The field of aerospace control software has accumulated a large amount of reusable software assets in the long-term software development process. Developers have a demand to learn and retrieve code related knowledge f...
详细信息
Human-Machine Pair Programming (HMPP) is a promising technique in the software development process, which means that software construction can be done in the manner that humans are responsible for developing the progr...
详细信息
Human-Machine Pair Programming (HMPP) is a promising technique in the software development process, which means that software construction can be done in the manner that humans are responsible for developing the program while computer is responsible for monitoring the program in real-time and reporting errors. The Java runtime exceptions in the current version of the software under construction can only be effectively detected by means of its execution. Traditional software testing techniques are suitable for testing completed programs but face a challenge in building a suitable testing environment for testing the partial programs produced during HMPP. In this paper, we put forward a novel technique, called Program Segment Testing (PST) for automatically identifying errors caused by runtime exceptions to support HMPP. We first introduce the relevant involved in this technique to detect index out of bounds exceptions, a representative of runtime exceptions. Then we discuss the methodology of this technique in detail and illustrate its workflow with a simple case study. Finally, we carry out an experiment to evaluate this technique and compare it with three existing fault detection techniques using several programs to demonstrate its effectiveness.
Large Language Models (LLMs) are finding their way into softwareengineering by assisting with tasks such as code generation. Furthermore, LLMs might have a potential to perform even more complex tasks, such as sugges...
详细信息
ISBN:
(纸本)9798350366266;9798350366259
Large Language Models (LLMs) are finding their way into softwareengineering by assisting with tasks such as code generation. Furthermore, LLMs might have a potential to perform even more complex tasks, such as suggesting architectural design. However, there is a lack of empirical surveys on how softwareengineering companies use (and plan to use) LLMs and if LLMs truly can provide benefits to software architects. To understand the state of practice considering adoption of LLMs in softwareengineering, existing challenges, and future trends, we have surveyed 15 different softwareengineering companies. To understand the ability of LLMs to perform more complex tasks, we report on our experiments with LLM-assisted architectural design. We applied ChatGPT on 5 software projects and in total performed 50 different experiments. Our results capture the state of the practice of LLMs in softwareengineering and demonstrate how LLMs perform when assisting with (more complex task such as) architectural design. Engineers, architects, and project managers should profit from these results to guide their decision towards targeted adoption of LLMs in their business and engineering domains.
Project-based softwareengineering courses often incorporate industry practices, e.g., the "Daily Scrum" (i.e., daily stand-ups). While the main purpose of the Daily Scrum is to discuss progress and blockers...
详细信息
ISBN:
(纸本)9798350378986;9798350378979
Project-based softwareengineering courses often incorporate industry practices, e.g., the "Daily Scrum" (i.e., daily stand-ups). While the main purpose of the Daily Scrum is to discuss progress and blockers, we can also utilize them as an educational tool to facilitate student engagement and reflection since reflection is a crucial aspect of experience-based learning. This paper seeks to enhance reflective practices in softwareengineering project courses through a pre-meeting check-in addon to the Daily Scrum. We also aim to assess if this increases self-reflection and consequently impacts student engagement and performance. To this end, we adapted the Daily Scrum in a softwareengineering project course with a pre-meeting semi-guided self-reflection on a student's work. This was supported by a bespoke online tool. Effects of the reflection were analyzed from the student perspective using surveys, application usage data, formal assessment data, and observations from teaching staff. From our experiences, we observed the pre-meeting checkin was beneficial in enhancing student self-reflectivity. Quantitative data, supported by qualitative evidence from student feedback, also suggested positive effects on student engagement and performance. Students who used pre-meeting check-ins reported increased self-reflection and showed greater levels of improvement in assessed performance. Based on our experiences we recommend incorporating regular individual self-reflection sessions in softwareengineering project courses.
In recent years, the integration of AI tools such as ChatGPT into software development has grown significantly, reflecting broader trends in AI-assisted workflows [8]. These tools have great potential to improve decis...
详细信息
ISBN:
(数字)9798400712487
ISBN:
(纸本)9798400712487
In recent years, the integration of AI tools such as ChatGPT into software development has grown significantly, reflecting broader trends in AI-assisted workflows [8]. These tools have great potential to improve decision making related to software patches in pull requests (PR), which are vital components of collaborative software development. Specifically, developers are using features such as link sharing in ChatGPT to enhance collaborative practices, streamline code reviews, and make more informed patch integration decisions.
Nowadays cloud systems are becoming increasingly important, and at the same time, there is a need to ensure the security of those systems that pose specific problems. There is the lack of adequate skills and knowledge...
详细信息
ISBN:
(纸本)9798400717017
Nowadays cloud systems are becoming increasingly important, and at the same time, there is a need to ensure the security of those systems that pose specific problems. There is the lack of adequate skills and knowledge to deal with the complexity and challenges determined by security in cloud systems, particularly skills related to project management. This research aims to investigate the software project management issues and challenges in the design, development, maintenance, and operation of cloud systems while ensuring adequate security, understanding best practices to address them. The ultimate goal of the research is to create a framework that offers practical recommendations to enhance overall project understanding and support project managers in managing projects and programs related to the security of cloud systems.
The proceedings contain 22 papers. The topics discussed include: interpretability of knowledge graph-based explainable process analysis;sustainability of machine learning-based android malware detection using API call...
ISBN:
(纸本)9781665471206
The proceedings contain 22 papers. The topics discussed include: interpretability of knowledge graph-based explainable process analysis;sustainability of machine learning-based android malware detection using API calls and permissions;hybrid knowledgeengineering to build a global assassination dataset;a hybrid video-to-text summarization framework and algorithm on cascading advanced extractive- and abstractive-based approaches for supporting viewers' video navigation and understanding;exponential moving based features for acoustic scene classification;cheat detection through temporal inference of constrained orders for subsequences;ethical and sustainability considerations for knowledge graph based machine learning;the effects of model capacity in modelling variability between training and testing environments for automatic speech recognition;detecting pneumonia based on chest x-ray images using reinforcement learning;and few-shot text classification with saliency-equivalent concatenation.
international Journal of Industrial and Systems engineering (IJISE) reached its 18th year of publishing in 2023. A comprehensive assessment of 1,096 publications using the bibliometric data analysis technique is perfo...
详细信息
A cognitive multi-agent ecosystem designed for efficient softwareengineering using Agile methodologies can significantly improve software development processes. Key components include the integration of Multi-Agent S...
详细信息
ISBN:
(纸本)9798400712487
A cognitive multi-agent ecosystem designed for efficient softwareengineering using Agile methodologies can significantly improve software development processes. Key components include the integration of Multi-Agent Systems (MAS) and Large Language Models (LLMs), utilizing Dynamic Context techniques for agent profiling, and Theory of Mind to enhance collaboration. The CogniSim Ecosystem analyzes problems, proposes solutions, constructs and validates plans, and coordinates specialized agents playing roles such as developers, executors, quality checkers, and methodology reviewers. These agents produce documentation, models, and diagrams (e.g., UML) while adhering to predefined quality and performance measures. The ecosystem also simulates the impact of various team configurations on problem-solving effectiveness, helping organizations identify optimal team structures. Case studies and simulations demonstrate its practical applications.
暂无评论