English
Related papers

Related papers: Prodirect Manipulation: Bidirectional Programming …

200 papers

Reverse engineering has been a standard practice in the hardware community for some time. It has only been within the last ten years that reverse engineering, or "program comprehension", has grown into the current sub-discipline of software…

Software Engineering · Computer Science 2007-05-23 Michael L. Nelson

Predictive models are one of the most important techniques that are widely applied in many areas of software engineering. There have been a large number of primary studies that apply predictive models and that present well-preformed studies…

Software Engineering · Computer Science 2020-08-11 Yanming Yang , Xin Xia , David Lo , Tingting Bi , John Grundy , Xiaohu Yang

Quantum computing is no longer only a scientific interest but is rapidly becoming an industrially available technology that can potentially overcome the limits of classical computation. Over the last years, all major companies have provided…

Software Engineering · Computer Science 2022-04-12 Manuel De Stefano , Fabiano Pecorelli , Dario Di Nucci , Fabio Palomba , Andrea De Lucia

Scientific codes are increasingly being used in compositional settings, especially problem solving environments (PSEs). Typical compositional modeling frameworks require significant buy-in, in the form of commitment to a particular style of…

Distributed, Parallel, and Cluster Computing · Computer Science 2007-05-23 Srinidhi Varadarajan , Joy Mukherjee , Naren Ramakrishnan

Macroprogramming refers to the theory and practice of conveniently expressing the macro(scopic) behaviour of a system using a single program. Macroprogramming approaches are motivated by the need of effectively capturing global/system-level…

Programming Languages · Computer Science 2025-11-19 Roberto Casadei

Within an increasing number of domains an important emerging need is the ability for technically naive users to compose computational elements into novel configurations. Examples include astronomers who create new analysis pipelines to…

Software Engineering · Computer Science 2012-10-19 David Garlan , Vishal Dwivedi , Ivan Ruchkin , Bradley Schmerl

Software systems are increasingly making decisions on behalf of humans, raising concerns about the fairness of such decisions. Such concerns are usually attributed to flaws in algorithmic design or biased data, but we argue that they are…

Software Engineering · Computer Science 2021-04-09 Ali Farahani , Liliana Pasquale , Amel Bennaceur , Thomas Welsh , Bashar Nuseibeh

Program synthesis techniques offer significant new capabilities in searching for programs that satisfy high-level specifications. While synthesis has been thoroughly explored for input/output pair specifications (programming-by-example),…

Human-Computer Interaction · Computer Science 2019-09-27 Will Crichton

Generative user interfaces (UIs) create new opportunities to adapt interfaces to individual users on demand, but personalization remains difficult because desirable UI properties are subjective, hard to articulate, and costly to infer from…

Machine Learning · Computer Science 2026-04-14 Yi-Hao Peng , Samarth Das , Jeffrey P. Bigham , Jason Wu

The UML allows us to specify models in a precise, complete and unambiguous manner. In particular, the UML addresses the specification of all important decisions regarding analysis, design and implementation. Although UML is not a visual…

Software Engineering · Computer Science 2010-01-26 S. S. Riaz Ahamed

A spreadsheet usually starts as a simple and single-user software artifact, but, as frequent as in other software systems, quickly evolves into a complex system developed by many actors. Often, different users work on different aspects of…

Software Engineering · Computer Science 2015-03-12 Pedro Maia , Jorge Mendes , Jácome Cunha , Henrique Rebêlo , João Saraiva

Software frequently converts data from one representation to another and vice versa. Naively specifying both conversion directions separately is error prone and introduces conceptual duplication. Instead, bidirectional programming…

Programming Languages · Computer Science 2019-02-20 Li-yao Xia , Dominic Orchard , Meng Wang

Computational Steering, the combination of a simulation back-end with a visualisation front-end, offers great possibilities to exploit and optimise scenarios in engineering applications. Due to its interactivity, it requires fast grid…

Computational Engineering, Finance, and Science · Computer Science 2018-07-03 Atanas Atanasov , Hans-Joachim Bungartz , Jérôme Frisch , Miriam Mehl , Ralf-Peter Mundani , Ernst Rank , Christoph van Treeck

Empirical software engineering is concerned with the design and analysis of empirical studies that include software products, processes, and resources. Optimization is a form of data analytics in support of human decision-making.…

Software Engineering · Computer Science 2019-12-05 Guenther Ruhe

Software is becoming a critical component of most products and organizational functions. The ability to continuously improve software determines how well the organization can respond to market opportunities. Continuous software engineering…

Software Engineering · Computer Science 2022-03-25 Eriks Klotins , Tony Gorschek

One of the goals of Software design is to model a system in such a way that it is reused. Actively reusing designs or code allows taking advantage of the investment made on reusable components. However development of domain specific…

Software Engineering · Computer Science 2014-06-17 N. Md Jubair Basha , Salman Abdul Moiz

A powerful data transformation method named guided projections is proposed creating new possibilities to reveal the group structure of high-dimensional data in the presence of noise variables. Utilising projections onto a space spanned by a…

Generic programming is an effective methodology for developing reusable software libraries. Many programming languages provide generics and have features for describing interfaces, but none completely support the idioms used in generic…

Programming Languages · Computer Science 2007-08-17 Jeremy G. Siek , Andrew Lumsdaine

Large language models (LLMs) have evolved beyond simple text generation to power software agents that directly translate natural language commands into tangible actions. While API-based LLM agents initially rose to prominence for their…

Artificial Intelligence · Computer Science 2025-06-24 Chaoyun Zhang , Shilin He , Liqun Li , Si Qin , Yu Kang , Qingwei Lin , Saravan Rajmohan , Dongmei Zhang

Program obfuscation is a widely employed approach for software intellectual property protection. However, general obfuscation methods (e.g., lexical obfuscation, control obfuscation) implemented in mainstream obfuscation tools are heuristic…

Cryptography and Security · Computer Science 2017-10-04 Hui Xu , Yangfan Zhou , Yu Kang , Michael R. Lyu