Figure 1 - uploaded by Marianne Huchard
Content may be subject to copyright.
Boolean FM about web browsers

Boolean FM about web browsers

Source publication
Article
Full-text available
Software product line engineering relies on systematic reuse and mass customisation to reduce the development time and cost of a software system family. The extractive adoption of a product line requires to extract variability information from the description of a collection of existing software systems to model their variability. With the increasi...

Contexts in source publication

Context 1
... are typically requires and exclude constraints, and are called cross-tree constraints. The boolean FM of Figure 1 states that: all web browsers support at least one navigation strategy amongst tabbing navigation (navigating between focusable elements using the tabular key) and spatial navigation (navigating between focusable elements using the arrow keys). If the web browser allows tabbing navigation, then the user has to customise it (i.e., indicate which elements should have the focus). ...
Context 2
... also give knowledge about the modelled domain and the interactions of some of its concepts: this knowledge is called the ontological semantics of the FM [61]. From a strictly logical point of view, moving the feature CustomisedTabbing of Figure 1 under the root feature WebBrowser as an optional child feature, and adding two "requires" cross-tree constraints between the two features CustomisedTabbing and Tabbing leads to an equivalent FM (i.e., representing the same set of valid configurations). But the resulting refinement relationship (CustomisedTabbing refines WebBrowser rather than Tabbing) is different: a part of the ontological semantics of the original FM is thus lost by this transformation. ...
Context 3
... what follows, we consider the extended FM of Figure 2. The FM represents web browsers such as the FM in Figure 1, but with some additional information. The feature VoiceControl now possesses an attribute Version of type integer that defines the version number of the used voice control software. ...
Context 4
... formal context can be represented by a table O × A, where a cross in the cell (o, a) states that the object o possesses the binary attribute a. Table 2 presents an excerpt of a formal context where the objects (lines) represent variants of web browsers, and the binary attributes (columns) represent 9 accessibility features characterising these web browsers. Note that this formal context displays the configuration semantics of the boolean FM from Figure 1. ...
Context 5
... special element, denoted "*", represents a dissimilarity value to be able to specify that some patterns have no similarity. Figure 10 presents the taxonomy of patterns taken from the column FirstRelease of Table 4 and organised according to the interval similarity operator defined before. An arrow of the meet semi-lattice states that the source subsumes the target. ...
Context 6
... set of objects O, the taxonomy of patterns (D, ) and the mapping δ : O → D that associates each object o ∈ O with a pattern d ∈ D form a pattern structure. For instance, the set of products of Table 4, the taxonomy of patterns given at Figure 10, and the column FirstRelease of Table 4 associating each product to a value in Figure 10, form a pattern structure. Given a pattern structure PS = (O, (D, ), δ), a set of pattern concepts can be extracted, where a pattern concept represents a maximal set of objects O ⊆ O described by the most specific pattern d ∈ D characterising all the objects of O . ...
Context 7
... set of objects O, the taxonomy of patterns (D, ) and the mapping δ : O → D that associates each object o ∈ O with a pattern d ∈ D form a pattern structure. For instance, the set of products of Table 4, the taxonomy of patterns given at Figure 10, and the column FirstRelease of Table 4 associating each product to a value in Figure 10, form a pattern structure. Given a pattern structure PS = (O, (D, ), δ), a set of pattern concepts can be extracted, where a pattern concept represents a maximal set of objects O ⊆ O described by the most specific pattern d ∈ D characterising all the objects of O . ...
Context 8
... a pattern structure PS = (O, (D, ), δ), a set of pattern concepts can be extracted, where a pattern concept represents a maximal set of objects O ⊆ O described by the most specific pattern d ∈ D characterising all the objects of O . The set of all pattern concepts extracted from a pattern structure can be partially ordered by the specialisation relation ≤ ps as follows: given two pattern concepts Table 4 ({CVS, CVSNT}, [1986][1987][1988][1989][1990][1991][1992][1993][1994][1995][1996][1997][1998]) is a pattern concept because there is no other more specific pattern than [1986][1987][1988][1989][1990][1991][1992][1993][1994][1995][1996][1997][1998]] in Figure 10 that corresponds to both CVS and CVSNT, and there are no other products than these two that are first released between 1986 and 1998. The set of all pattern concepts of PS provided with the partial order ≤ ps forms a pattern concept lattice. ...
Context 9
... the pattern structure represents multi-valued attributes in addition to boolean features, it may also extract augmented variability information. The grammar of the variability information that can be extracted using pattern structures is presented in Figure 11. As for traditional FCA, the extraction approach is sound and complete. ...
Context 10
... have defined a 3-step process to extract augmented variability information from multi-valued matrices as depicted in Figure 12. As input, it takes a PCM (variant descriptions), and as output, it gives a file documenting the extracted variability information in the form of logical relationships. ...
Context 11
... for each product of the PCM we consider the set of features that it owns (instead of each feature individually) in order to 1) simplify the pattern vectors and the final conceptual structure by considering feature sets as patterns, and 2) automatically create a (unique) taxonomy by means of FCA. Figure 13 (left-hand side) represents the concept lattice associated with the formal context formed by the first 4 columns of Table 4. Figure 13 (right-hand side) represents the taxonomy extracted from this lattice. ...
Context 12
... FCA provides a solution to avoid redundancy and complexification of the processed data by building a canonical concept lattice in which the attributes are organised by specialisation, as in a taxonomy. Therefore, for each product of the PCM we consider the set of features that it owns (instead of each feature individually) in order to 1) simplify the pattern vectors and the final conceptual structure by considering feature sets as patterns, and 2) automatically create a (unique) taxonomy by means of FCA. Figure 13 (left-hand side) represents the concept lattice associated with the formal context formed by the first 4 columns of Table 4. Figure 13 (right-hand side) represents the taxonomy extracted from this lattice. ...
Context 13
... the attribute ProgrammingLanguage, we obtain the context of Table 5. The corresponding concept lattice and the extracted taxonomy are presented in Figure 14. In the case where the attribute values are unique for each product of the PCM, the automatically built taxonomy states that all elements are incomparable. ...
Context 14
... traditional FCA algorithms presented in Section 3 to build concept lattices and AC-poset are thus applicable as they are for pattern structures. Figure 15 presents the pattern AC-poset associated with the formal context obtained after the binary scaling of the pattern vector structure built in the previous subsection. ...
Context 15
... implications: As each concept inherits all patterns of its super-concepts, implications can be extracted between patterns (i.e., features and/or attribute values) from the partial order given by the structure. Following the arrows of Figure 15, we can see that attribute value FirstRelease: [1986][1987][1988][1989][1990][1991][1992][1993][1994][1995][1996][1997][1998]] (Concept 5) implies the feature ClientServer (Concept 8). This can be interpreted by "all software variants first released between 1986 and 1998 support a client-server repository model". ...
Context 16
... other words, they are mutually exclusive in the considered set. In Figure 15, Concept 2 and Concept 6, respectively introducing ProgrammingLanguage:java and ...
Context 17
... implications between two values of the same attribute are not taken into account, as they provide the same information as the attribute taxonomy. For instance, the binary implication FirstRelease:1986 ⇒ FirstRelease: [1986][1987][1988][1989][1990][1991][1992][1993][1994][1995][1996][1997][1998]] (Concept 3 and Concept 5 in Figure 15) is removed. Also if the same element in premise implies different values of the same attribute, only the implications with the most specific conclusions are kept. ...
Context 18
... selected two Wikipedia PCMs, one about accounting softwares (Comparison of accounting software 2) and the other one about CRM systems (Comparison of CRM systems 0). These two graphs are presented in Fig- ure 16. We also selected the Robocode PCM; its graph of influence is represented in Figure 17 Programming languages Then, we automatically separate the set of relationships in two groups depending on the graphs: the pertinent relationships and the accidental ones. ...
Context 19
... two graphs are presented in Fig- ure 16. We also selected the Robocode PCM; its graph of influence is represented in Figure 17 Programming languages Then, we automatically separate the set of relationships in two groups depending on the graphs: the pertinent relationships and the accidental ones. We consider the set of reduced relationships obtained with the aforementioned heuristics on redundancy elimination. ...
Context 20
... The sizes of pattern concept lattices and pattern AC-posets associated with the 30 PCMs of Wikipedia are presented in Figure 18. It shows the dispersion indicators (minimum (min), maximum (max), first, second and third quartile (q1, q2 and q3) and the mean) of both the number of concepts (# Concepts) and the number of edges (# Edges). ...
Context 21
... implications are analysed regarding both their transitive closure (TC) and their transitive reduction (TR). Figure 19 presents the comparison of the average number of mutex and implications before and after redundancy elimination. Table 10 presents the extracted complex logical relationships for Robocode and the 3 excerpts of JHipster (denoted JH. 500, JH. 1000 and JH. ...
Context 22
... are typically requires and exclude constraints, and are called cross-tree constraints. The boolean FM of Figure 1 states that: all web browsers support at least one navigation strategy amongst tabbing navigation (navigating between focusable elements using the tabular key) and spatial navigation (navigating between focusable elements using the arrow keys). If the web browser allows tabbing navigation, then the user has to customise it (i.e., indicate which elements should have the focus). ...
Context 23
... also give knowledge about the modelled domain and the interactions of some of its concepts: this knowledge is called the ontological semantics of the FM [61]. From a strictly logical point of view, moving the feature CustomisedTabbing of Figure 1 under the root feature WebBrowser as an optional child feature, and adding two "requires" cross-tree constraints between the two features CustomisedTabbing and Tabbing leads to an equivalent FM (i.e., representing the same set of valid configurations). But the resulting refinement relationship (CustomisedTabbing refines WebBrowser rather than Tabbing) is different: a part of the ontological semantics of the original FM is thus lost by this transformation. ...
Context 24
... what follows, we consider the extended FM of Figure 2. The FM represents web browsers such as the FM in Figure 1, but with some additional information. The feature VoiceControl now possesses an attribute Version of type integer that defines the version number of the used voice control software. ...
Context 25
... formal context can be represented by a table O × A, where a cross in the cell (o, a) states that the object o possesses the binary attribute a. Table 2 presents an excerpt of a formal context where the objects (lines) represent variants of web browsers, and the binary attributes (columns) represent 9 accessibility features characterising these web browsers. Note that this formal context displays the configuration semantics of the boolean FM from Figure 1. ...
Context 26
... special element, denoted "*", represents a dissimilarity value to be able to specify that some patterns have no similarity. Figure 10 presents the taxonomy of patterns taken from the column FirstRelease of Table 4 and organised according to the interval similarity operator defined before. An arrow of the meet semi-lattice states that the source subsumes the target. ...
Context 27
... set of objects O, the taxonomy of patterns (D, ) and the mapping δ : O → D that associates each object o ∈ O with a pattern d ∈ D form a pattern structure. For instance, the set of products of Table 4, the taxonomy of patterns given at Figure 10, and the column FirstRelease of Table 4 associating each product to a value in Figure 10, form a pattern structure. Given a pattern structure PS = (O, (D, ), δ), a set of pattern concepts can be extracted, where a pattern concept represents a maximal set of objects O ⊆ O described by the most specific pattern d ∈ D characterising all the objects of O . ...
Context 28
... set of objects O, the taxonomy of patterns (D, ) and the mapping δ : O → D that associates each object o ∈ O with a pattern d ∈ D form a pattern structure. For instance, the set of products of Table 4, the taxonomy of patterns given at Figure 10, and the column FirstRelease of Table 4 associating each product to a value in Figure 10, form a pattern structure. Given a pattern structure PS = (O, (D, ), δ), a set of pattern concepts can be extracted, where a pattern concept represents a maximal set of objects O ⊆ O described by the most specific pattern d ∈ D characterising all the objects of O . ...
Context 29
... a pattern structure PS = (O, (D, ), δ), a set of pattern concepts can be extracted, where a pattern concept represents a maximal set of objects O ⊆ O described by the most specific pattern d ∈ D characterising all the objects of O . The set of all pattern concepts extracted from a pattern structure can be partially ordered by the specialisation relation ≤ ps as follows: given two pattern concepts Table 4 ({CVS, CVSNT}, [1986][1987][1988][1989][1990][1991][1992][1993][1994][1995][1996][1997][1998]) is a pattern concept because there is no other more specific pattern than [1986][1987][1988][1989][1990][1991][1992][1993][1994][1995][1996][1997][1998]] in Figure 10 that corresponds to both CVS and CVSNT, and there are no other products than these two that are first released between 1986 and 1998. The set of all pattern concepts of PS provided with the partial order ≤ ps forms a pattern concept lattice. ...
Context 30
... the pattern structure represents multi-valued attributes in addition to boolean features, it may also extract augmented variability information. The grammar of the variability information that can be extracted using pattern structures is presented in Figure 11. As for traditional FCA, the extraction approach is sound and complete. ...
Context 31
... have defined a 3-step process to extract augmented variability information from multi-valued matrices as depicted in Figure 12. As input, it takes a PCM (variant descriptions), and as output, it gives a file documenting the extracted variability information in the form of logical relationships. ...
Context 32
... for each product of the PCM we consider the set of features that it owns (instead of each feature individually) in order to 1) simplify the pattern vectors and the final conceptual structure by considering feature sets as patterns, and 2) automatically create a (unique) taxonomy by means of FCA. Figure 13 (left-hand side) represents the concept lattice associated with the formal context formed by the first 4 columns of Table 4. Figure 13 (right-hand side) represents the taxonomy extracted from this lattice. ...
Context 33
... FCA provides a solution to avoid redundancy and complexification of the processed data by building a canonical concept lattice in which the attributes are organised by specialisation, as in a taxonomy. Therefore, for each product of the PCM we consider the set of features that it owns (instead of each feature individually) in order to 1) simplify the pattern vectors and the final conceptual structure by considering feature sets as patterns, and 2) automatically create a (unique) taxonomy by means of FCA. Figure 13 (left-hand side) represents the concept lattice associated with the formal context formed by the first 4 columns of Table 4. Figure 13 (right-hand side) represents the taxonomy extracted from this lattice. ...
Context 34
... the attribute ProgrammingLanguage, we obtain the context of Table 5. The corresponding concept lattice and the extracted taxonomy are presented in Figure 14. In the case where the attribute values are unique for each product of the PCM, the automatically built taxonomy states that all elements are incomparable. ...
Context 35
... traditional FCA algorithms presented in Section 3 to build concept lattices and AC-poset are thus applicable as they are for pattern structures. Figure 15 presents the pattern AC-poset associated with the formal context obtained after the binary scaling of the pattern vector structure built in the previous subsection. ...
Context 36
... implications: As each concept inherits all patterns of its super-concepts, implications can be extracted between patterns (i.e., features and/or attribute values) from the partial order given by the structure. Following the arrows of Figure 15, we can see that attribute value FirstRelease: [1986][1987][1988][1989][1990][1991][1992][1993][1994][1995][1996][1997][1998]] (Concept 5) implies the feature ClientServer (Concept 8). This can be interpreted by "all software variants first released between 1986 and 1998 support a client-server repository model". ...
Context 37
... other words, they are mutually exclusive in the considered set. In Figure 15, Concept 2 and Concept 6, respectively introducing ProgrammingLanguage:java and ...
Context 38
... implications between two values of the same attribute are not taken into account, as they provide the same information as the attribute taxonomy. For instance, the binary implication FirstRelease:1986 ⇒ FirstRelease: [1986][1987][1988][1989][1990][1991][1992][1993][1994][1995][1996][1997][1998]] (Concept 3 and Concept 5 in Figure 15) is removed. Also if the same element in premise implies different values of the same attribute, only the implications with the most specific conclusions are kept. ...
Context 39
... selected two Wikipedia PCMs, one about accounting softwares (Comparison of accounting software 2) and the other one about CRM systems (Comparison of CRM systems 0). These two graphs are presented in Fig- ure 16. We also selected the Robocode PCM; its graph of influence is represented in Figure 17 Programming languages Then, we automatically separate the set of relationships in two groups depending on the graphs: the pertinent relationships and the accidental ones. ...
Context 40
... two graphs are presented in Fig- ure 16. We also selected the Robocode PCM; its graph of influence is represented in Figure 17 Programming languages Then, we automatically separate the set of relationships in two groups depending on the graphs: the pertinent relationships and the accidental ones. We consider the set of reduced relationships obtained with the aforementioned heuristics on redundancy elimination. ...
Context 41
... The sizes of pattern concept lattices and pattern AC-posets associated with the 30 PCMs of Wikipedia are presented in Figure 18. It shows the dispersion indicators (minimum (min), maximum (max), first, second and third quartile (q1, q2 and q3) and the mean) of both the number of concepts (# Concepts) and the number of edges (# Edges). ...
Context 42
... implications are analysed regarding both their transitive closure (TC) and their transitive reduction (TR). Figure 19 presents the comparison of the average number of mutex and implications before and after redundancy elimination. Table 10 presents the extracted complex logical relationships for Robocode and the 3 excerpts of JHipster (denoted JH. 500, JH. 1000 and JH. ...

Citations

... Both developers and users share a common understanding of the brief descriptions, potentially decreasing the language gap between these two types of feature mentions. Additionally, software product descriptions have been widely proved to be useful for various feature related RE tasks, e.g., feature modeling [29; 30], feature recommendation [31], and product line variability modeling [32]. ...
Preprint
Full-text available
Privacy requirements not only relate to legal compliance but also influence user satisfaction. Massive rapidly increasing App reviews have been proved a valuable requirements knowledge repository. Existing studies on App reviews mining have made much effort to automatically extract various requirements related information, e.g., feature request, bug report, and user opinions. However, less attention has been paid to privacy requirements refinement based on user reviews mining, which is beneficial for addressing users' privacy concern. In this work, we aim to detect privacy related features from App reviews to facilitate software maintenance activities. To that end, we design a semi-automatic framework to identify privacy related reviews from which App features are extracted and mapped to those listed in App descriptions. Firstly, we combine information retrieval and supervised text classification to identify privacy related reviews. Then, we design a dependency parsing method to extract App features from those privacy related reviews. Finally, those automatically extracted features are matched with those manually annotated ones in App descriptions based on phrase similarity. We quantitatively evaluate the three components of our framework on the reviews of Apps from multiple categories. For privacy related reviews identification, Gradient Boosting classifier achieves the highest F1 score of 93.77\% among other competitive algorithms including deep learning ones. On App feature extraction, our dependency parsing based method can achieve a recall of 85.63\%, more than 20\% higher than the baseline. For feature matching, the phrase embedding cosine similarity shows the best matching result among four types of similarity methods, obtaining an average accuracy of 57\%. We finally discuss the potential applications of our framework in detecting feature problems that may cause privacy threats.
... Table 6 presents the number of features, as well as the exact and the upper bound of binary implications, co-occurrences, and mutex number. The upper bounds are computed using the formulas in [37]. We notice that the Brightness mechanism has the smallest values; the Contrast mechanism has the average values; the Text style mechanism, the Zoom mechanism and the central lattice have the largest values. ...
... is the feature number) [37]. • Binary implications correspond to the case where when a first feature is present, a second one is mandatorily present too. ...
... • Binary implications correspond to the case where when a first feature is present, a second one is mandatorily present too. A method to extract binary implications is described in [37]. The method uses the set of all pairs (C i , C j ) ∈ AC K × AC K such that C i ≤ s C j . ...
Article
Full-text available
Digital technologies are an opportunity to overcome disabilities, provided that accessibility is ensured. In this paper, we focus on visual accessibility and the way it is supported in Operating Systems (OS). The significant variability in this support has practical consequences, e.g., the difficulty to recommend or select an OS, or migrate from one OS to another. This suggests building a variability model for OS that would classify them and would serve as a reference. We propose a methodology to build such a variability model with the help of the Formal Concept Analysis (FCA) framework. In addition, as visual accessibility can be divided into several concerns (e.g., zoom, or contrast), we leverage an extension of FCA, namely Relational Concept Analysis. We also build an ontology to dispose of a standardized description of visual accessibility options. We apply our proposal to the analysis of the variability of a few representative operating systems.
... For example, Ryssel et al. [11,12] introduced an approach for automated feature identification in function-block models, which are used to program embedded systems, to foster their reuse. Carbonnel et al. [2] investigated two mathematical frameworks for knowledge discovery, i.e., Formal Concept Analysis and Pattern Structures, to extract complex variability information from relations of product descriptions. Some feature extraction methods are able to deal with multiple artifacts (types). ...
Conference Paper
In Cyber-Physical Production System (CPPS) engineering, Assembly Sequence (AS) models of products are primary engineering artifacts. Product variants are often designed as Product-Process-Resource (PPR) AS models that are initiated with clone-and-own approaches and by the manual derivation of shared features. This paper introduces the PPR Feature Candidate Identification (PPR-FCI) approach for identifying features from PPR AS models of product variants. From these features our approach derives a superimposed PPR that describes design options for engineers planning the CPPS. The approach is based on existing feature extraction research which we adapted to the scope of PPR models in CPPS engineering. Based on a real-world product line, we evaluate our PPR-FCI approach for feasibility and usefulness by comparing our automated approach to the traditional manual approach with domain experts. Initial findings show that the approach can identify relevant features from PPR AS models and domain experts found the results useful. However, further research is required to improve the PPR-FCI approach regarding the optimization of PPR Assembly Sequence models.
... Previous research work has studied variability extraction in the boolean case [1,4,25,31,32,35,38], and in presence of multi-valued attributes and cardinalities [8,15]. More specifically, in [15], we show how Formal Concept Analysis (FCA) and its extension to Pattern Structures help in extracting variability relationships from a product family described by multi-valued attributes and cardinalities. ...
... Previous research work has studied variability extraction in the boolean case [1,4,25,31,32,35,38], and in presence of multi-valued attributes and cardinalities [8,15]. More specifically, in [15], we show how Formal Concept Analysis (FCA) and its extension to Pattern Structures help in extracting variability relationships from a product family described by multi-valued attributes and cardinalities. It leads to binary implications, groups and mutex involving boolean features as well as attribute values and cardinalities. ...
... From the cleaned tabular descriptions, several methods extract relationships for boolean features, leading to FM synthesis or more simply logical relationships extraction [1,4,14,25,31,32,35,38]. A few approaches [8,15] address the problem of extracting more complex variability information to take into account multi-valued attributes and cardinalities. Several of these approaches [4,14,15,31,35,38] are based on Formal Concept Analysis, which can be seen as a structuring framework for variability analysis and representation, in which some of the other approaches can be embedded, as shown in [3,14]. ...
Conference Paper
Among the various directions that SPLE promotes, extractive adoption of complex product lines is especially valuable, provided that appropriate approaches are made available. Complex variability can be encoded in different ways, including the feature model (FM) formalism extended with multivalued attributes, UML-like cardinalities, and references connecting separate FMs. In this paper, we address the extraction of variability relationships depicting connections between systems from separate families. Because Formal Concept Analysis provides suitable knowledge structures to represent the variability of a given system family, we explore the relevance of Relational Concept Analysis, an FCA extension to take into account relationships between different families, to tackle this issue. We investigate a method to extract variability information from descriptions representing several inter-connected product families. It aims to be used to assist the design of inter-connected FMs, and to provide recommendations during product selection.
Article
Full-text available
The Internet of Things massive adoption in many industrial areas in addition to the requirement of modern services is posing huge challenges to the field of data mining. Moreover, the semantic interoperability of systems and enterprises requires to operate between many different formats such as ontologies, knowledge graphs, or relational databases, as well as different contexts such as static, dynamic, or real time. Consequently, supporting this semantic interoperability requires a wide range of knowledge discovery methods with different capabilities that answer to the context of distributed architectures (DA). However, to the best of our knowledge there is no general review in recent time about the state of the art of Concept Analysis (CA) and multi-relational data mining (MRDM) methods regarding knowledge discovery in DA considering semantic interoperability. In this work, a systematic literature review on CA and MRDM is conducted, providing a discussion on the characteristics they have according to the papers reviewed, supported by a clusterization technique based on association rules. Moreover, the review allowed the identification of three research gaps toward a more scalable set of methods in the context of DA and heterogeneous sources.