Papers for

programming tool developers

Papers whose findings have a practical use for this group, as judged from the abstract. Open a paper to read what it means in practice.

Metamodel-guided decoding improves domain-specific language generation consistency

Metamodel-Guided LLM Decoding for Consistent DSL Generation

Abstract: Large language models (LLMs) are increasingly used to generate software engineering artifacts written in domain-specific languages (DSLs). Correct DSL instances usually must comply with not only the concrete syntax but also the abstract syntax defined by a metamodel augmented with semantic well-formedness constraints. Existing constrained decoding approaches typically guarantee compliance only with concrete syntax or with a limited set of semantic constraints expressed over the generated text, making metamodel-level constraint consistency difficult to enforce during generation. We present MeMoDecode: a decoding framework that enforces a DSL's concrete syntax, abstract syntax, and well-formedness constraints jointly. Specifically, whenever the LLM generates a complete metamodel concept, MeMoDecode incrementally maps the current output to a partial model and verifies whether it can still be completed into a consistent instance. We combine MeMoDecode with a simple retry mechanism that resumes decoding from the most recent completable snapshot whenever an inconsistency is detected. Under a sound backend verifier, MeMoDecode never performs worse than grammar-constrained decoding on alignment metrics satisfying natural assumptions. Across four DSLs and six open-weight LLMs ranging from 0.6B to 70B parameters, MeMoDecode achieves the highest consistency, improving consistency by 23% on average over unconstrained decoding and by 8% on average over grammar-constrained decoding. It also improves benchmark performance while incurring only modest runtime overhead. These results show that metamodel-guided decoding is an effective approach for enforcing DSL consistency during decoding across diverse DSLs and LLM scales.

Wed 21 OctSoftware EngineeringArtificial Intelligence
The gist
Generating code or instructions in special computer languages can be tricky because they must follow precise rules. The authors introduce MeMoDecode, a method that helps large language models produce code that not only looks right but also follows deep structural and meaning rules. It checks the code as it’s being written and corrects mistakes to keep everything consistent. Tests show this approach improves accuracy compared to older methods without much extra time needed.
Open → 2610.29749v1

Code models compared fairly to find best training methods

Comparing the Pre-trained Models of Source Code by Re-pre-training under a Unified Setup

Abstract: Recent years have seen the successful application of large pre-trained models of source code (CodePTMs) to code representation learning, which have taken the field of software engineering (SE) from task-specific solutions to task-agnostic generic models. By the remarkable results, CodePTMs are seen as a promising direction in both academia and industry. While a number of CodePTMs have been proposed, they are often not directly comparable because they differ in experimental setups such as pre-training dataset, model size, evaluation tasks and datasets, etc. In this paper, we first review the experimental setup used in previous work and propose a standardized setup to facilitate fair comparisons among CodePTMs to explore the impacts of their pre-training tasks. Then, under the standardized setup, we re-pre-train CodePTMs using the same model architecture, input modalities, and pretraining tasks, etc., as they declared and fine-tune each model on each evaluation SE task for evaluating. Finally, we present the experimental results and make a comprehensive discussion on the relative strength and weakness of different pre-training tasks w.r.t. each SE task. We hope our view can inspire and advance the future study of more powerful CodePTMs.

Sun 11 OctSoftware Engineering
The gist
It can be hard to tell which computer models that understand programming code work best because they are tested in different ways. The authors looked at many existing code models and tested them again in the exact same way. This helped show how different training methods affect how well the models do on software engineering tasks. Their work helps others know which approaches work better and how to improve code models in the future.
Open → 2610.15440v1

Full application simulator enhances computing directly in DRAM memory

A gem5-based Simulation Framework for Computing-in-DRAM

Abstract: Computing-in-Memory using DRAM (CIMD) has demonstrated substantial energy and throughput gains for memory-bound workloads consisting of bulk-bitwise operations, by performing computation directly within DRAM subarrays. Realizing CIMD, however, requires a redesign of the memory controller and careful mapping of operands onto the memory arrays. Presently, accurate FPGA-based testbeds exist, but they are costly and labor-intensive, while open-source simulators are largely trace-based and cannot execute full application runs. The only full-application CIMD simulator available, included with MIMDRAM, is built on an outdated version of gem5 and its toolchains. We present gem5-CIMD, a full-application CIMD simulation framework built on the latest version of gem5. We extend the simulated instruction set from four bitwise operations to sixteen CIM instructions spanning arithmetic, relational, conditional, and utility operations across a range of data types and bitwidths (4 to 64 bits). A complete memory-management stack comprising multi-level huge-page support, a CIM-aware allocator, and a subarray-aware address-mapping scheme ensures that CIM operands are co-located in the same DRAM subarray. In addition, gem5-CIMD is aware of the DRAM refresh interval and faithfully models and schedules the mandatory refresh operations when needed. We provide a CIM standard library intended as a compiler target and evaluate gem5-CIMD on multiple case studies including an end-to-end KNN workload. The simulator sources, including the evaluated workloads, are publicly available.

Tue 6 OctHardware ArchitectureEmerging Technologies
The gist
Computing directly inside DRAM memory can speed up certain tasks and cut energy use, but it needs special controllers and ways to organize data. The authors created gem5-CIMD, a simulator based on an updated gem5 platform, that can run entire programs using many operations inside DRAM. Their tool includes smart memory management and models important DRAM refresh cycles. They also provide code libraries and tested the simulator on practical examples like K-nearest neighbors. This simulator is publicly available for others to use and build upon.
Open → 2610.08186v1