-
Beyond recognizing well-covered graphs
Authors:
Carl Feghali,
Malory Marin,
Rémi Watrigant
Abstract:
We prove a number of results related to the computational complexity of recognizing well-covered graphs. Let $k$ and $s$ be positive integers and let $G$ be a graph. Then $G$ is said
- $\mathbf{W_k}$ if for any $k$ pairwise disjoint independent vertex sets $A_1, \dots, A_k$ in $G$, there exist $k$ pairwise disjoint maximum independent sets $S_1, \dots,S_k$ in $G$ such that $A_i \subseteq S_i$ fo…
▽ More
We prove a number of results related to the computational complexity of recognizing well-covered graphs. Let $k$ and $s$ be positive integers and let $G$ be a graph. Then $G$ is said
- $\mathbf{W_k}$ if for any $k$ pairwise disjoint independent vertex sets $A_1, \dots, A_k$ in $G$, there exist $k$ pairwise disjoint maximum independent sets $S_1, \dots,S_k$ in $G$ such that $A_i \subseteq S_i$ for $i \in [k]$.
- $\mathbf{E_s}$ if every independent set in $G$ of size at most $s$ is contained in a maximum independent set in $G$.
Chvátal and Slater (1993) and Sankaranarayana and Stewart (1992) famously showed that recognizing $\mathbf{W_1}$ graphs or, equivalently, well-covered graphs is coNP-complete. We extend this result by showing that recognizing $\mathbf{W_{k+1}}$ graphs in either $\mathbf{W_k}$ or $\mathbf{E_s}$ graphs is coNP-complete. This answers a question of Levit and Tankus (2023) and strengthens a theorem of Feghali and Marin (2024). We also show that recognizing $\mathbf{E_{s+1}}$ graphs is $Θ_2^p$-complete even in $\mathbf{E_s}$ graphs, where $Θ_2^p = \text{P}^{\text{NP}[\log]}$ is the class of problems solvable in polynomial time using a logarithmic number of calls to a SAT oracle. This strengthens a theorem of Bergé, Busson, Feghali and Watrigant (2023). We also obtain the complete picture of the complexity of recognizing chordal $\mathbf{W_k}$ and $\mathbf{E_s}$ graphs which, in particular, simplifies and generalizes a result of Dettlaff, Henning and Topp (2023).
△ Less
Submitted 11 April, 2024;
originally announced April 2024.
-
Enumerating All Maximal Clique-Partitions of an Undirected Graph
Authors:
Mircea Marin,
Temur Kutsia,
Cleo Pau,
Mikheil Rukhaia
Abstract:
We address the problem of enumerating all maximal clique-partitions of an undirected graph and present an algorithm based on the observation that every maximal clique-partition can be produced from the maximal clique-cover of the graph by assigning the vertices shared among maximal cliques, to belong to only one clique. This simple algorithm has the following drawbacks: (1) the search space is ver…
▽ More
We address the problem of enumerating all maximal clique-partitions of an undirected graph and present an algorithm based on the observation that every maximal clique-partition can be produced from the maximal clique-cover of the graph by assigning the vertices shared among maximal cliques, to belong to only one clique. This simple algorithm has the following drawbacks: (1) the search space is very large; (2) it finds some clique-partitions which are not maximal; and (3) some clique-partitions are found more than once. We propose two criteria to avoid these drawbacks. The outcome is an algorithm that explores a much smaller search space and guarantees that every maximal clique-partition is computed only once. The algorithm can be used in problems such as anti-unification with proximity relations or in resource allocation tasks when one looks for several alternative ways to allocate resources.
△ Less
Submitted 24 September, 2023;
originally announced September 2023.
-
Three remarks on $\mathbf{W_2}$ graphs
Authors:
Carl Feghali,
Malory Marin
Abstract:
Let $k \geq 1$. A graph $G$ is $\mathbf{W_k}$ if for any $k$ pairwise disjoint independent vertex subsets $A_1, \dots, A_k$ in $G$, there exist $k$ pairwise disjoint maximum independent sets $S_1, \dots, S_k$ in $G$ such that $A_i \subseteq S_i$ for $i \in [k]$. Recognizing $\mathbf{W_1}$ graphs is co-NP-hard, as shown by Chvátal and Slater (1993) and, independently, by Sankaranarayana and Stewart…
▽ More
Let $k \geq 1$. A graph $G$ is $\mathbf{W_k}$ if for any $k$ pairwise disjoint independent vertex subsets $A_1, \dots, A_k$ in $G$, there exist $k$ pairwise disjoint maximum independent sets $S_1, \dots, S_k$ in $G$ such that $A_i \subseteq S_i$ for $i \in [k]$. Recognizing $\mathbf{W_1}$ graphs is co-NP-hard, as shown by Chvátal and Slater (1993) and, independently, by Sankaranarayana and Stewart (1992). Extending this result and answering a recent question of Levit and Tankus, we show that recognizing $\mathbf{W_k}$ graphs is co-NP-hard for $k \geq 2$. On the positive side, we show that recognizing $\mathbf{W_k}$ graphs is, for each $k\geq 2$, FPT parameterized by clique-width and by tree-width. Finally, we construct graphs $G$ that are not $\mathbf{W_2}$ such that, for every vertex $v$ in $G$ and every maximal independent set $S$ in $G - N[v]$, the largest independent set in $N(v) \setminus S$ consists of a single vertex, thereby refuting a conjecture of Levit and Tankus.
△ Less
Submitted 15 November, 2023; v1 submitted 28 July, 2023;
originally announced July 2023.
-
Learning about the reduction of food waste using Blockchain technology
Authors:
Monica-Paula Marin,
Iuliana Marin,
Livia Vidu
Abstract:
Farmers need to be efficient and dedicate a lot of time in order to sustain the quality of their animals which are in their care. The most convenient and good quality - price ratio should be chosen for the feed of animals. Blockchain is used in a virtual space to store and share information over a network of users. This is done using the open source Hyperledger Fabric platform. The transactions ca…
▽ More
Farmers need to be efficient and dedicate a lot of time in order to sustain the quality of their animals which are in their care. The most convenient and good quality - price ratio should be chosen for the feed of animals. Blockchain is used in a virtual space to store and share information over a network of users. This is done using the open source Hyperledger Fabric platform. The transactions can be viewed by all the other users in real time. These transactions are stored as JSONs inside CouchDB NoSQL database which supports queries on a large volume of data. When using this technology, the farmer can know with whom the supplier for animal feed collaborated with. The history of the transactions are not saved in just one place. In this way, it is more difficult to hack and provide implausible information. An e-learning platform was created where the farm's user can post information, respectively new blocks about the animal's birth, vaccinations, medicines, including the location of the livestock. The same e-learning platform is accessible from the mobile phone. By using the blockchain technology, anyone, including the client from the shop can know a lot about the origin of the products. Fake origins of food are much more difficult to hide. Fraud is also limited. The system monitored the traceability of dairy products inside a Romanian farm. Data about fodder provider and quality, cow productive performances and health and dairy products process were obtained and analyzed by students who will become specialists at all the levels of the food chain. Blockchain is the technology which in case of a dairy products contamination, the origin of the farm is traced in just a couple of seconds. In this way just a batch of dairy products is removed from distribution, leading to the reduction of food waste.
△ Less
Submitted 3 January, 2021;
originally announced January 2021.
-
Regular matching problems for infinite trees
Authors:
Carlos Camino,
Volker Diekert,
Besik Dundua,
Mircea Marin,
Géraud Sénizergues
Abstract:
We study the matching problem of regular tree languages, that is, "$\exists σ:σ(L)\subseteq R$?" where $L,R$ are regular tree languages over the union of finite ranked alphabets $Σ$ and $\mathcal{X}$ where $\mathcal{X}$ is an alphabet of variables and $σ$ is a substitution such that $σ(x)$ is a set of trees in $T(Σ\cup H)\setminus H$ for all $x\in \mathcal{X}$. Here, $H$ denotes a set of "holes" w…
▽ More
We study the matching problem of regular tree languages, that is, "$\exists σ:σ(L)\subseteq R$?" where $L,R$ are regular tree languages over the union of finite ranked alphabets $Σ$ and $\mathcal{X}$ where $\mathcal{X}$ is an alphabet of variables and $σ$ is a substitution such that $σ(x)$ is a set of trees in $T(Σ\cup H)\setminus H$ for all $x\in \mathcal{X}$. Here, $H$ denotes a set of "holes" which are used to define a "sorted" concatenation of trees. Conway studied this problem in the special case for languages of finite words in his classical textbook "Regular algebra and finite machines" published in 1971. He showed that if $L$ and $R$ are regular, then the problem "$\exists σ\forall x\in \mathcal{X}: σ(x)\neq \emptyset\wedge σ(L)\subseteq R$?" is decidable. Moreover, there are only finitely many maximal solutions, the maximal solutions are regular substitutions, and they are effectively computable. We extend Conway's results when $L,R$ are regular languages of finite and infinite trees, and language substitution is applied inside-out, in the sense of Engelfriet and Schmidt (1977/78). More precisely, we show that if $L\subseteq T(Σ\cup\mathcal{X})$ and $R\subseteq T(Σ)$ are regular tree languages over finite or infinite trees, then the problem "$\exists σ\forall x\in \mathcal{X}: σ(x)\neq \emptyset\wedge σ_{\mathrm{io}}(L)\subseteq R$?" is decidable. Here, the subscript "$\mathrm{io}$" in $σ_{\mathrm{io}}(L)$ refers to "inside-out". Moreover, there are only finitely many maximal solutions $σ$, the maximal solutions are regular substitutions and effectively computable. The corresponding question for the outside-in extension $σ_{\mathrm{oi}}$ remains open, even in the restricted setting of finite trees.
△ Less
Submitted 31 January, 2022; v1 submitted 21 April, 2020;
originally announced April 2020.
-
Interactive Particle Systems on Hypergraphs, Drift Analysis and the WalkSAT algorithm
Authors:
Gabriel Istrate,
Cosmin Bonchis,
Mircea Marin
Abstract:
We analyze the expected running time of WalkSAT, a well-known local search procedure for satisfiability solving, on satisfiable instances of the k-XOR SAT problem. We obtain estimates of this expected running time by reducing the problem to a setting amenable to classical techniques from drift analysis.
A crucial ingredient of this reduction is the definition of (new, explosive) hypergraph versi…
▽ More
We analyze the expected running time of WalkSAT, a well-known local search procedure for satisfiability solving, on satisfiable instances of the k-XOR SAT problem. We obtain estimates of this expected running time by reducing the problem to a setting amenable to classical techniques from drift analysis.
A crucial ingredient of this reduction is the definition of (new, explosive) hypergraph versions of interacting particle systems, notably of coalescing and annihilating random walks as well as the voter model. The use of these tools allows to show that the expected running time of WalkSAT depends on structural parameter (we call odd Cheeger drift) of the dual of the formula hypergraph.
△ Less
Submitted 26 September, 2019;
originally announced September 2019.
-
Proceedings Third Symposium on Working Formal Methods
Authors:
Mircea Marin,
Adrian Crăciun
Abstract:
This volume contains the proceedings of FROM 2019: the Third Symposium on Working Formal Methods, held on September 3-5, 2019 in Timişoara (Romania). FROM aims to bring together researchers and practitioners who work on formal methods by contributing new theoretical results, methods, techniques, and frameworks, and/or make the formal methods to work by creating or using software tools that apply…
▽ More
This volume contains the proceedings of FROM 2019: the Third Symposium on Working Formal Methods, held on September 3-5, 2019 in Timişoara (Romania). FROM aims to bring together researchers and practitioners who work on formal methods by contributing new theoretical results, methods, techniques, and frameworks, and/or make the formal methods to work by creating or using software tools that apply theoretical contributions.
△ Less
Submitted 2 September, 2019;
originally announced September 2019.
-
Evaluation of an AI System for the Detection of Diabetic Retinopathy from Images Captured with a Handheld Portable Fundus Camera: the MAILOR AI study
Authors:
T W Rogers,
J Gonzalez-Bueno,
R Garcia Franco,
E Lopez Star,
D Méndez Marín,
J Vassallo,
V C Lansingh,
S Trikha,
N Jaccard
Abstract:
Objectives: To evaluate the performance of an Artificial Intelligence (AI) system (Pegasus, Visulytix Ltd., UK), at the detection of Diabetic Retinopathy (DR) from images captured by a handheld portable fundus camera.
Methods: A cohort of 6,404 patients (~80% with diabetes mellitus) was screened for retinal diseases using a handheld portable fundus camera (Pictor Plus, Volk Optical Inc., USA) at…
▽ More
Objectives: To evaluate the performance of an Artificial Intelligence (AI) system (Pegasus, Visulytix Ltd., UK), at the detection of Diabetic Retinopathy (DR) from images captured by a handheld portable fundus camera.
Methods: A cohort of 6,404 patients (~80% with diabetes mellitus) was screened for retinal diseases using a handheld portable fundus camera (Pictor Plus, Volk Optical Inc., USA) at the Mexican Advanced Imaging Laboratory for Ocular Research. The images were graded for DR by specialists according to the Scottish DR grading scheme. The performance of the AI system was evaluated, retrospectively, in assessing Referable DR (RDR) and Proliferative DR (PDR) and compared to the performance on a publicly available desktop camera benchmark dataset.
Results: For RDR detection, Pegasus performed with an 89.4% (95% CI: 88.0-90.7) Area Under the Receiver Operating Characteristic (AUROC) curve for the MAILOR cohort, compared to an AUROC of 98.5% (95% CI: 97.8-99.2) on the benchmark dataset. This difference was statistically significant. Moreover, no statistically significant difference was found in performance for PDR detection with Pegasus achieving an AUROC of 94.3% (95% CI: 91.0-96.9) on the MAILOR cohort and 92.2% (95% CI: 89.4-94.8) on the benchmark dataset.
Conclusions: Pegasus showed good transferability for the detection of PDR from a curated desktop fundus camera dataset to real-world clinical practice with a handheld portable fundus camera. However, there was a substantial, and statistically significant, decrease in the diagnostic performance for RDR when using the handheld device.
△ Less
Submitted 18 August, 2019;
originally announced August 2019.
-
A large-scale crowdsourced analysis of abuse against women journalists and politicians on Twitter
Authors:
Laure Delisle,
Alfredo Kalaitzis,
Krzysztof Majewski,
Archy de Berker,
Milena Marin,
Julien Cornebise
Abstract:
We report the first, to the best of our knowledge, hand-in-hand collaboration between human rights activists and machine learners, leveraging crowd-sourcing to study online abuse against women on Twitter. On a technical front, we carefully curate an unbiased yet low-variance dataset of labeled tweets, analyze it to account for the variability of abuse perception, and establish baselines, preparing…
▽ More
We report the first, to the best of our knowledge, hand-in-hand collaboration between human rights activists and machine learners, leveraging crowd-sourcing to study online abuse against women on Twitter. On a technical front, we carefully curate an unbiased yet low-variance dataset of labeled tweets, analyze it to account for the variability of abuse perception, and establish baselines, preparing it for release to community research efforts. On a social impact front, this study provides the technical backbone for a media campaign aimed at raising public and deciders' awareness and elevating the standards expected from social media companies.
△ Less
Submitted 31 January, 2019;
originally announced February 2019.
-
Introduction to the Case Management Model and Notation (CMMN)
Authors:
Mike A. Marin
Abstract:
This is a short tutorial of the Case Management Model and Notation (CMMN) version 1.0. It is targeted to readers with knowledge of basic process or workflow modeling, and it covers the complete CMMN notation. A simple complaints process is used to demonstrate the notation. At the end of the tutorial the reader will be able to understand and create CMMN models. An appendix summarizing the notation…
▽ More
This is a short tutorial of the Case Management Model and Notation (CMMN) version 1.0. It is targeted to readers with knowledge of basic process or workflow modeling, and it covers the complete CMMN notation. A simple complaints process is used to demonstrate the notation. At the end of the tutorial the reader will be able to understand and create CMMN models. An appendix summarizing the notation is included for reference purposes.
△ Less
Submitted 17 August, 2016;
originally announced August 2016.
-
Case Management: a data set of definitions
Authors:
Mike A. Marin,
Matheus Hauder
Abstract:
Knowledge-intensive processes (KiPs) are becoming increasingly important for organizations with the rise of the knowledge society. Due to their unpredictable and emergent characteristic worklfow management solutions are not suitable to support KiPs. Various case management related approaches have been proposed by researchers and practitioners to support characteristics of KiPs. In this paper we pr…
▽ More
Knowledge-intensive processes (KiPs) are becoming increasingly important for organizations with the rise of the knowledge society. Due to their unpredictable and emergent characteristic worklfow management solutions are not suitable to support KiPs. Various case management related approaches have been proposed by researchers and practitioners to support characteristics of KiPs. In this paper we provide a comprehensive list of definitions available on case management, e.g. case handling, adaptive case management, dynamic case management, production case management. For every definition we present the explicit definition, paragraphs that better describe and summarize the case management approach, or extracted sequences that define the term in the referenced publication. All of these definitions are compared against characteristics of KiPs in order to get about understanding of the domain.
△ Less
Submitted 14 July, 2015;
originally announced July 2015.
-
Implementing a Case Management Modeling and Notation (CMMN) System using a Content Management Interoperability Services (CMIS) compliant repository
Authors:
Mike A. Marin,
Jay A. Brown
Abstract:
This paper describes how a Case Management Modeling and Notation (CMMN) implementation can use Content Management Interoperability Services (CMIS) to implement the CMMN information model. The interaction between CMMN and CMIS is described in detail, and two implementation alternatives are presented. An integration alternative where any external CMIS repository is used. This alternative is useful t…
▽ More
This paper describes how a Case Management Modeling and Notation (CMMN) implementation can use Content Management Interoperability Services (CMIS) to implement the CMMN information model. The interaction between CMMN and CMIS is described in detail, and two implementation alternatives are presented. An integration alternative where any external CMIS repository is used. This alternative is useful to process technology vendors looking to integrate with CMIS compliant repositories. An embedded alternative where a CMIS repository is embedded within the CMMN engine. This alternative is useful to content management vendors implementing CMMN. In both alternatives a CMIS folder is used as the case file containing the case instance data. The CMIS repository can also be used to store the CMMN models to take advantage of CMIS versioning and meta-data. Extensive Java pseudocode is provided as an example of how a CMMN implementation can use a CMIS repository to implement the CMMN information model. No extensions to CMIS are needed, and only minor extensions to CMMN are proposed.
△ Less
Submitted 25 April, 2015;
originally announced April 2015.
-
CLP(H): Constraint Logic Programming for Hedges
Authors:
Besik Dundua,
Mário Florido,
Temur Kutsia,
Mircea Marin
Abstract:
CLP(H) is an instantiation of the general constraint logic programming scheme with the constraint domain of hedges. Hedges are finite sequences of unranked terms, built over variadic function symbols and three kinds of variables: for terms, for hedges, and for function symbols. Constraints involve equations between unranked terms and atoms for regular hedge language membership. We study algebraic…
▽ More
CLP(H) is an instantiation of the general constraint logic programming scheme with the constraint domain of hedges. Hedges are finite sequences of unranked terms, built over variadic function symbols and three kinds of variables: for terms, for hedges, and for function symbols. Constraints involve equations between unranked terms and atoms for regular hedge language membership. We study algebraic semantics of CLP(H) programs, define a sound, terminating, and incomplete constraint solver, investigate two fragments of constraints for which the solver returns a complete set of solutions, and describe classes of programs that generate such constraints.
△ Less
Submitted 1 March, 2015;
originally announced March 2015.
-
Learning cover context-free grammars from structural data
Authors:
Mircea Marin,
Gabriel Istrate
Abstract:
We consider the problem of learning an unknown context-free grammar when the only knowledge available and of interest to the learner is about its structural descriptions with depth at most $\ell.$ The goal is to learn a cover context-free grammar (CCFG) with respect to $\ell$, that is, a CFG whose structural descriptions with depth at most $\ell$ agree with those of the unknown CFG. We propose an…
▽ More
We consider the problem of learning an unknown context-free grammar when the only knowledge available and of interest to the learner is about its structural descriptions with depth at most $\ell.$ The goal is to learn a cover context-free grammar (CCFG) with respect to $\ell$, that is, a CFG whose structural descriptions with depth at most $\ell$ agree with those of the unknown CFG. We propose an algorithm, called $LA^\ell$, that efficiently learns a CCFG using two types of queries: structural equivalence and structural membership. We show that $LA^\ell$ runs in time polynomial in the number of states of a minimal deterministic finite cover tree automaton (DCTA) with respect to $\ell$. This number is often much smaller than the number of states of a minimum deterministic finite tree automaton for the structural descriptions of the unknown grammar.
△ Less
Submitted 9 April, 2014;
originally announced April 2014.
-
Proposal for a Correction to the Temporal Correlation Coefficient Calculation for Temporal Networks
Authors:
Fiona Pigott,
Mauricio Rene Herrera Marin
Abstract:
Measuring the topological overlap of two graphs becomes important when assessing the changes between temporally adjacent graphs in a time-evolving network. Current methods depend on the fraction of nodes that have persisting edges. This breaks down when there are nodes with no edges, persisting or otherwise. The following outlines a proposed correction to ensure that correlation metrics have the e…
▽ More
Measuring the topological overlap of two graphs becomes important when assessing the changes between temporally adjacent graphs in a time-evolving network. Current methods depend on the fraction of nodes that have persisting edges. This breaks down when there are nodes with no edges, persisting or otherwise. The following outlines a proposed correction to ensure that correlation metrics have the expected behavior.
△ Less
Submitted 5 March, 2014;
originally announced March 2014.
-
Strategies in PRholog
Authors:
Besik Dundua,
Temur Kutsia,
Mircea Marin
Abstract:
PRholog is an experimental extension of logic programming with strategic conditional transformation rules, combining Prolog with Rholog calculus. The rules perform nondeterministic transformations on hedges. Queries may have several results that can be explored on backtracking. Strategies provide a control on rule applications in a declarative way. With strategy combinators, the user can constru…
▽ More
PRholog is an experimental extension of logic programming with strategic conditional transformation rules, combining Prolog with Rholog calculus. The rules perform nondeterministic transformations on hedges. Queries may have several results that can be explored on backtracking. Strategies provide a control on rule applications in a declarative way. With strategy combinators, the user can construct more complex strategies from simpler ones. Matching with four different kinds of variables provides a flexible mechanism of selecting (sub)terms during execution. We give an overview on programming with strategies in PRholog and demonstrate how rewriting strategies can be expressed.
△ Less
Submitted 25 January, 2010;
originally announced January 2010.
-
An Integrated Crosscutting Concern Migration Strategy and its Application to JHotDraw
Authors:
Marius Marin,
Leon Moonen,
Arie van Deursen
Abstract:
In this paper we propose a systematic strategy for migrating crosscutting concerns in existing object-oriented systems to aspect-based solutions. The proposed strategy consists of four steps: mining, exploration, documentation and refactoring of crosscutting concerns. We discuss in detail a new approach to aspect refactoring that is fully integrated with our strategy, and apply the whole strateg…
▽ More
In this paper we propose a systematic strategy for migrating crosscutting concerns in existing object-oriented systems to aspect-based solutions. The proposed strategy consists of four steps: mining, exploration, documentation and refactoring of crosscutting concerns. We discuss in detail a new approach to aspect refactoring that is fully integrated with our strategy, and apply the whole strategy to an object-oriented system, namely the JHotDraw framework. The result of this migration is made available as an open-source project, which is the largest aspect refactoring available to date. We report on our experiences with conducting this case study and reflect on the success and challenges of the migration process, as well as on the feasibility of automatic aspect refactoring.
△ Less
Submitted 22 July, 2007; v1 submitted 16 July, 2007;
originally announced July 2007.
-
Identifying Crosscutting Concerns Using Fan-in Analysis
Authors:
Marius Marin,
Arie van Deursen,
Leon Moonen
Abstract:
Aspect mining is a reverse engineering process that aims at finding crosscutting concerns in existing systems. This paper proposes an aspect mining approach based on determining methods that are called from many different places, and hence have a high fan-in, which can be seen as a symptom of crosscutting functionality. The approach is semi-automatic, and consists of three steps: metric calculat…
▽ More
Aspect mining is a reverse engineering process that aims at finding crosscutting concerns in existing systems. This paper proposes an aspect mining approach based on determining methods that are called from many different places, and hence have a high fan-in, which can be seen as a symptom of crosscutting functionality. The approach is semi-automatic, and consists of three steps: metric calculation, method filtering, and call site analysis. Carrying out these steps is an interactive process supported by an Eclipse plug-in called FINT. Fan-in analysis has been applied to three open source Java systems, totaling around 200,000 lines of code. The most interesting concerns identified are discussed in detail, which includes several concerns not previously discussed in the aspect-oriented literature. The results show that a significant number of crosscutting concerns can be recognized using fan-in analysis, and each of the three steps can be supported by tools.
△ Less
Submitted 19 February, 2007; v1 submitted 26 September, 2006;
originally announced September 2006.
-
Applying and Combining Three Different Aspect Mining Techniques
Authors:
Mariano Ceccato,
Marius Marin,
Kim Mens,
Leon Moonen,
Paolo Tonella,
Tom Tourwe
Abstract:
Understanding a software system at source-code level requires understanding the different concerns that it addresses, which in turn requires a way to identify these concerns in the source code. Whereas some concerns are explicitly represented by program entities (like classes, methods and variables) and thus are easy to identify, crosscutting concerns are not captured by a single program entity…
▽ More
Understanding a software system at source-code level requires understanding the different concerns that it addresses, which in turn requires a way to identify these concerns in the source code. Whereas some concerns are explicitly represented by program entities (like classes, methods and variables) and thus are easy to identify, crosscutting concerns are not captured by a single program entity but are scattered over many program entities and are tangled with the other concerns. Because of their crosscutting nature, such crosscutting concerns are difficult to identify, and reduce the understandability of the system as a whole.
In this paper, we report on a combined experiment in which we try to identify crosscutting concerns in the JHotDraw framework automatically. We first apply three independently developed aspect mining techniques to JHotDraw and evaluate and compare their results. Based on this analysis, we present three interesting combinations of these three techniques, and show how these combinations provide a more complete coverage of the detected concerns as compared to the original techniques individually. Our results are a first step towards improving the understandability of a system that contains crosscutting concerns, and can be used as a basis for refactoring the identified crosscutting concerns into aspects.
△ Less
Submitted 2 July, 2006;
originally announced July 2006.
-
Formalizing typical crosscutting concerns
Authors:
Marius Marin
Abstract:
We present a consistent system for referring crosscutting functionality, relating crosscutting concerns to specific implementation idioms, and formalizing their underlying relations through queries. The system is based on generic crosscutting concerns that we organize and describe in a catalog.
We have designed and implemented a tool support for querying source code for instances of the propos…
▽ More
We present a consistent system for referring crosscutting functionality, relating crosscutting concerns to specific implementation idioms, and formalizing their underlying relations through queries. The system is based on generic crosscutting concerns that we organize and describe in a catalog.
We have designed and implemented a tool support for querying source code for instances of the proposed generic concerns and organizing them in composite concern models. The composite concern model adds a new dimension to the dominant decomposition of the system for describing and making explicit source code relations specific to crosscutting concerns implementations.
We use the proposed approach to describe crosscutting concerns in design patterns and apply the tool to an opensource system (JHotDraw).
△ Less
Submitted 29 June, 2006;
originally announced June 2006.
-
A common framework for aspect mining based on crosscutting concern sorts
Authors:
Marius Marin,
Leon Moonen,
Arie van Deursen
Abstract:
The increasing number of aspect mining techniques proposed in literature calls for a methodological way of comparing and combining them in order to assess, and improve on, their quality. This paper addresses this situation by proposing a common framework based on crosscutting concern sorts which allows for consistent assessment, comparison and combination of aspect mining techniques. The framewo…
▽ More
The increasing number of aspect mining techniques proposed in literature calls for a methodological way of comparing and combining them in order to assess, and improve on, their quality. This paper addresses this situation by proposing a common framework based on crosscutting concern sorts which allows for consistent assessment, comparison and combination of aspect mining techniques. The framework identifies a set of requirements that ensure homogeneity in formulating the mining goals, presenting the results and assessing their quality.
We demonstrate feasibility of the approach by retrofitting an existing aspect mining technique to the framework, and by using it to design and implement two new mining techniques. We apply the three techniques to a known aspect mining benchmark and show how they can be consistently assessed and combined to increase the quality of the results. The techniques and combinations are implemented in FINT, our publicly available free aspect mining tool.
△ Less
Submitted 27 June, 2006;
originally announced June 2006.
-
A Systematic Aspect-Oriented Refactoring and Testing Strategy, and its Application to JHotDraw
Authors:
Arie van Deursen,
Marius Marin,
Leon Moonen
Abstract:
Aspect oriented programming aims at achieving better modularization for a system's crosscutting concerns in order to improve its key quality attributes, such as evolvability and reusability. Consequently, the adoption of aspect-oriented techniques in existing (legacy) software systems is of interest to remediate software aging. The refactoring of existing systems to employ aspect-orientation wil…
▽ More
Aspect oriented programming aims at achieving better modularization for a system's crosscutting concerns in order to improve its key quality attributes, such as evolvability and reusability. Consequently, the adoption of aspect-oriented techniques in existing (legacy) software systems is of interest to remediate software aging. The refactoring of existing systems to employ aspect-orientation will be considerably eased by a systematic approach that will ensure a safe and consistent migration.
In this paper, we propose a refactoring and testing strategy that supports such an approach and consider issues of behavior conservation and (incremental) integration of the aspect-oriented solution with the original system. The strategy is applied to the JHotDraw open source project and illustrated on a group of selected concerns. Finally, we abstract from the case study and present a number of generic refactorings which contribute to an incremental aspect-oriented refactoring process and associate particular types of crosscutting concerns to the model and features of the employed aspect language. The contributions of this paper are both in the area of supporting migration towards aspect-oriented solutions and supporting the development of aspect languages that are better suited for such migrations.
△ Less
Submitted 5 March, 2005;
originally announced March 2005.