TL;DR: In this paper, a system and technique to specify patterns to search for in an integrated circuit layout, and specifies proposed replacement patterns is described, and a description file includes specifications for one or more patterns to be searched for.
Abstract: A system and technique to specifies patterns to search for in an integrated circuit layout, and specifies proposed replacement patterns. A description file includes specifications for one or more patterns to be searched for. In the description file, for each pattern, there may be one or more proposed replacement patterns. The description file is read. Pattern matches, if any, in a layout are found. A proposed replacement pattern is tested in place of a matched pattern. If acceptable, the proposed pattern may be used to replace the matched pattern.
TL;DR: This paper investigates strict pattern matching under the non-overlapping condition and proposes an algorithm, called NETLAP-Best, which uses Nettree structure, which is a complete algorithm and analyse the time and space complexities of the algorithm.
Abstract: Pattern matching (or string matching) is an essential task in computer science, especially in sequential pattern mining, since pattern matching methods can be used to calculate the support (or the number of occurrences) of a pattern and then to determine whether the pattern is frequent or not. A state-of-the-art sequential pattern mining with gap constraints (or flexible wildcards) uses the number of non-overlapping occurrences to denote the frequency of a pattern. Non-overlapping means that any two occurrences cannot use the same character of the sequence at the same position of the pattern. In this paper, we investigate strict pattern matching under the non-overlapping condition. We show that the problem is in P at first. Then we propose an algorithm, called NETLAP-Best, which uses Nettree structure. NETLAP-Best transforms the pattern matching problem into a Nettree and iterates to find the rightmost root-leaf path, to prune the useless nodes in the Nettree after removing the rightmost root-leaf path. We show that NETLAP-Best is a complete algorithm and analyse the time and space complexities of the algorithm. Extensive experimental results demonstrate the correctness and efficiency of NETLAP-Best.
TL;DR: In this article, a system and methods for 2D image-based design rules (IBDRs) are described, and a standard design rule can be created from the disclosed 2D IBDRs by defining an origin of a shape within the 2D pattern of interest.
Abstract: Systems and methods for creating and implementing two-dimensional (2D), image-based design rules (IBDRs) are disclosed. Techniques for creating 2D IBDR can include identifying a search pattern that is representative of a 2D pattern of interest of a design, creating a pattern representation based on the search pattern, defining an anchor point for the pattern representation, and assigning weights to elements of the pattern representation. The 2D MDR can be used in systems and method for searching a design by comparing the 2D IBDR to the design. A number of 2D IBDRs can be merged into a subset of similar 2D IBDRs by characterizing desired rule geometries, sorting the 2D IBDRs into groups according to the desired rule geometries, merging the groups of 2D IBDRs into a single representative search pattern. Additionally, standard design rules can be created from the disclosed 2D IBDRs. The standard design rule can be created from a 2D pattern of interest by defining an origin of a shape within the 2D pattern of interest, identifying features within the 2D pattern of interest, deriving parameters relative to the origin for each of the identified features, and writing the standard design rule script using the derived parameters.
TL;DR: In this article, a pattern is defined as a software artifact that comprises a pattern signature representing one or more parameters of the pattern and a pattern implementation model representing methods for expanding the pattern in a selected software context.
Abstract: A pattern implementation technique in which a pattern is defined as a software artifact that comprises a pattern signature representing one or more parameters of the pattern and a pattern implementation model representing one or more methods for expanding the pattern in a selected software context by assigning one or more arguments to the one or more parameters. The pattern implementation model can be based on one or more framework code sets, each of which supports the creation of plural patterns by providing a pattern implementation model for a particular software context. The framework code sets can be rendered extensible by a pattern author by virtue of providing methods whose code is adapted to be modified by a pattern author when defining a pattern. The pattern can be applied by creating an instance of the pattern in a software context and presenting a graphical representation of the pattern instance that can be manipulated by the pattern user in order to apply arguments to the pattern parameters.
TL;DR: This work proposes an intuitive definition of this pattern expressed as a first-order logic formula and shows that the method for automatically detecting design patterns can be used to detect instances of the Singleton with respect to this definition.
Abstract: We present a study of different implementation variants of the Singleton pattern and propose an intuitive definition of this pattern expressed as a first-order logic formula. We also show that our method for automatically detecting design patterns can be used to detect instances of the Singleton with respect to this definition. We also provide data on experiments with a proof-of-concept implementation of this detection method. These experiments prove the efficiency and high accuracy of the method, which is able to detect many non-standard variants of the Singleton in real source code.