English
Related papers

Related papers: Pattern Atlas

200 papers

Code comprehension is often supported by source code analysis tools which provide more abstract views over software systems, such as those detecting design patterns. These tools encompass analysis of source code and ensuing extraction of…

Software Engineering · Computer Science 2025-06-06 Hugo Andrade , João Bispo , Filipe F. Correia

Designing effective software architectures is a complex, iterative process that traditionally relies on expert judgment. This paper proposes an approach for Large Language Model (LLM)-assisted software architecture design using the…

Software Engineering · Computer Science 2025-07-01 Humberto Cervantes , Rick Kazman , Yuanfang Cai

Many creativity methods follow similar structures and principles. Design Patterns capture such invariants of proven good practices and discuss why, when and how creative thinking methods match various situations of collaboration. Moreover…

Computers and Society · Computer Science 2015-03-04 Christian Kohls

Spreadsheets provide a flexible and easy to use software development environment, but that leads to error proneness. Work has been done to prevent errors in spreadsheets, including using models to specify distinct parts of a spreadsheet as…

Software Engineering · Computer Science 2017-07-11 Jorge Mendes , João Saraiva

The thesis develops a view of design in a concept formation framework and outlines a language to describe both the object of the design and the process of designing. The unknown object at the outset of the design work may be seen as an…

Artificial Intelligence · Computer Science 2024-04-23 Arnulf Hagen

Multilingual programs, whose implementations are made of different languages, are gaining traction especially in domains, such as web programming, that particularly benefit from the additional flexibility brought by using multiple…

Programming Languages · Computer Science 2024-07-17 Carlo A. Furia , Abhishek Tiwari

This paper describes a new technique, called "knowledge patterns", for helping construct axiom-rich, formal ontologies, based on identifying and explicitly representing recurring patterns of knowledge (theory schemata) in the ontology, and…

Artificial Intelligence · Computer Science 2020-05-12 Peter Clark , John Thompson , Bruce Porter

Discovering pattern sets or global patterns is an attractive issue from the pattern mining community in order to provide useful information. By combining local patterns satisfying a joint meaning, this approach produces patterns of higher…

Machine Learning · Computer Science 2011-07-19 Patrice Boizumault , Bruno Crémilleux , Mehdi Khiari , Samir Loudni , Jean-Philippe Métivier

Pattern matching is a powerful tool for symbolic computations, based on the well-defined theory of term rewriting systems. Application domains include algebraic expressions, abstract syntax trees, and XML and JSON data. Unfortunately, no…

Programming Languages · Computer Science 2017-10-20 Manuel Krebber , Henrik Barthels , Paolo Bientinesi

Matching Logic is a framework for specifying programming language semantics and reasoning about programs. Its formulas are called patterns and are built with variables, symbols, connectives and quantifiers. A pattern is a combination of…

Logic in Computer Science · Computer Science 2018-11-16 Andrei Arusoaie , Dorel Lucanu

Many programming languages in the OO tradition now support pattern matching in some form. Historical examples include Scala and Ceylon, with the more recent additions of Java, Kotlin, TypeScript, and Flow. But pattern matching on generic…

Programming Languages · Computer Science 2023-02-24 Aleksander Boruch-Gruszecki , Radosław Waśko , Yichen Xu , Lionel Parreaux

With XML becoming an ubiquitous language for data interoperability purposes in various domains, efficiently querying XML data is a critical issue. This has lead to the design of algebraic frameworks based on tree-shaped patterns akin to the…

Databases · Computer Science 2017-01-18 Marouane Hachicha , Jérôme Darmont

We classify and review current approaches to software infrastructure for research, development and delivery of NLP systems. The task is motivated by a discussion of current trends in the field of NLP and Language Engineering. We describe a…

cmp-lg · Computer Science 2008-02-03 Hamish Cunningham , Kevin Humphreys , Robert Gaizauskas , Yorick Wilks

Despite much progress, developing a pervasive computing application remains a challenge because of a lack of conceptual frameworks and supporting tools. This challenge involves coping with heterogeneous devices, overcoming the intricacies…

Programming Languages · Computer Science 2012-03-30 Damien Cassou , Julien Bruneau , Charles Consel , Emilie Balland

Architectural reconstruction is a reverse engineering activity aiming at recovering the missing decisions on a system. It can help identify the components, within a legacy software application, according to the application's architectural…

Software Engineering · Computer Science 2021-12-06 Alvine B. Belle , Ghizlane El Boussaidi , Timothy C. Lethbridge , Segla Kpodjedo , Hafedh Mili , Andres Paz

In the last two decades, tools have been implemented to more formally specify the semantic analysis phase of a compiler instead of relying on handwritten code. In this paper, we introduce patterns and a method to translate a formal…

Programming Languages · Computer Science 2020-02-06 Uwe Meyer , Björn Pfarr

Join patterns are a high-level programming construct for message-passing applications. They offer an intuitive and declarative approach for specifying how concurrent and distributed components coordinate, possibly depending on complex…

Programming Languages · Computer Science 2026-03-09 Ayman Hussein , Philipp Haller , Ioannis Karras , Hernán Melgratti , Alceste Scalas , Emilio Tuosto

In functional programming languages, generalized algebraic data types (GADTs) are very useful as the unnecessary pattern matching over them can be ruled out by the failure of unification of type arguments. In dependent type systems, this is…

Programming Languages · Computer Science 2021-07-07 Tesla Zhang

Machine learning techniques have influenced the field of computer architecture like many other fields. This paper studies how the fundamental machine learning techniques can be applied towards computer architecture problems. We also provide…

Machine Learning · Computer Science 2020-12-09 Ayaz Akram , Jason Lowe-Power

Software architecture is receiving increasingly attention as a critical design level for software systems. As software architecture design resources (in the form of architectural descriptions) are going to be accumulated, the development of…

Software Engineering · Computer Science 2007-05-23 Jianjun Zhao