SoftwareXPub Date : 2025-08-04DOI: 10.1016/j.softx.2025.102290
José F. Aldana-Martín, Antonio Benítez-Hidalgo, José F. Aldana-Montes
{"title":"eidos: A modular approach to external function integration in LLMs","authors":"José F. Aldana-Martín, Antonio Benítez-Hidalgo, José F. Aldana-Montes","doi":"10.1016/j.softx.2025.102290","DOIUrl":"10.1016/j.softx.2025.102290","url":null,"abstract":"<div><div>Function calling allows Large Language Models (LLMs) to execute a wide range of tasks, from data analysis and mathematical computations to interacting with web services and other software systems. By harnessing the power of external tooling, LLMs can provide more dynamic, context-aware responses. However, errors in the model’s understanding of the request can lead to misinterpretations of the intended actions, resulting in function calls that are either irrelevant or incorrect for the task at hand. Without proper validation and control mechanisms, the parameters expected by the function may not align with those provided by the model, leading to incorrect operations or failures in task execution. In this paper, we present <em>eidos</em>, a software tool designed to streamline the integration of functions within LLMs. <em>eidos</em> acts as an intermediary, enabling both the seamless execution and validation of functions by LLMs. By leveraging its modular architecture, function definitions can be injected into the LLM context and invoked as if they were native functions via an API.</div></div>","PeriodicalId":21905,"journal":{"name":"SoftwareX","volume":"31 ","pages":"Article 102290"},"PeriodicalIF":2.4,"publicationDate":"2025-08-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"144766991","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
SoftwareXPub Date : 2025-08-02DOI: 10.1016/j.softx.2025.102296
Pedro Sánchez, Diego Alonso, Fernando Terroso, Bárbara Álvarez
{"title":"RIPN: A tool for implementing cyber-physical systems by using interpreted Petri Nets and teleo-reactive programs","authors":"Pedro Sánchez, Diego Alonso, Fernando Terroso, Bárbara Álvarez","doi":"10.1016/j.softx.2025.102296","DOIUrl":"10.1016/j.softx.2025.102296","url":null,"abstract":"<div><div>We present a new tool called RIPN, implemented in Java programming language, that enables the development of cyber-physical systems by integrating interpreted Petri nets and teleo-reactive programs. Petri nets have long been used in engineering for modeling discrete event systems. In turn, teleo-reactive programs allow complex behaviours to be specified by means of a prioritised set of rules, of great application proven in the field of autonomous vehicles and robotics. Combining these two formalisms provides a powerful tool for developing cyber-physical systems, leveraging the strengths of each. The integration of interpreted Petri nets and teleo-reactive programs via a shared knowledge base called the BeliefStore, and a unified event management is presented as a novel approach that can be adopted by the community for the implementation of cyber-physical systems.</div></div>","PeriodicalId":21905,"journal":{"name":"SoftwareX","volume":"31 ","pages":"Article 102296"},"PeriodicalIF":2.4,"publicationDate":"2025-08-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"144763764","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
SoftwareXPub Date : 2025-07-31DOI: 10.1016/j.softx.2025.102258
Maksim Koptelov , Jan Linck , Pierre Bisquert , Patrice Buche , Mathieu Roche
{"title":"AgriCode: Automated coding for qualitative research and its application to the valorization of agricultural residues","authors":"Maksim Koptelov , Jan Linck , Pierre Bisquert , Patrice Buche , Mathieu Roche","doi":"10.1016/j.softx.2025.102258","DOIUrl":"10.1016/j.softx.2025.102258","url":null,"abstract":"<div><div>Qualitative research, widely employed across various academic fields, explores phenomena using non-numerical data, with a particular focus on understanding the meanings, experiences, and perspectives of participants. In contrast to other type of research, it seeks to answer how, where, what, when and why individuals behave or respond in certain ways toward specific issues or topics. Qualitative research involves collecting and analyzing textual data, with interviews playing a central role in gathering expert knowledge. An essential part of data analysis is coding, using specially developed code system hierarchy that helps to categorize and organize responses and facilitates the retrieval of insights. Manual data coding is labor-intensive, and to automate this process we developed the AgriCode tool based on machine learning and manually annotated data. To address data scarcity and improve the prediction quality of our offline classifiers, we perform data augmentation using Retrieval-Augmented Generation (RAG), a state-of-the-art method originally designed for online Q&A systems. Our tool automates the coding of interview responses within the Horizon Europe Agriloop project, which focuses on agricultural waste in the food industry. AgriCode predicts a subset of a predefined code system hierarchy, assisting a human coder by accelerating the process and identifying errors in manual coding. Although initially designed for the valorization of agricultural residues, AgriCode’s methodology can be adapted for any qualitative research domain characterized by data scarcity and the need of automated textual analysis. To achieve this, responses from the first round of interviews must be manually annotated using dedicated code system hierarchy. They can then be used for fine-tuning the model, while the RAG method can be employed to address the lack of data for certain classes.</div></div>","PeriodicalId":21905,"journal":{"name":"SoftwareX","volume":"31 ","pages":"Article 102258"},"PeriodicalIF":2.4,"publicationDate":"2025-07-31","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"144749459","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
SoftwareXPub Date : 2025-07-31DOI: 10.1016/j.softx.2025.102257
Tomasz Śmierzchalski , Anna M. Dziubyna , Konrad Jałowiecki , Zakaria Mzaouali , Łukasz Pawela , Bartłomiej Gardas , Marek M. Rams
{"title":"SpinGlassPEPS.jl: Tensor-network package for Ising-like optimization on quasi-two-dimensional graphs","authors":"Tomasz Śmierzchalski , Anna M. Dziubyna , Konrad Jałowiecki , Zakaria Mzaouali , Łukasz Pawela , Bartłomiej Gardas , Marek M. Rams","doi":"10.1016/j.softx.2025.102257","DOIUrl":"10.1016/j.softx.2025.102257","url":null,"abstract":"<div><div>This work introduces <span>SpinGlassPEPS.jl</span>, a software package implemented in Julia, designed to find low-energy configurations of generalized Potts models, including Ising and QUBO problems, utilizing heuristic tensor network contraction algorithms on quasi-2D geometries. In particular, the package employs the Projected Entangled-Pairs States to approximate the Boltzmann distribution corresponding to the model’s cost function. This enables an efficient branch-and-bound search (within the probability space) that exploits the locality of the underlying problem’s topology. As a result, our software enables the discovery of low-energy configurations for problems on quasi-2D graphs, particularly those relevant to modern quantum annealing devices. The modular architecture of <span>SpinGlassPEPS.jl</span> supports various contraction schemes and hardware acceleration.</div></div>","PeriodicalId":21905,"journal":{"name":"SoftwareX","volume":"31 ","pages":"Article 102257"},"PeriodicalIF":2.4,"publicationDate":"2025-07-31","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"144749458","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
SoftwareXPub Date : 2025-07-31DOI: 10.1016/j.softx.2025.102273
Soham Ghosh , Sujay Mukhoti , Abhirup Banerjee
{"title":"beta4dist: A Python package for the four-parameter Beta distribution and likelihood-based estimation","authors":"Soham Ghosh , Sujay Mukhoti , Abhirup Banerjee","doi":"10.1016/j.softx.2025.102273","DOIUrl":"10.1016/j.softx.2025.102273","url":null,"abstract":"<div><div>We present <span>beta4dist</span>, the first open-source <span>Python</span> package that implements a likelihood-based estimation framework for the four-parameter Beta distribution. This flexible distribution is widely used to model bounded, continuous data with diverse shapes, including skewed and heavy-tailed patterns. Such datasets are common in fields such as hydrology, environmental science, and reliability engineering. The software estimates location parameters via order statistics and computes shape parameters using marginal likelihood optimization, ensuring that all estimates adhere to natural parameter constraints. In addition to core estimation routines, <span>beta4dist</span> includes utilities for density evaluation, random sampling, cumulative distribution, quantiles, and model diagnostics. The package is fully tested, easy to integrate into standard <span>Python</span> workflows, and supports both research reproducibility and practical applications requiring shape-robust modeling tools.</div></div>","PeriodicalId":21905,"journal":{"name":"SoftwareX","volume":"31 ","pages":"Article 102273"},"PeriodicalIF":2.4,"publicationDate":"2025-07-31","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"144749456","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
SoftwareXPub Date : 2025-07-31DOI: 10.1016/j.softx.2025.102268
Haomiao Wang , Julien Aligon , Haoran Zhou , Chantal Soulé-Dupuy , Paul Monsarrat
{"title":"auto-xFS: An explanation-based feature selection tool for more meaningful and trustworthy machine learning models","authors":"Haomiao Wang , Julien Aligon , Haoran Zhou , Chantal Soulé-Dupuy , Paul Monsarrat","doi":"10.1016/j.softx.2025.102268","DOIUrl":"10.1016/j.softx.2025.102268","url":null,"abstract":"<div><div>auto-xFS is a novel tool for feature selection (FS) based on a three-dimensional perspective encompassing feature retention rate, machine learning (ML) model performance, and explainability (XML). The application is designed to streamline the user’s workflow by autonomously hyperparameterizing FS techniques, ML models, and XML methods using a meta-learning approach. Our findings demonstrate that prioritizing FS that yields highly precise prediction explanations even at the expense of a slight reduction in model accuracy, can ensure more meaningful information for the user. <em>auto-xFS</em> is totally suited to FS in critical areas such as biomedicine where user confidence is crucial.</div></div>","PeriodicalId":21905,"journal":{"name":"SoftwareX","volume":"31 ","pages":"Article 102268"},"PeriodicalIF":2.4,"publicationDate":"2025-07-31","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"144749457","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
SoftwareXPub Date : 2025-07-31DOI: 10.1016/j.softx.2025.102278
Viviana Pentangelo, Luigi Turco, Stefano Lambiase, Carmine Gravino, Fabio Palomba
{"title":"SENEM-AI: Leveraging LLMs for student behavior simulation in virtual learning environments","authors":"Viviana Pentangelo, Luigi Turco, Stefano Lambiase, Carmine Gravino, Fabio Palomba","doi":"10.1016/j.softx.2025.102278","DOIUrl":"10.1016/j.softx.2025.102278","url":null,"abstract":"<div><div>SENEM-AI is a 3D virtual environment-based tool designed to enhance teaching and presentation skills by leveraging immersive simulations. Built upon the SENEM platform, it integrates virtual students powered by LLaMA with distinct personalities that simulate realistic classroom interactions. Educators can refine their communication strategies by reacting to dynamically generated questions. Preliminary evaluations highlighted its usability and potential impact, with participants valuing the immersive experience and engagement. SENEM-AI represents a novel approach to supporting educators through accessible technology, paving the way for further research into AI-driven teaching aids and training environments in virtual settings.</div><div><em>Tool video:</em> <span><span>https://www.youtube.com/watch?v=uHg25Gooi58</span><svg><path></path></svg></span></div></div>","PeriodicalId":21905,"journal":{"name":"SoftwareX","volume":"31 ","pages":"Article 102278"},"PeriodicalIF":2.4,"publicationDate":"2025-07-31","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"144749460","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
SoftwareXPub Date : 2025-07-30DOI: 10.1016/j.softx.2025.102283
Chun-Hsiung Tseng, Hao-Chiang Koong Lin, Andrew Chih-Wei Huang, Jia-Rou Lin
{"title":"Investigating the effects of PuppyCodeReview, an AI-based code review system, on students’ cognitive load","authors":"Chun-Hsiung Tseng, Hao-Chiang Koong Lin, Andrew Chih-Wei Huang, Jia-Rou Lin","doi":"10.1016/j.softx.2025.102283","DOIUrl":"10.1016/j.softx.2025.102283","url":null,"abstract":"<div><div>This study presents <em>PuppyCodeReview</em>, an AI-based system designed to support code review activities in programming education. While peer code review is increasingly emphasized in computer science curricula, its effectiveness in university classrooms remains uncertain, especially among novice programmers. <em>PuppyCodeReview</em> aims to address this gap by automating the review process and providing structured feedback on design, functionality, complexity, and common code smells. To evaluate the system’s impact, a four-week experiment was conducted in a data structures course at a university in Taiwan. Students were divided into control and experimental groups; the control group used a standard web interface, while the experimental group utilized the AI-assisted <em>PuppyCodeReview</em> system for the same tasks. Cognitive load was measured before and after the intervention. Results indicated that although cognitive load increased in both groups, the increase was significantly smaller for students using <em>PuppyCodeReview</em>, suggesting the system reduced mental effort associated with code review. These findings highlight the potential of AI-assisted tools in making peer review more accessible and pedagogically effective for novice programmers.</div></div>","PeriodicalId":21905,"journal":{"name":"SoftwareX","volume":"31 ","pages":"Article 102283"},"PeriodicalIF":2.4,"publicationDate":"2025-07-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"144723826","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
SoftwareXPub Date : 2025-07-28DOI: 10.1016/j.softx.2025.102266
Vicente J. Bolós , Rafael Benítez , Vicente Coll-Serrano
{"title":"deaR: Conventional and fuzzy DEA models with R","authors":"Vicente J. Bolós , Rafael Benítez , Vicente Coll-Serrano","doi":"10.1016/j.softx.2025.102266","DOIUrl":"10.1016/j.softx.2025.102266","url":null,"abstract":"<div><div><strong>deaR</strong> is an <span>R</span> package for data envelopment analysis (DEA) that implements a large number of conventional and fuzzy models, along with super-efficiency models, cross-efficiency analysis, Malmquist index, bootstrapping, and metafrontier analysis. It should be noted that <strong>deaR</strong> is the only package to date that incorporates Kao-Liu, Guo-Tanaka and possibilistic fuzzy models. The versatility of the package allows the user to work with different returns to scale and orientations, as well as to consider special features, namely non-controllable, non-discretionary or undesirable variables. Moreover, it includes novel graphical representations that can help the user to display the results. This paper is a short description of <strong>deaR</strong>, giving examples of use.</div></div>","PeriodicalId":21905,"journal":{"name":"SoftwareX","volume":"31 ","pages":"Article 102266"},"PeriodicalIF":2.4,"publicationDate":"2025-07-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"144716117","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
SoftwareXPub Date : 2025-07-28DOI: 10.1016/j.softx.2025.102271
Hyacinthe-Marie Nshuti , Juan Morales-García , Andrés Muñoz , Pedro J. Navarro , Diego Alonso , Pedro Sanchez , Bárbara Álvarez , Fernando Terroso-Saenz
{"title":"Climaticpark-py - A python framework for the climatic simulation of vehicular parking lots","authors":"Hyacinthe-Marie Nshuti , Juan Morales-García , Andrés Muñoz , Pedro J. Navarro , Diego Alonso , Pedro Sanchez , Bárbara Álvarez , Fernando Terroso-Saenz","doi":"10.1016/j.softx.2025.102271","DOIUrl":"10.1016/j.softx.2025.102271","url":null,"abstract":"<div><div>Private vehicles are the dominant mode of commuting worldwide, accounting for a significant share of energy use and <span><math><msub><mrow><mi>CO</mi></mrow><mrow><mn>2</mn></mrow></msub></math></span> emissions. Urban growth has led to the expansion of surface parking lots, where vehicles are often exposed to intense solar radiation, raising cabin temperatures above 60 °C and increasing air-conditioning energy demand. Installing sunshades can mitigate this issue, but their effective deployment requires detailed analysis. This paper presents <span>climaticpark-py</span>, a Python library that simulates parking lots considering geographic and ambient conditions along with mobility patterns, enabling evaluation of sunshade configurations to optimize thermal comfort and energy efficiency even before physical implementation. The present software intends to contribute to the United Nation’s sustainable goal <em>Make cities and human settlements inclusive, safe, resilient and sustainable</em>.</div></div>","PeriodicalId":21905,"journal":{"name":"SoftwareX","volume":"31 ","pages":"Article 102271"},"PeriodicalIF":2.4,"publicationDate":"2025-07-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"144715749","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}