Export Citations
Save this search
Please login to be able to save your searches and receive alerts for new content matching your search criteria.
- research-articleJanuary 2025
Dissecting Code Features: An Evolutionary Analysis of Kernel Versus Nonkernel Code in Operating Systems
Journal of Software: Evolution and Process (WSMR), Volume 37, Issue 1https://doi.org/10.1002/smr.2752ABSTRACTUnderstanding the evolution of software systems is crucial for advancing software engineering practices. Many studies have been devoted to exploring software evolution. However, they primarily treat software as an entire entity and overlook the ...
This study investigates the evolutionary differences in code features between kernel and nonkernel components in operating systems. Findings show kernel code is smaller, and less frequently modified than nonkernel code, with a preference for alteration ...
- research-articleNovember 2024
Refactoring to Standard C++20 Modules
Journal of Software: Evolution and Process (WSMR), Volume 37, Issue 1https://doi.org/10.1002/smr.2736ABSTRACTGood component‐based design for software projects is a desired property both for development and maintenance. The C++ programming language inherited the “translation unit” model from C, where every source file is individually compiled with no ...
This paper investigates a semi‐automatic modularization method to refactor existing C++ projects. Our approach uses dependency analysis and clustering to organize elements of projects into modules, without domain‐specific information. To fully facilitate ...
Semistructured Merge with Language-Specific Syntactic Separators
ASE '24: Proceedings of the 39th IEEE/ACM International Conference on Automated Software EngineeringPages 1032–1043https://doi.org/10.1145/3691620.3695483Structured merge tools exploit programming language syntactic structure to enhance merge accuracy by reducing spurious conflicts reported by unstructured tools. By creating and handling full ASTs, structured tools are language-specific and harder to ...
- research-articleOctober 2024
Towards Automated Configuration Documentation
ASE '24: Proceedings of the 39th IEEE/ACM International Conference on Automated Software EngineeringPages 2256–2261https://doi.org/10.1145/3691620.3695311Configurability is a common property of software allowing programs to be customized for the user. While configurability is pervasive, it can also lead to faults (or misconfigurations) and make program evolution challenging. Dependencies can be missed, ...
- research-articleOctober 2024
Broken Agreement: The Evolution of Solidity Error Handling
- Charalambos Mitropoulos,
- Maria Kechagia,
- Chrysostomos Maschas,
- Sotirios Ioannidis,
- Federica Sarro,
- Dimitrios Mitropoulos
ESEM '24: Proceedings of the 18th ACM/IEEE International Symposium on Empirical Software Engineering and MeasurementPages 257–268https://doi.org/10.1145/3674805.3686686Background. A smart contract is a computer program enclosing the terms of a legal agreement between two or more parties which is automatically verified and executed via a computer network called blockchain. Once a smart contract transaction is completed ...
-
- research-articleOctober 2024
Automated construction of reference model for software remodularization through software evolution
Journal of Software: Evolution and Process (WSMR), Volume 36, Issue 10https://doi.org/10.1002/smr.2700AbstractThe undocumented evolution of a software project and its underlying architecture underscores the need to recover the architecture from the software's implementation‐level artifacts. Despite the existence of various software remodularization ...
Automated construction of reference model (ACRM) automatically constructs reference models by assigning weights to classes for various software projects using the metadata of all software versions and historical maintenance records. ACRM can aid ...
- surveyOctober 2024
A Meta-Study of Software-Change Intentions
ACM Computing Surveys (CSUR), Volume 56, Issue 12Article No.: 300, Pages 1–41https://doi.org/10.1145/3661484Every software system undergoes changes, for example, to add new features, fix bugs, or refactor code. The importance of understanding software changes has been widely recognized, resulting in various techniques and studies, for instance, on change-impact ...
- research-articleSeptember 2024Distinguished Paper
An In-Depth Study of Runtime Verification Overheads during Software Testing
ISSTA 2024: Proceedings of the 33rd ACM SIGSOFT International Symposium on Software Testing and AnalysisPages 1798–1810https://doi.org/10.1145/3650212.3680400Runtime verification (RV) monitors program executions against formal specifications (specs). Researchers showed that RV during software testing amplifies the bug-finding ability of tests, and found hundreds of new bugs by using RV to monitor passing ...
- research-articleSeptember 2024
Give an Inch and Take a Mile? Effects of Adding Reliable Knowledge to Heuristic Feature Tracing
SPLC '24: Proceedings of the 28th ACM International Systems and Software Product Line ConferencePages 84–95https://doi.org/10.1145/3646548.3672593Tracing features to software artifacts is a crucial yet challenging activity for developers of variability-intensive software projects. Developers can provide feature traces either proactively in a manual and rarely semi-automated way or recover them ...
- research-articleAugust 2024
Balanced knowledge distribution among software development teams—Observations from open‐ and closed‐source software development
Journal of Software: Evolution and Process (WSMR), Volume 36, Issue 8https://doi.org/10.1002/smr.2655SummaryIn software development, developer turnover is among the primary reasons for project failures, leading to a great void of knowledge and strain for newcomers. Unfortunately, no established methods exist to measure how the problem domain knowledge ...
This study aims at measuring how knowledge is distributed within software development teams and to understand how it evolves. To gain this understanding and how knowledge is owned by key developers, this work introduces a novel representation of domain ...
- research-articleJuly 2024
A study of behavioral decay in design patterns
Journal of Software: Evolution and Process (WSMR), Volume 36, Issue 7https://doi.org/10.1002/smr.2638AbstractDesign patterns represent a means of communicating reusable solutions to common problems, provided they are implemented and maintained correctly. However, many design pattern instances erode as they age, sacrificing qualities they once provided. ...
Design patterns may exhibit symptoms of behavioral decay, wherein improper behavioral extensions of the pattern negatively affect the quality of the software. We validate types of behavioral decay found from real‐world pattern instances and evaluate the ...
- research-articleJuly 2024
Sharing Software-Evolution Datasets: Practices, Challenges, and Recommendations
Proceedings of the ACM on Software Engineering (PACMSE), Volume 1, Issue FSEArticle No.: 91, Pages 2051–2074https://doi.org/10.1145/3660798Sharing research artifacts (e.g., software, data, protocols) is an immensely important topic for improving transparency, replicability, and reusability in research, and has recently gained more and more traction in software engineering. For instance, ...
Understanding the Impact of APIs Behavioral Breaking Changes on Client Applications
Proceedings of the ACM on Software Engineering (PACMSE), Volume 1, Issue FSEArticle No.: 56, Pages 1238–1261https://doi.org/10.1145/3643782Libraries play a significant role in software development as they provide reusable functionality, which helps expedite the development process. As libraries evolve, they release new versions with optimisations like new functionality, bug fixes, and ...
Variability-Aware Differencing with DiffDetective
FSE 2024: Companion Proceedings of the 32nd ACM International Conference on the Foundations of Software EngineeringPages 632–636https://doi.org/10.1145/3663529.3663813Diff tools are essential in developers' daily workflows and software engineering research. Motivated by limitations of traditional line-based differencing, countless specialized diff tools have been proposed, aware of the underlying artifacts' type, such ...
- research-articleJune 2024
Evolutionary measures and their correlations with the performance of cross‐version defect prediction for object‐oriented projects
Journal of Software: Evolution and Process (WSMR), Volume 36, Issue 6https://doi.org/10.1002/smr.2625AbstractCross‐version defect prediction (CVDP) for evolutionary projects has attracted much attention from researchers in recent years. For multiple versions of an object‐oriented project, the degree of evolution (e.g., the degree of class change) ...
This paper proposes six evolutionary measures named the Ratio of New Classes, the Ratio of Deleted Classes, the Average Ratio of Metric Change, the Ratio of Label Changed Classes, the Ratio of Unchanged Classes, and the Ratio of Interference Classes. ...
- research-articleApril 2024
A resilience‐based framework for assessing the evolution of open source software projects
Journal of Software: Evolution and Process (WSMR), Volume 36, Issue 5https://doi.org/10.1002/smr.2597AbstractOpen source software (OSS) has been developing for more than two decades. It originated as a movement with the introduction of the first free/libre OSS operating system, became a popular trend among the developer community, led to enterprise ...
Highlights- The proposed framework successfully classified resilient and nonresilient projects
- Resilience scores of social dimension are increased for user oriented open source software (OSS) projects.
- OSS projects started as solo maintained scored low ...
- research-articleJuly 2024
Analyzing the Evolution and Maintenance of ML Models on Hugging Face
MSR '24: Proceedings of the 21st International Conference on Mining Software RepositoriesPages 607–618https://doi.org/10.1145/3643991.3644898Hugging Face (HF) has established itself as a crucial platform for the development and sharing of machine learning (ML) models. This repository mining study, which delves into more than 380,000 models using data gathered via the HF Hub API, aims to ...
- research-articleJuly 2024
gawd: A Differencing Tool for GitHub Actions Workflows
MSR '24: Proceedings of the 21st International Conference on Mining Software RepositoriesPages 682–686https://doi.org/10.1145/3643991.3644873The GitHub social coding platform introduced GitHub Actions as a way to automate different aspects of collaborative software development through the use of workflow files. It is the most popular CI/CD and workflow automation tool for GitHub. To maintain ...
- research-articleJuly 2024
A dataset of GitHub Actions workflow histories
MSR '24: Proceedings of the 21st International Conference on Mining Software RepositoriesPages 677–681https://doi.org/10.1145/3643991.3644867GitHub Actions is the de facto workflow automation tool for GitHub repositories. Its popularity has increased dramatically over the recent years, opening up opportunities for empirical studies related to its usage. To enable such studies, we implemented ...
- short-paperJune 2024
DVC in Open Source ML-development: The Action and the Reaction
- Lorena Barreto Simedo Pacheco,
- Musfiqur Rahman,
- Fazle Rabbi,
- Pouya Fathollahzadeh,
- Ahmad Abdellatif,
- Emad Shihab,
- Tse-Hsun (Peter) Chen,
- Jinqiu Yang,
- Ying Zou
CAIN '24: Proceedings of the IEEE/ACM 3rd International Conference on AI Engineering - Software Engineering for AIPages 75–80https://doi.org/10.1145/3644815.3644965Machine Learning (ML) systems are gaining popularity, reshaping various domains ranging from customer services to software engineering. The effectiveness of ML systems is dependent on the quality of their training data. Therefore, practitioners invest ...