English
Related papers

Related papers: Extensible type checker for parser generation

200 papers

This paper addresses compositional and incremental type checking for object-oriented programming languages. Recent work achieved incremental type checking for structurally typed functional languages through co-contextual typing rules, a…

Programming Languages · Computer Science 2018-05-24 Edlira Kuci , Sebastian Erdweg , Oliver Bračevac , Andi Bejleri , Mira Mezini

Dynamically typed object-oriented languages enable programmers to write elegant, reusable and extensible programs. However, with the current methodology for program verification, the absence of static type information creates significant…

Programming Languages · Computer Science 2015-01-13 Björn Engelmann , Ernst-Rüdiger Olderog , Nils Erik Flick

This paper presents our approach to use refactoring techniques together with code generation. Refactoring is particularly useful if not only the generated classes but also the generator itself can be adapted in an automatic fashion. We have…

Software Engineering · Computer Science 2014-09-24 Holger Krahn , Bernhard Rumpe

A type description is a succinct noun compound which helps human and machines to quickly grasp the informative and distinctive information of an entity. Entities in most knowledge graphs (KGs) still lack such descriptions, thus calling for…

Computation and Language · Computer Science 2019-10-09 Jiangjie Chen , Ao Wang , Haiyun Jiang , Suo Feng , Chenguang Li , Yanghua Xiao

We consider, as a means of making programming languages more flexible and powerful, a parsing algorithm in which the parser may freely modify the grammar while parsing. We are particularly interested in a modification of the canonical LR(1)…

Programming Languages · Computer Science 2007-05-23 Blake Hegerle

Grammatical error correction systems improve written communication by detecting and correcting language mistakes. To help language learners better understand why the GEC system makes a certain correction, the causes of errors (evidence…

Computation and Language · Computer Science 2023-06-13 Yuejiao Fei , Leyang Cui , Sen Yang , Wai Lam , Zhenzhong Lan , Shuming Shi

Category text generation receives considerable attentions since it is beneficial for various natural language processing tasks. Recently, the generative adversarial network (GAN) has attained promising performance in text generation,…

Computation and Language · Computer Science 2023-08-03 Xinze Li , Kezhi Mao , Fanfan Lin , Zijian Feng

Documenting the functionality of software units with code comments, e.g., Javadoc comments, is a common programmer best-practice in software engineering. This paper introduces a novel test generation technique that exploits the code-comment…

Software Engineering · Computer Science 2025-05-01 Giovanni Denaro , Luca Guglielmo

Test cases are essential for software development and maintenance. In practice, developers derive multiple test cases from an implicit pattern based on their understanding of requirements and inference of diverse test scenarios, each…

Software Engineering · Computer Science 2026-04-28 Binhang Qi , Yun Lin , Xinyi Weng , Chenyan Liu , Hailong Sun , Gordon Fraser , Jin Song Dong

We perform neural machine translation of sentence fragments in order to create large amounts of training data for English grammatical error correction. Our method aims at simulating mistakes made by second language learners, and produces a…

Computation and Language · Computer Science 2021-04-21 Eetu Sjöblom , Mathias Creutz , Teemu Vahtola

We formalize a new type system for Elixir, a dynamically typed functional programming language of growing popularity that runs on the Erlang virtual machine. Our system combines gradual typing with semantic subtyping to enable precise,…

Programming Languages · Computer Science 2025-09-30 Giuseppe Castagna , Guillaume Duboc

Strategy languages enable programmers to compose rewrite rules into strategies and control their application. This is useful in programming languages, e.g., for describing program transformations compositionally, but also in automated…

Programming Languages · Computer Science 2023-04-28 Rongxiao Fu , Ornela Dardha , Michel Steuwer

Automated theorem provers are used in extended static checking, where they are the performance bottleneck. Extended static checkers are run typically after incremental changes to the code. We propose to exploit this usage pattern to improve…

Logic in Computer Science · Computer Science 2007-08-07 Radu Grigore , Michał Moskal

The task of generating a database query from a question in natural language suffers from ambiguity and insufficiently precise description of the goal. The problem is amplified when the system needs to generalize to databases unseen at…

Computation and Language · Computer Science 2022-10-14 Anton Osokin , Irina Saparina , Ramil Yarullin

Gradual typing enables developers to annotate types of their own choosing, offering a flexible middle ground between no type annotations and a fully statically typed language. As more and more code bases get type-annotated, static type…

Software Engineering · Computer Science 2024-01-15 Yiu Wai Chow , Luca Di Grazia , Michael Pradel

Some test amplification tools extend a manually created test suite with additional test cases to increase the code coverage. The technique is effective, in the sense that it suggests strong and understandable test cases, generally adopted…

Software Engineering · Computer Science 2022-07-27 Mehrdad Abdi , Henrique Rocha , Serge Demeyer , Alexandre Bergel

Coverage Types provide a suitable type mechanism that integrates under-approximation logic to support Property-Based Testing. They are used to type the return value of a function that represents an input test generator. This allows us to…

Logic in Computer Science · Computer Science 2025-02-25 Angelo Passarelli , Gian-Luigi Ferrari

Session types are a rich type discipline, based on linear types, that lifts the sort of safety claims that come with type systems to communications. However, web-based applications and microservices are often written in a mix of languages,…

Programming Languages · Computer Science 2019-11-20 Atsushi Igarashi , Peter Thiemann , Yuya Tsuda , Vasco T. Vasconcelos , Philip Wadler

We propose GANCoder, an automatic programming approach based on Generative Adversarial Networks (GAN), which can generate the same functional and logical programming language codes conditioned on the given natural language utterances. The…

Computation and Language · Computer Science 2019-12-03 Yabing Zhu , Yanfeng Zhang , Huili Yang , Fangjing Wang

This paper describes how to verify a parser for regular expressions in a functional programming language using predicate transformer semantics for a variety of effects. Where our previous work in this area focused on the semantics for a…

Logic in Computer Science · Computer Science 2020-05-05 Anne Baanen , Wouter Swierstra