Cecília Conde Kind, Michael Canesche, Fernando Magno Quintão Pereira
{"title":"Jotai: A methodology for the generation of executable C benchmarks","authors":"Cecília Conde Kind, Michael Canesche, Fernando Magno Quintão Pereira","doi":"10.1016/j.cola.2025.101368","DOIUrl":"10.1016/j.cola.2025.101368","url":null,"abstract":"<div><div>This paper presents a methodology for automatically generating well-defined executable benchmarks in C. The generation process is fully automatic: C files are extracted from open-source repositories and split into compilation units. A type reconstructor infers all the types and declarations required to ensure that functions compile. The generation of inputs is guided by constraints specified via a domain-specific language. This DSL refines the types of functions, for instance, creating relations between integer arguments and the length of buffers. Off-the-shelf tools such as <span>AddressSanitizer</span> and <span>Kcc</span> filter out programs with undefined behavior. To demonstrate applicability, this paper analyzes the dynamic behavior of different collections of benchmarks, some with up to 30 thousand samples, to support several observations: (i) the speedup of optimizations does not follow a normal distribution—a property assumed by statistical tests such as the T-test and the Z-test; (ii) there is strong correlation between number of instructions fetched and running time in x86 and in ARM processors; hence, the former—a non-varying quantity—can be used as a proxy for the latter—a varying quantity—in the autotuning of compilation tasks. The apparatus to generate benchmarks is publicly available. A collection of 18 thousand programs thus produced is also available as a <span>CompilerGym</span>’s dataset.</div></div>","PeriodicalId":48552,"journal":{"name":"Journal of Computer Languages","volume":"85 ","pages":"Article 101368"},"PeriodicalIF":1.8,"publicationDate":"2025-09-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"145157809","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"A ChatGPT-based dynamic assessment chatbot","authors":"Yung-Ting Chuang, Hui-Ting Wang","doi":"10.1016/j.cola.2025.101366","DOIUrl":"10.1016/j.cola.2025.101366","url":null,"abstract":"<div><div>Research on information tools for learning support is abundant, with many studies integrating natural language analysis and chatbots. However, existing research still struggles to provide differentiated instructional guidance tailored to the varying levels of student understanding. Therefore, this study introduces a chatbot named ChatDAC designed as educational material for university programming classes. The system utilizes a GPT-4 model, the same model as ChatGPT, to progressively provide learners with tiered hints based on categorized response types representing different levels of understanding during practice sessions, rather than solely assessing right or wrong answers conventionally. Analysis of the data revealed a significant increase in average post-test scores compared to pre-test scores for all participants, indicating that ChatDAC effectively enhances students’ programming skills. Additionally, a notable positive correlation was found between the proportion of positive responses and post-test scores. Finally, insights from questionnaires and interviews with students about ChatDAC were gathered, along with suggestions for future improvements.</div></div>","PeriodicalId":48552,"journal":{"name":"Journal of Computer Languages","volume":"85 ","pages":"Article 101366"},"PeriodicalIF":1.8,"publicationDate":"2025-09-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"145219478","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Nikolaos Malamas , Emmanouil Tsardoulias , Konstantinos Panayiotou , Andreas L. Symeonidis
{"title":"Toward efficient vibe coding: An LLM-based agent for low-code software development","authors":"Nikolaos Malamas , Emmanouil Tsardoulias , Konstantinos Panayiotou , Andreas L. Symeonidis","doi":"10.1016/j.cola.2025.101367","DOIUrl":"10.1016/j.cola.2025.101367","url":null,"abstract":"<div><div>The Software Engineering (SE) domain increasingly adopts low-code and no-code approaches to simplify application development and deployment. Two dominant paradigms have emerged in this space: Model-driven Engineering (MDE), leveraging Domain-specific Languages (DSLs) to abstract implementation and reduce the knowledge and expertise required, and LLM-based vibe coding, where developers interact with Large Language Models (LLMs) using natural language, allowing for rapid prototyping and code generation through conversations. Although DSLs provide precise abstractions and formal correctness, they often require specialized knowledge and have a steep learning curve. Conversely, vibe coding enables fluid and natural interactions, but struggles with domain specificity and frequently produces erroneous or unstructured code, which is difficult to integrate into formal development workflows. To harness the strengths of both paradigms, we present <em>DSL Agent</em>, an LLM-powered conversational interface for DSL-based application development. The DSL Agent is embedded within Locsys, a modern low-code development platform. It combines the flexibility and intuitiveness of LLM-based vibe coding with the rigor of DSLs by dynamically generating accurate and valid DSL models based on user descriptions, embedded into a unified conversational interface that leverages prompt engineering and in-context learning techniques. This offers a simpler and more intuitive interface, accelerates the development process, and reduces the expertise barrier. The agent is evaluated by more than 130 workshop participants of varying expertise levels, on two DSLs of different complexity. Evaluation metrics, including valid model rate, user satisfaction, and development time, indicate a significant improvement in valid model generation, productivity, and ease of use compared to traditional DSL-based SE workflows. These results highlight the potential of the DSL Agent to improve the entire DSL-based development life cycle by offering an efficient, intuitive, and user-friendly interface.</div></div>","PeriodicalId":48552,"journal":{"name":"Journal of Computer Languages","volume":"85 ","pages":"Article 101367"},"PeriodicalIF":1.8,"publicationDate":"2025-09-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"145157808","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Representation and system-agnostic automated CAD interoperability testing based on model interchangeability","authors":"Duygu Sap , Daniel P. Szabo","doi":"10.1016/j.cola.2025.101365","DOIUrl":"10.1016/j.cola.2025.101365","url":null,"abstract":"<div><div>In this paper, we present theoretically-supported frameworks to test CAD system interoperability based on shape comparison criteria. We introduce a command line tool that provides indirect, representation-independent comparisons of CAD models via abstract proxies and query-based interpretations. Our frameworks support local comparisons using differential properties and offer a broad range of global comparisons. We allow testing for generic CAD software designed for different operating systems or scripting languages. Users can specify tolerance values for testing, ensuring accuracy. This approach bridges CAD model representations, enabling effective interoperability evaluation across diverse systems without requiring in-depth knowledge of CAD software or representations.</div></div>","PeriodicalId":48552,"journal":{"name":"Journal of Computer Languages","volume":"85 ","pages":"Article 101365"},"PeriodicalIF":1.8,"publicationDate":"2025-09-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"145095459","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"DepAPI: The performance impact of the evolution of APIs","authors":"Naser AlDuaij","doi":"10.1016/j.cola.2025.101353","DOIUrl":"10.1016/j.cola.2025.101353","url":null,"abstract":"<div><h3>Context:</h3><div>As mobile systems have become ubiquitous, many developers target mobile systems to develop and release their applications. Platform developers provide API documentation for application developers to rely on. Since application performance is key to providing a usable and scalable mobile application to users, application developers must rely on platform API documentation to carefully design and implement their code. With multiple releases and ongoing development of platforms, these APIs are subject to change and may become deprecated. Platform developers require newer or alternative APIs for application developers in case an API becomes deprecated. Previous studies focused on how API deprecations affect development effort and how APIs evolve, but no prior study has explored the performance impact of these API deprecations.</div></div><div><h3>Objective:</h3><div>Create a methodology to classify deprecated APIs and study the performance implications of these deprecated APIs.</div></div><div><h3>Method:</h3><div>This study, referred to as DepAPI, presents a methodology called DepClassify to identify and classify deprecated APIs in terms of their types. DepClassify provides a method to select the APIs to test based on the most popular applications and their most frequently used APIs. The study also introduces DepTool that applies the methodology using Android as an exemplary operating system and shows the performance impact of API deprecation. This is the first study to investigate the performance impact of API deprecations.</div></div><div><h3>Results:</h3><div>The results show that the performance impact is significant enough to warrant the attention of both platform and application developers. Additionally, a specific study in DepAPI with a deprecated user-facing API shows that usability is affected.</div></div><div><h3>Conclusion:</h3><div>Based on the results, DepAPI recommends that system developers should provide developers with the performance implications of updating their APIs. Application developers should pay attention to the performance impact when updating their applications to use newer or alternative APIs.</div></div>","PeriodicalId":48552,"journal":{"name":"Journal of Computer Languages","volume":"85 ","pages":"Article 101353"},"PeriodicalIF":1.8,"publicationDate":"2025-08-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"144912308","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Lua in TeX","authors":"Hans Hagen","doi":"10.1016/j.cola.2025.101354","DOIUrl":"10.1016/j.cola.2025.101354","url":null,"abstract":"<div><div>At the end of 2023 the Lua language celebrated its 30<sup>th</sup> anniversary and in that perspective I offered to wrap up our experiences with that language in the perspective of developing TeX follow ups called LuaTeX and LuaMetaTeX. I also discuss the interplay between them and ConTeXt, an advanced macro package for TeX. For those unfamiliar with TeX I start with an overview of what that system is. Because TeX cannot do much out of the box, users normally combine it with a so called macro package, such as Plain TeX, LaTeX or ConTeXt, where the later one is what I use and whose developers also drove the development of LuaTeX and LuaMetaTeX. The usage of Lua was a natural choice due to its performance and easiness to integrate, beyond the fact that Lua is independent of additional resources. To illustrate the discussion, I present examples that show the interaction between TeX and Lua.</div></div>","PeriodicalId":48552,"journal":{"name":"Journal of Computer Languages","volume":"85 ","pages":"Article 101354"},"PeriodicalIF":1.8,"publicationDate":"2025-08-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"144932843","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Elton M. Cardoso , Leonardo V.S. Reis , Rodrigo G. Ribeiro
{"title":"A Haskell Library for Adaptable Parsing Expression Grammars","authors":"Elton M. Cardoso , Leonardo V.S. Reis , Rodrigo G. Ribeiro","doi":"10.1016/j.cola.2025.101349","DOIUrl":"10.1016/j.cola.2025.101349","url":null,"abstract":"<div><div>Adaptable Parsing Expression Grammars (APEG) is a formal model for describing languages that provide a mechanism to extend their own syntax during the parsing process. In this work, we review the syntax and semantics of APEG, discuss the implementation of a Haskell library for building parsers for extensible languages and using it to construct an APEG parser for a tiny extensible language.</div></div>","PeriodicalId":48552,"journal":{"name":"Journal of Computer Languages","volume":"85 ","pages":"Article 101349"},"PeriodicalIF":1.8,"publicationDate":"2025-08-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"144893877","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Effects of specifying robotic missions in behavior trees and state machines","authors":"Swaib Dragule , Engineer Bainomugisha , Patrizio Pelliccione , Thorsten Berger","doi":"10.1016/j.cola.2025.101330","DOIUrl":"10.1016/j.cola.2025.101330","url":null,"abstract":"<div><div>The task of defining the robot’s mission is moving from professional developers and roboticists to the end-users. Robot missions, traditionally implemented in source code with text-based programming languages, present challenges for non-programmers. To this end, many domain-specific languages (DSLs) have been established in robotics. They are typically built upon an established paradigm, where behavior trees and state machines have become the most popular ones in robotics. These paradigms offer different levels of abstraction and control structures, which promise to improve the comprehension, correctness, and usability of missions. However, so far, there are no evaluation and validation studies to determine the effects of using either paradigm for mission specification by end-users. We present a controlled experiment on the effectiveness and efficiency of these paradigms for specifying robot missions by end-users. It measures mission comprehension, correctness and usability by examining language constructs, documentation, and usage. Our findings indicate that participants rated both paradigms above the neutral midpoint that is, greater than three on a 5-point scale in comprehension, with negligible variance in preference. However, state machine received marginally higher ratings in overall usability. The results further indicate that in the concrete syntax of the DSLs used in the experiments, user interfaces need improvement, more tutorials (including videos/audios) are required. End-users also need basic training in behavior trees, state machines, programming, and robotics. While the DSLs provide reasonable abstraction compared to text-based languages, further refinement is needed to enhance usability and correctness. We discuss actionable insights for improving the usability of behavior trees and state machines in robotics and automation.</div></div>","PeriodicalId":48552,"journal":{"name":"Journal of Computer Languages","volume":"85 ","pages":"Article 101330"},"PeriodicalIF":1.8,"publicationDate":"2025-08-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"144880112","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Data management and processing for IoT & robotics in smart farming: A survey","authors":"Houssam Bazza , Sandro Bimonte , Stefano Rizzi , Hassan Badir","doi":"10.1016/j.cola.2025.101355","DOIUrl":"10.1016/j.cola.2025.101355","url":null,"abstract":"<div><div>Smart farming has garnered significant attention due to substantial advancements in robotics and IoT technologies. However, these advancements necessitate robust data management and processing guidelines to fully harness the potential of data and optimize farm production. Unfortunately, such clear guidelines are lacking in the smart farming sector, forcing practitioners and researchers to implement custom architectures for specific scenarios. This survey paper aims to examine the advancements in data management and processing within the Internet of Robotic Things (IoRT) context. After showing that the existing surveys on IoRT and smart farming barely cover these issues, we will review and classify the related literature within the framework of a reference architecture. We will conclude by listing the main open issues to be addressed in order to achieve the full potential of data-driven practices in the smart farming field.</div></div>","PeriodicalId":48552,"journal":{"name":"Journal of Computer Languages","volume":"85 ","pages":"Article 101355"},"PeriodicalIF":1.8,"publicationDate":"2025-08-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"144887501","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Application of Normalized Systems Theory to pure functional code to achieve sustainability of web front-end applications","authors":"Jan Slifka, Robert Pergl","doi":"10.1016/j.cola.2025.101346","DOIUrl":"10.1016/j.cola.2025.101346","url":null,"abstract":"<div><div>Modern web front-end applications frequently encounter challenges in maintaining long-term stability as they evolve to accommodate new requirements. This growing complexity often leads to diminishing maintainability and, in some cases, costly rewrites. To address this issue, we propose a methodology that integrates Normalized Systems Theory (NST)–which provides the structural foundations for stable software—with functional programming (FP) principles to construct inherently evolvable front-end systems. Our approach is implemented and evaluated using Elm, a statically typed, purely functional language designed for web front-end development. By aligning Elm’s design patterns with NST theorems, we establish a framework for building systems that are modular, maintainable, and resilient to change. We validate the efficacy of this methodology through a case study of a production-grade Elm application, demonstrating notable improvements in evolvability and system sustainability. While our implementation focuses on Elm, the underlying principles extend to other functional technologies, offering a broadly applicable strategy for achieving long-term stability in web front-end architecture.</div></div>","PeriodicalId":48552,"journal":{"name":"Journal of Computer Languages","volume":"85 ","pages":"Article 101346"},"PeriodicalIF":1.8,"publicationDate":"2025-08-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"144880113","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}