Hamzeh Eyal-Salman
email: eyalsalman@lirmm.fr

Abdelhak-Djamel Seriai
email: seriai@lirmm.fr

Christophe Dony
email: dony@lirmm.fr

Feature-Level Change Impact Analysis Using Formal Concept Analysis

Keywords: Impact analysis, feature, source code, FCA, software product line, product variants

Software Product Line Engineering (SPLE) is a systematic reuse approach to develop a short time-to-market and quality products, called Software Product Line (SPL). Usually, the SPL is not developed from scratch but it is developed by reusing features (resp. their source code elements) of existing similar systems developed by ad-hoc reuse techniques. The feature implementations may be changed for adapting SPLE context. The change may impact other features that are not interested in the change, as a feature's implementation spans multiple code elements and shares code elements with other features. Therefore, feature-level Change Impact Analysis (CIA) is needed to predict affected features for change management purpose. In this paper, we propose a feature-level CIA technique using formal concept analysis. In our experimental evaluation using three case studies of different domains and sizes, we show the effectiveness of our technique in terms of the most commonly used metrics on the subject.

Introduction

SPLE is a engineering discipline providing methods to promote systematic software reuse for developing short time-to-market and quality products in a cost-efficient way [START_REF] Clements | Software product lines: practices and patterns[END_REF]. These products are referred to as SPL [START_REF] Clements | Software product lines: practices and patterns[END_REF]. The whole idea behind SPLE is to build core assets consisting of all reusable software artifacts (such as source code, test cases and son) that can be leveraged to develop SPL's products. Building such core assets is driven by features that SPL products should provide. A feature is "a prominent or distinctive user-visible aspect, quality or characteristic of a software system" [START_REF] Kang | Feature-oriented domain analysis (foda) feasibility study[END_REF].

Building SPL's core assets from scratch is a costly task [START_REF] Clements | Software product lines: practices and patterns[END_REF]. Therefore, features (resp. their source code elements) of existing similar systems developed by ad-hoc reuse techniques should be reused as much as possible to build SPL's core assets [START_REF] Beuche | Transforming legacy systems into software product lines[END_REF]. Such systems are known as product variants. The implementation of the obtained fea-ture(s) may need to be changed for adapting SPLE context by adding or removing requirements (resp. their source code elements) [START_REF] Liu | Feature oriented refactoring of legacy applications[END_REF]. The change may impact other features that are not interested in the change, as a feature's implementation spans multiple code elements (e.g., classes and methods) and shares code elements with other features. To avoid such a situation, feature-level Change Impact Analysis (CIA) is needed to detect introducing undesirable interactions between feature implementations. Furthermore, it is helpful to conduct change management from a SPL manager's point of view. For example, managers may most likely be interested in evaluating a given source code change in terms of affected features, in order to decide which change strategy should be executed.

Feature-level CIA is far from a trivial task when we have a large number of features. Manually tracing feature implementations to determine affected features is timeconsuming, error-prone and tedious. The CIA is seldom considered at the feature level for changes made to the source code level. Most of the existing works performs CIA at the source code level with little works completed at requirement and design levels [START_REF] Bixin | A survey of code-based change impact analysis techniques[END_REF]. In this paper, we propose a technique to study CIA at the feature level using Formal Concept Analysis (FCA). This technique takes, as input, a change set composed of classes to be changed and computes, as output, a ranked list of affected features. Each feature in this list has a probability to be affected representing the feature priority to be checked by maintainers. Additionally, we propose two metrics to measure to what degree a given feature implementation is impacted and the changeability of the features.

The rest of this paper is organized as follows. Section 2 presents FCA. Sections 3 and 4 present the proposed approach and experimental evaluation, respectively. Next, sections 5 and 6 discuss the related works and conclude the paper respectively.

Background: Formal Concept Analysis

FCA is a technique for data analysis and knowledge representation based on lattice theory [START_REF] Ganter | Formal Concept Analysis: Mathematical Foundations[END_REF]. Concept lattices are core structures of FCA for extracting a set of concepts from

Flying-squirrel X X Bat X X X Ostrich X Flamingo X X X Chicken X X X
a dataset, called a formal context, composed of objects described by attributes. A formal context is defined as a triple K = (O, A, R) where O is a set of objects, A is a set of attributes and R is a binary relation between objects and attributes indicating which attributes are possessed by each object. Table 1 presents an example of a formal context for several animals described by their characteristics.

A formal concept is a pair (E, I) composed of an object set (E ✓ O) and an attribute set (I ✓ A). E is the extent of the concept (i.e., the objects covered by the concept). I is the intent of the concept (i.e., the attributes shared by the objects covered by the concept). For example, ({Chicken, Flamingo}{Flying, Feathered}) is a concept of our example.

Given a formal context K = (O, A, R), and two formal concepts C 1 = (E 1 , I 1 ) and C 2 = (E 2 , I 2 ) of K, the concept specialization order ( s ) is defined by

C 1 = (E 1 , I 1 )  s C 2 = (E 2 , I 2 ) if and only if E 1 ✓ E 2 (and equivalently I 2 ✓ I 1 ). C 1 is called a sub-concept of C 2 . C 2 is called a super-concept of C 1 .
Based on this specialization order definition, an important property is that a sub-concept inherits in a top-down manner the attributes (intent) of its super-concepts, while a super-concept inherits in a bottomup manner the objects (extent) of its sub-concepts.

Let C K be the set of all concepts of a formal context K. This set of concepts provided with the specialization order (C K , s ) has a lattice structure, and is called the concept lattice associated with K. Figure 1 shows the concept lattice built for the formal context of Table 1.

The Proposed Approach

When source code classes that implement a feature are changed, the change may be propagated to the neighbor classes which the changed classes are coupled to. As a feature's implementation may span multiple classes and features may have shared classes, the change may lead to impact the implementation of other features. Therefore, we should determine the impact set of classes and coupling relations between features to determine affected features. We rely on structural and feature couplings to support these purposes respectively. Structural coupling refers to interdependencies between classes, such as inheritance, method invocation, etc. Feature coupling is the degree to which the source code elements implementing a feature (e.g., meth-Figure 1. The concept lattice for the formal context of Table 1.

ods, attributes, classes) depend on elements outside the feature [START_REF] Apel | Feature cohesion in software product lines: an exploratory study[END_REF]. Figure 2 gives an overview of our approach. This approach relies on three main steps:(i) computing the impact set of classes for source code changes, (ii) Determining coupled features using FCA, (iii) querying the generated concept lattice to compute a ranked list of affected features. The goal of the first step is to determine impact set classes due to modifying a given change set of classes. Of course, the impact set also includes the change set members. The second step aims to determine coupled features by building the concept lattice. This lattice is queried in the third step using the impact set computed in the first step to find a ranked list of affected features.

Determining the Impact Set of Classes

Analyzing the interdependencies between classes helps to determine the coupled classes, and hence determine the impact set of classes. We rely on the following interdependencies that represent coupling aspects in object-oriented applications supporting CIA: (1) inheritance relationship: when a class inherits attributes and methods of another class, (2) method call: when a method of one class calls a method of another class, (3) attribute access: when a class accesses an attribute of another class, (4) shared attribute access: when two classes access the same attribute of another class. To capture these interdependencies, the given source code is statically analyzed by building an abstract syntax tree (AST) that can be queried to extract required information.

Table 2. The formal context of features and classes.

C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 C12 F1 X X X X X F2 X X X X X F3 X X X X F4 X X X F5 X X X X X F6 X X F7 X X

Determining Coupled Features Using FCA

In this step, we rely on FCA to analyze coupling relations between a given set of features. FCA allows us to determine and visualize source code classes that are shared among all features, among a subset of features and those that are specific to each feature through the hierarchical organization of the concept lattice. This step takes as input a feature-to-class traceability matrix. This matrix can be obtained by our previous work [START_REF] Eyal-Salman | Featureto-code traceability in a collection of software variants: Combining formal concept analysis and information retrieval[END_REF]. In this matrix, each feature is linked to its implementing classes. Columns and rows respectively represent features and source code classes. This matrix represents the formal context where features and classes respectively represent objects and attributes. The relation between an object and an attribute refers to which feature is implemented by which class. According to this definition of the formal context, we can obtain a concept lattice containing concepts that are composed of a set of features sharing a set of classes. Such a lattice represents dependencies between features and classes (feature coupling). Table 2 is an example of the formal context to be analyzed where objects are {F 1, F 2, F 3, F 4, F 5, F 6, F 7} while attributes are {C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12}. Figure 3 shows the corresponding lattice of the context shown in Table 2. Based on this lattice we discover the following observations:

-The impact of changes made to classes of concepts that are located at the top of the lattice is propagated to all extents (features) of these concepts. This is because the classes of such concepts are shared among all or most lattice concepts. Such classes should not be impacted as far as possible because they may lead to the risk of changing all features. For example, if C1 and C10 respectively at Concept 7 and Concept 13 are modified or impacted, all features (F1 to F7) will be affected.

-The impact of changes made to classes of lattice concepts located at the bottom is local. For example, if C8 is modified or impacted, only F 5 will be affected. Determining these classes is useful to guide the maintainers to choose from available change strategies, the one that considers only such classes to implement the change request. 2.

-By descending vertically throughout the lattice, the impact of changes is gradually decreased. For example, if changes are made to {C1}, the set of affected features will be composed of {F 1, F 2, F 3, F 4, F 5}, but if changes are made to {C7}, the set of affected features will only be composed of {F 3, F 5}.

-Lattice concepts that are downwardly reachable from jointly changed classes have a high probability of being affected. For example, assuming that impact set = {C2, C3, C5}, then F 1 has a higher probability of being affected than F 2. This is because F 1 will be affected by three joint classes {C2, C3, C5}, while F 2 will be affected by two joint classes {C2, C3}.

-Based on the generated lattice, we can determine isolated sub-systems/parts and hence determine maintenance resources that are required based on the affected subsystems/parts. For example, if the affected features are F6 and F7 (i.e., part2) and they are maintained by specific team, a product manager can exclude other maintenance teams and ask only the interested team to execute the change.

Querying Concept Lattice

Determining Affected Features

In this step, we query the generated lattice by the impact set of classes to retrieve features that are implemented by these classes. The retrieved features represent two subsets of affected features, following the two steps below. Firstly, locating a set of lattice concepts that have as intent (excluding inherited intent) one or more of impacted classes. The extents of these concepts are a subset of affected features.

Secondly, determining all downwardly reachable concepts from concepts obtained in the step 1. The extents of these concepts are another subset of affected features. The first step is performed using a simple algorithm to explore the concept lattice for determining the required concepts, called (CON). Due to space limitation, we are unable to present this algorithm. To perform the second step, we propose algorithm 1. This algorithm is based on depth-first search (DFS). The algorithm takes as input a list of concepts computed in step 1 (CON) and the concept lattice to be queried (CL). Lines 1-10 check each concept in CON in turn so that each one becomes the root of a new tree in the DFS. The extents of concepts that constitute such a tree represent all affected features due to changes made to classes of its parent concept. The function getAdjacentConcepts() returns all concepts that are located immediately below and directly related to the current concept (Co). LC F is an accumulator for all traversed concepts. These traversed concepts represent all downwardly reachable concepts from CON's concepts. LC F may contain some concepts that do not have their own extent and LC F also can include redundant concepts due to the overlap between DFS's trees. Therefore, lines 11-14 remove these concepts respectively using the functions (RemovingConHavingEmptyExt()) and (RemovingRedundantConcepts()). In line 15, we extract the extent of LC F concepts using the function (ExtractingExtent()) because the extent of these concepts represent the affected features.

Ranking Affected Features

Based on the observations of concept lattice mentioned earlier, we can deduce that the concept lattice organizes features hierarchically according to their probability to be impacted by a given change proposal. Therefore, we propose two metrics adapted to feature-level CIA: Impact Probability Metric (IDM ) and Changeability Assessment Metric (CAM ).

IDM is used to measure the degree to which a specific feature can be affected. Features having high IDM values, the functional requirements provided by these features have a high probability to be affected. Therefore, their implementation should first be checked by maintainers. IDM values are in the range [0, 1]. Using IDM metric, we can rank the affected features from the feature that has a higher IDM value to the feature that has a lower IDM value. We propose the following equation for IDM:

IDM (F ) = |{I} T {Impact Set}| |{I}| ⇥ 100% (1)
In Equation 1, F is an affected feature while I is the intent (classes) of a lattice concept having F as an extent and also includes intents inherited in a top-down manner. Thus, we need to compute the inherited intents of lattice concepts (LC F ) having the affected features. This is performed using the DFS algorithm to compute all upwardly reachable concepts from each concept in LC F .

CAM is a metric for determining the percentage of features that are affected by a given change. It describes the changeability of all features in order to help product managers to decide whether a change proposal is accepted or

CAM = #Affected Features #All Features ⇥ 100% (2)
In equation 2, Affected Features represent a set of features that are potentially affected by a given impact set of classes.

All F eatures represent all features. CAM values take a range [0, 1]. If the computed CAM value is high, this means that features (resp. their implementation) are more sensitive for a given change proposal and vice versa. By referring again to Figure 3 and considering that the impact set is composed of {C3, C5, C6}, we find out that the IDM and CAM values of this impact set as shown in Table 3. The columns (Concept No, Features and Rank) show respectively a set of concepts having affected features, their affected features and the priority of these features to be checked. These features are ranked based on their IDM values. From Table 3, we notice that F4 has the highest IDM value. Also, It shows that CAM for this impact set is equal to (71%). This means that most of features will be affected by this given impact set of classes.

Experimental Results and Analysis

Case Studies

For evaluation, we have applied our CIA technique respectively to core assets of three different case studies: ArgoUML-SPL1 , MobileMedia2 and BerkelyDB-SPL3 . Mo-bileMedia is a small-scale system for managing multimedia files on mobile devices. The core assets of MobileMedia supports 6 features such as, view photo, delete photo, sort photos, etc. ArgoUML-SPL is a large-scale system for UML modeling tool. The core assets of ArgoUML-SPL supports 8 features such as, the Class diagram, the State diagram, the Activity diagram, etc. BerkeleyDB-SPL is a largescale embedded database system that can be embedded in other applications as a storage engine. The core assets of BerkeleyDB-SPL provides 25 features, such as transaction management, concurrency control, etc.

Evaluation Measures

We relied on three measures inspired from information retrieval, namely precision, recall and F-measure to evaluate our CIA technique. Precision measures the accuracy of estimated impact set of features (EIS) according to the actual impact set (AIS). The EIS represents the affected feature computed by our technique while AIS is computed by manually tracing features to identify the affected features for each given change proposal. Recall measures the degree to which the EIS covers the AIS members. F-measure makes a trade-off between precision and recall, so that it gives a high value only in the case that both recall and precision values are high. Based on the definitions above, we can deduce that precision also quantifies elements of EIS that actually are not impacted (false-positive). Also, recall quantifies the features that are not identified but are impacted (false-negatives). Our proposed technique aims to achieve high precision, recall and F-measure. All measures have values within [0,1]. If the EIS has a high precision, this means that maintainers spend less time and effort to locate affected features. If the EIS has a high recall, this gives maintainers the confidence that all of affected features have been considered. 4, shows that precision values are fluctuated and take a value in the range between 60% and 100%. This fluctuation can be attributed to two reasons. Firstly, some changes made to CSC do not have any impact on feature implementations. These changes include deleting dead source code (e.g., conditional branch that logically will never be entered), adding output statements, etc. Secondly, the impact set of classes may contain some classes that, in fact, are not impacted. Such classes are called false-positive classes. For example, consider that C1 and C2 are two classes connected by a method invocation and C1 is proposed to be changed by adding an attribute. In this case, C2 is considered as affected class in spite of it is not be affected by this change. Such a case indicates features that are implemented by false-positive classes actually are not affected. Recall values shown in Table 4 are high where these values take a range between 75% and 100%, and in most cases they reach 100%. The reason that hinder our technique to achieve 100% for all CSCs is that we do not consider classes that are not neighbors of CSCs. These classes may contribute to implement feature(s). F-measure values confirm that our CIA technique gives high precision and recall, where these values are high taking a range between 67% and 100%.

Effectiveness of Our CIA Technique

CAM values in Table 4 shows the changeability of features of each case study against each CSC considered. We notice that all CSCs of MobileMedia affect more than half of its features. This is because MobileMedia is a small-scale system, and hence its source code classes are strongly coupled so that any change may impact many different features. For ArgoUML-SPL, all changes made to its features affect almost half of its features. This is due to ArgoUML-SPL's features being loosely coupled. They appear as isolated subsystems, for example, cognitive feature is implemented by 221 classes. For BerkeleyDB-SPL, changes made to its features affect most of its features. By investigating the impact set of classes and the concept lattice corresponding to this case study, we find that one of the changed classes (Envi-ronmentImpl) is located at the top of the lattice. This means that changes made to this class are propagated to the implementation of most features, which leads to a rise in the value of CAM. Based on CAM values shown in Table 4, we notice that these values quantify the changeability of the features against each change proposal. This allows SPL's manager to select the change strategy that results in the lowest possible CAM value.

Related Work

A large body of research is proposed for CIA. A comprehensive survey about CIA techniques can be found in [START_REF] Andrea | Traceability management for impact analysis[END_REF]. The approach proposed by Revelle et al. [START_REF] Revelle | Using structural and textual information to capture feature coupling in object-oriented software[END_REF] is the closet to ours. They proposed a feature coupling metric for supporting CIA at the feature level since features that are strongly coupled to a feature with modified implementation are the most likely to be affected. In their approach, features with a coupling value equal to or above a given threshold are considered as coupled features. However, coupled features under the specified threshold value may be affected by the change as shown in their experimental results. Hammad et al. [START_REF] Hammad | Automatically identifying changes that impact code-todesign traceability during evolution[END_REF] proposed an approach to determine which source code changes impact the system architecture. Diaz et al. [START_REF] Daz | Change impact analysis in product-line architectures[END_REF] proposed an approach to perform CIA at the architectural level for changes induced at the requirement level. Chechik et al. [START_REF] Chechik | Relationship-based change propagation: A case study[END_REF] proposed a model-based approach for studying changes propagated between requirements and design models. Khan and Lock [START_REF] Khan | Concern tracing and change impact analysis: An exploratory study[END_REF], utilized dependencies between requirement-level concerns and architectural components to studying the impact of requirement changes at the architecture level. All works mentioned above, except Revelle et al.'s work [START_REF] Revelle | Using structural and textual information to capture feature coupling in object-oriented software[END_REF], do not support CIA at the feature level. They perform CIA at other different levels of abstraction.

Conclusion

In this paper, we have proposed a feature-level CIA approach to study the impact of changes made to source code of features obtained from product variants. This approach is useful for conducting change management from SPL manger's point of view. Our approach takes, as input, a change proposal at class level and computes a ranked list of potential affected features. Also, we propose two metrics to support this point of view. The proposed approach employed formal concept analysis, feature and structural couplings. Our experiments on three core assets of three case studies of different domains and sizes proved the effectiveness of our approach in terms of the most used metrics on the subject (precision, recall and F-measure).

Figure 2 .

 2 Figure 2. Main steps of our CIA approach.

Figure 3 .

 3 Figure 3. The concept lattice for the formal context of Table 2.

Table 1 . A formal context for birds.

 1

	Flying	Nocturnal	Feathered	Migratory	with-crest	with-membrane

Table 3 . Impact results for {C3, C5, C6} changes.

 3

	Concept No	Features	|{I}|	|{I}	T	{F CS}|	IDM	Rank	CAM
	Concept 3	F4	3			2	66%	1
	Concept 1	F2	5			2	40%	2
	Concept 0	F1	5			2	40%	2	71%
	Concept 2	F3	4			1	25%	3
	Concept 4	F5	5			1	20%	4

Table 4

 4 summarizes the results obtained by our CIA technique. Columns describe respectively: change set of

Table 4 . Precision, Recall and F-measure of our CIA Technique.

 4 We randomly select three different CSCs for both ArgoUML-SPL and MobileMedia, and two CSCs for BerkeleyDB-SPL. Therefore, we have 8 CSCs to be analyzed. These selected CSCs are modified by considering different change types, including changes made to class signature, class body, attributes, method signature and method body.Table

	CSC	|CSC|	|EIS|	Precision MobileMedia	Recall	F-measure	CAM
	CSC1	5	5	60%	75%	67%	100%
	CSC2	5	6	83%	100%	90%	83%
	CSC3	8	6	67%	100%	80%	100%
				ArgoUML-SPL
	CSC1	9	5	80%	100%	88%	62%
	CSC2	8	4	75%	100%	86%	50%
	CSC3	18	5	80%	100%	88%	62%
				BerkeleyDB-SPL
	CSC1	6	25	92%	100%	96%	92%
	CSC2	5	25	100%	100%	100%	100%
	classes (CSC), the size of CSC (|CSC|), the size of es-
	timated impact set of features (|EIS|), precision, recall,
	F-measure and CAM.

http://argouml.tigris.org/

http://www.ic.unicamp.br/ tizzei/mobilemedia/

http://wwwiti.cs.uni-magdeburg.de/iti db/research/cide/


The disability protests in Argentina, Brazil and Spain, 1968-1982".

Gildas Brégain

 The chronology of this protesting decade varies from country to country, but it could be said to last 1. From the experience of discrimination to its interpretation as a political problem. A. The rise of feelings of injustice.

from the beginning of 1960 until 1981.

This decade is characterized by the significant promotion of the disability rights concept at an international level. It starts at the end of the 1960s when several NGOs (FIMITIC, ILSMH, ISRD) adopt a program of social claims, and ends with the UN's organization of the International Year for Disabled people in 1981, which also has consequences in 1982. These two factors -the political fervour and the promotion of the concept of rights -act as catalysts inside disability rights movements. In many countries they initiate the increase of a social culture of protest, the regular, large-scale use of protests inside the public sphere in order to defend their rights, and the building of new emancipatory utopias. The aspirations for the emancipation of disabled people that existed before 1968, now grew in size and became more radical during the decade 1968 to 1982. After this decade of protest, we note a period of temporary calm within movements that results in the decreasing use of protests or in their decreasingly subversive nature.

The radical mobilizations observed in each country possess their own singularity depending on different social, political, and cultural backgrounds. In order to determine their specificity, we are using the histoire croisée (entangled history) method within the comparative history approach, and address the need to study cultural transfers between countries and the historical variability of the studied categories. 10 We are inspired by the work of American sociologists in characterizing the protests in terms of the following criteria: the actors and their political culture; the potential special-interest groups that support them; the manner in which they act; the level of conflict and of physical violence; the degree of subversion of the social order induced by these claims; the target of the protests; the degree of success and of institutionalization of these mobilizations. All these criteria allow us to differentiate these protests by their degree of radicalness. However, we did not apply the very advanced statistical methods used by the American sociologists. These methods are not relevant to our study due to the lack of statistical information about the ten Brazilian protests in question. We gave priority to a qualitative approach to our sources.

Examining the radicalness of these movements leads us to consider the moderation dynamics of the protests and actions. These can be generated by pressure from the political and religious authorities or they can result from the confrontation between the demands of the different actors involved. Unlike the situation in the United States, in which the evolution of the protesting activity was related to outstanding issues of national disability policy, the temporality of the protests inside the three countries we study seems to be influenced much more by the presence of dictatorships in Spain (until 1975), in Argentina (1966-1973 and 1976-1983), and in Brazil (until 1985).

The analysis of the transfer of ideas and of organizational forms between national settings allows us to better understand these political mobilizations. The Ibero-American area is a very interesting space in which to observe the degree of circulation of the emancipatory projects and the organizational forms inspired by the Anglo-Saxon countries, as information about disability has travelled between American countries and Europe since the end of the 19th century.

The consultation of sources leads us to study the protests mobilized for disability rights, even if they were carried out by the physically disabled, the blind, the deaf, people with intellectual impairments, or their families. Some mobilizations are marked by the joint presence of several actors. This diversity shows the current re-composition of distinct categories (blind, deaf, disabled, intellectual impairment) towards a single global category. We are mainly referring to the respective disability associations' magazines, but we also draw on the official and alternative press, as well as interviews with associations' activists of that time.

It is necessary to outline first the conditions of possibility that explain the transition from a respectful attitude towards authorities to a public blame of the political leaders' responsibility, before, second, comparing the radical forms of action, and, third, the stakes of these protests.

During the decade from 1968 onwards, the notion of disability rights is present in most discourses used by NGOs and international institutions. This declaration of commitment to rights touches those most affected and their families and creates -or rather consolidates -new aspirations within them. The comparison between the discrimination they currently suffer and what they consider they can now obtain gives them a feeling of injustice. This feeling of injustice is even greater among those disabled people who have already been through a process of professional rehabilitation over a long period of time but who did not succeed in joining the mainstream labour market, contrary to what professionals might have promised them.

Sources from the campaigning associations show the existence of many expressions of dissatisfaction, or even protesting against authorities, beginning in 1967-1968 in Argentina and in Spain, and in 1977 in Brazil. In Spain, in 1968, one of the leaders of National Association of Invalid Civilians in Zaragoza, Gregorio Sierra, testifies about his exasperation in the face of the lack of both job opportunities and of specialized schools for the disabled:

There are some moments when you feel close to rebellion. To rise against the social indifference…We had thought…that the social justice would arrive, the one that regards all people as equals. That the physical impairment had precisely a potential degree of preference, by finally giving compensation rights for invalidity. But positively effective. No mercy, no preached charity from a circular balcony directed to the four winds.11

But the context of Franco's dictatorship does not allow the people to express this dissatisfaction publicly through protests. It was only when dictatorship ended that political opportunities allowed some groups to claim their right to be respected in public space.

B. The association's part in the politicization of disabled people.

The entangled study of the part played by an international association in the politicization of disabled people brings a great deal of clarity. The fraternité catholique des malades is born in France in 1942 under the impulsion of the priest Henri François. It is a movement formed of ill people evangelizing, and is open to everyone from any religion and to atheists. Directed by ill people themselves, priests and laymen, the association is guided by the idea that ill people should 'liberate themselves from the paternalism of some people in good health, inclined to consider them as assisted people'. 12 Each group of the fraternity is assisted by a chaplain, usually one who is also ill. The association centers its actions on the regular organization of group meetings, in which spiritual exercises mix with discussions about ordinary topics and with convivial moments during breaks.

This associative movement spreads quickly to other countries. In spite of the fact that all the groups in the fraternity share the same founding principles, each group maintains its autonomy. On a local level, the chaplain of each fraternity group plays a fundamental part in orienting the activities. He often decides on the respective time and attention given to spiritual exercises, recreational activities, and militant activities. This leads to a strong heterogeneity of the fraternities inside each country and between countries. From the end of 1960s, some groups of the fraternity begin to interpret the founding principles starting in terms of a progressive religious culture (a social doctrine of the Church, a theology of liberation). This empowers them to publicly claim their rights. At the end of the 1970s, the international coordination of the fraternity encourages the groups from each country to suggest legislation to the public authorities in order to fight for disability rights.

The movement establishes itself inside the province of Barcelona in 1957, under the name Hermandad Catolica de Enfermos. The discussions of most provincial groups focus on spiritual reflection on God's message. However, some of the groups of the fraternity move towards a more progressive line during the mid-1970s, by following the social doctrine of Vatican II council. Then, they start to discuss their rights during meetings and to fight for them in peaceful street protests.

In 1972, a Spanish Jesuit, Vicente Masip founds several groups of the fraternity in the rich region of Rio Grande do Sul, Brazil. In accordance with what he observes in Peru, this priest keeps an exclusively spiritual orientation to these groups during the first few years. Travelling through other regions of Brazil and other Latin-American countries make him gradually more sensitive towards the religious diversity and the very unequal economic reality he observes. 13 After meeting many priests committed to the theology of liberation, in 1979 he also converts to this ideology and modifies the orientation of the fraternity's action. In doing so, he draws in particular on the conclusions of the conference of the Latin-American Episcopal Council from Puebla. In 1979, he declares that the Fraternidade Cristã de Doentes (FCD) is from then on 'a group committed and concerned with the marginalization of ill persons, wishing to participate in the liberation process of the poor people of Brazil'. 14 In 1981, the Brazilian fraternity is made up of about a hundred groups scattered all over the different states. The large majority of them adopt the theology of liberation. By comparing the struggle of disabled people with that of the minority marginalized by an unfair economic and political system, the fraternity leaders declare their solidarity with other marginalized communities (black people, workers, women, homosexuals). Unlike the Spanish fraternity, which only welcomes Catholic people, the Brazilian one is rather ecumenical.

In Argentina, the fraternity movement begins independently at the beginning of 1973. After reading a small booklet written by Manuel Duato, the first assessor of the fraternity in Peru, several ill persons organize their own group of the fraternity in the capital city. 15 By the end of the 1970s there are six groups of the fraternity in the whole country. Their activity is mainly spiritual. The rights of disabled people are never mentioned in meetings during the dictatorship period, as the association is led by an ultra-conservative auxiliary bishop. Disabled people interpret their experience during their discussions only through the Gospel's eye; they wish to know whether their impairment is a gift from God rather than a punishment.

Although cultural transfers occur between the Brazilian and Argentinian fraternities, they do not manage to modify the orientation of one another's fraternities. The differences in orientation between the fraternities of these three countries mean that they have a varying involvement with disability rights movements and with the radical mobilizations enacted to fight for these rights. The Brazilian fraternity is strongly committed to the demonstrations, whereas the Argentinian one is not. Only a few groups of the Spanish fraternity take part in the protests in Murcia, Seville, and Madrid.

The Church plays an ambivalent role inside the disability rights movement. In spite of the fact that it systematically puts disabled people under a new (religious) supervision, the Church is rarely seen as a socially conservative organization. The Church, if it adopts a progressive line, can become a vehicle for disabled people's emancipation. However, when religious groups fight for disability rights, they are usually reluctant to blame the charity, which they compare to a kind of fraternity. They prefer to talk about a 'thoughtful charity'. It retains some of the religious and social functions of the charity, but gives up the alms (and its corollary, the maintaining of the individual's social status) and fights for the individual's right to profesional rehabilitation (and therefore to a potential social ascent).

C. The political interpretations of the social marginalization of disabled people.

In the context of the Cold War, the different political utopias of social justice and equality (Marxism, theology of liberation, New-Left, Anarchism) exert different influences on disability rights movements. The decade of the 1970s is characterized by the expansion at the international level of the New Left, which questions the Communist Party orientations, partly aligned with the position of the Union of Soviet Socialist Republics, as well as the increasing trend for the theology of liberation within the Catholic Church in some South American countries. This trend, which decides to fight with poor people in order to claim a better wealth distribution across the continent, very soon becomes dominant in Brazil, but is followed only by a minority inside the Argentinian Catholic hierarchy. 16 There are many disability rights movements, such as the associations, which make up these movements and have various ideological influences. A large number of these associations declare themselves to have no party affiliation, due to the fact that their members are socially and politically heterogeneous. However, some groups follow a well-established ideological line, which is promoted by their leaders. In Spain, the association minusvalidos unidos from Madrid proudly shows its communist affiliation during the protests, by displaying a banner with the icon of the hammer and the sickle. Some groups from Auxilia and from Fraternité identify themselves with the social doctrine of the Church of the Vatican II Council. In Argentina, the majority of members of Frente de Lisiados Peronistas (FLP) join the Marxist trend of Peronism. In Brazil, most activists and assessor priests from FCD subscribe to the theology of liberation that emerged from 1979 onwards.

In Spain, as in Argentina, some associations have a Marxist interpretation of the job discrimination they are suffering from. In Buenos Aires, leaders of FLP organize a protest on 24th July 1973 in order to fight against the work exploitation they experience inside the sheltered workshops managed by the Asociación de Orientación y Ayuda al Invalido (AOI) and by the Coordinación de Obras de Rehabilitación (COR), which give them a meagre salary. 17 In Spain, leaders of the association minusvalidos unidos (MU) from Madrid also understand their marginalization through the prism of Marxism. In the open letter they send to different news magazines and newspapers in September 1975, they denounce the educational and job marginalization that the capitalist society is imposing on them. 18 One of the founding members writes a few years later that it is the private ownership of the means of production that stops the integration of disabled people into the labour market and, therefore, society, because it doesn't offer them the necessary technical and human resources that would allow them to work. The member argues that although the scientific and technical progress of the industrial revolution allows disabled people to do some of the same tasks as other people, in a capitalist society, 'the disabled person is damaged merchandise which is not interesting to hire and which you can buy in any case at sale price' 19 . So the marginalization of disabled people lies in the capitalist economic structuring of society, which tries to cover the exploitation of the human being by the human being through a Catholic paternalistic ideology. By considering the disabled people as being an exploited social class, in the article the member advocates solidarity with other exploited classes.

On 1st November 1976, several groups from Andalusia, Galicia, Aragon, Leon, and Catalonia adopt the charter of demands of MU and declare themselves victims of the capitalist economic system. However, by broadening the movement to other associations, these radical interpretations clash with other interpretations and they quickly become marginal. In fact, a large number of deeply believing activists from other associations understand their marginalization to be the result of the lack of sensibility and collaboration of the political authorities (low budget or bad money management, overcentralization, lack of appropriate legislation). 20 This no-party, but democratic and conservative, political interpretation of the established capitalist system prevails inside the Spanish movements for the rights of the physically disabled.

The radicalness of the movements and their limits.

We have provided a review of the protests that are mentioned by our sources, but this cannot be exhaustive. We have included the road protests, the hunger strikes, the sit-ins, as well as alternative protests (public concentration, chaining, interruption of a public cultural event, etc.). The main limitation of this review is that the fight for disability rights may occur in the form of more general street protests made by trade unions or political parties. We do not account for these. The FLP in Buenos Aires and the MU in Madrid regularly participate in the protests organized by the political parties they had previously joined.

Protests to fight for the rights of Disabled People (1973-1982)

17 'Saquen a los lisiados de allí', El Descamisado, Buenos Aires, 11 (31 de julio de 1973). 18 Auxilia, Madrid (noviembre-diciembre 1975). 19

A. Violence and repression. The weight of political control.

The possibility to organize radical actions widely depends on the political context and the degree of public liberty that exists in a country. The various paths taken by the political systems we are studying lead to clear differences in the temporality of the disability protests. The first mobilizations start in Argentina at the end of May 1973, when Hector Campora and Juan Perón come to power. This brings an enormous hope of justice and of reversal of the capitalist economic order to a part of the population. A similar shift happens in Spain during the second quarter of 1976, at the moment of the democratic transition following Franco's death; and in Brazil after 1979, with the slow, progressive, and non-linear democratization of the dictatorial regime. In Spain, the very opposing political cultures in Madrid and Barcelona probably explain the early and frequent actions carried out after the dictator's death. 21 In Spain and in Brazil, owing to the process of democratization, the radical protests continue until 1982, and even beyond this in Brazil, although some radicalness is lost through institutionalization. On the contrary, in Argentina, the protests considerably reduce their number and intensity from 1974 onward because of the political closeness of Perón's regime and the establishment of the dictatorship in 1976. In 1982, while the Argentinian dictatorship is still powerful and oppresses all social movements, Spain has almost completed its democratic transition.

Between the three countries, Spain distinguishes itself by the important number of protests that take place between 1976 and 1982 (66). The majority are street protests (40) with a significant number of sit-ins inside administrative and religious buildings also taking place (16). We could only count ten radical actions in Argentina during the decade, and 25 in Brazil. If we measure the protest's intensity in the light of the number of inhabitants of these countries during the mid-1970s (26 million in Argentina; 110 million in Brazil; 35 million in Spain; 212 million in the United States), the level of contestation is much more intense in Spain than in the other countries, include the United States.

The Brazilian protests are limited to only one type of action, the street protest. They are more various in Spain and in Argentina where the physically and sensorily disabled people are active in occupations of spaces (3 in Argentina), and hunger strikes (2 in Spain, 1 in Argentina). In Barcelona, several activists also chain themselves to lampposts from Ramblas, and they also interrupt a theater performance. The level of radicalness of the disabled people's actions must be understood within the framework of initiatives existing in those countries at that time. On the one hand, the unusual actions taken by the disabled people in Argentina (1973) and Spain (1976-1981) are actually similar to those used by other social groups at the same time, a period of social turmoil. On the other hand, the existence of public concentrations during the Argentinian dictatorship is quite remarkable. Their organizers may experience a high level of danger.

The presence of dictatorial regimes strongly influences the range of means available to civil society actors. In Spain, there is no radical action during Franco's dictatorship. There are no sit-ins and no hunger strikes during the Brazilian and the Argentinian dictatorships. The street protests organized in Braziland the public concentrations organized in Argentina in this period are seldom subversive. In Argentina, in spite of this highly repressive context, about thirty blind street vendors organize several public demonstrations in 1977 and 1978 in front of the offices of the public authorities responsible for issuing street vending permits. They demand their right to maintain their work areas, as the town council refuses to renew their permits. According to Tania Garcia, a blind member and one of the main leaders of the group, they gained an interview with Colonel Orobio, the mayor's government secretary, who 'told us that we could not work anymore, and when we reminded him we had families, children and we had to earn money in order to live and meet the needs of our families, he offered us asylums!'. 22 Their movement is monitored continuously, but they are not subjected to physical violence or imprisonment during their actions. On 8th August 1981, a group of physically disabled people make a peaceful concentration in front of a portside warehouse in Buenos Aires in order to protest against the delay in enacting a law that will exempt them from paying any taxes on imported cars with orthopedic adjustments. 23 They wish to pick up their adapted cars as quickly as possible from the customs office without paying any import taxes. Their peaceful gathering surprises the authorities, but the absence of subversive claims avoids them being punished.

In Brazil, the military authorities do not find the protests of disabled people to be subversive. The employees from the prosecution authority, the DEOPS, can be found among the protestors, but they do not feel any need to write reports about it. Only two articles from the newspaper O Estado de São Paulo that refer to the protests of the disabled people are found in the archives of DEOPS. 24 Even though they include many claims, these actions take place mainly within the framework of the International Year for Disabled People (1981), which gives them a special legitimacy. The authorities allow all the protests requested by the associations. Police forces never use physical violence against participants.

The degree of repression of these protests is, paradoxically, more important during the Spanish democratic transition. The physically and sensorily disabled are often refused the right to protest and the activists often face violence at the hands of police forces, who break up demonstrations and expel some local administrative or religious authorities. Such physical violence is common towards physically and sensorily disabled people, but exceptionally it is also directed at a protest for the rights of people with intellectual disabilities. At the beginning of June 1977, hundreds of parents with their intellectually disabled children protest in Las Palmas in order to claim their children's rights to special education. Police quickly arrive in order to stop the protest using very violent means, even towards those with intellectual disabilities. 25 Protests by blind people, critical of the National Organization of Spanish blind people (ONCE), are systematically hampered, and occupiers of ONCE's spaces are expelled by police immediately. This fast intervention by police forces illustrates ONCE's pressure on Spanish authorities and also the important political control it has on the blind people who are required to join it. Unable to protest as a group, some young blind people act individually by using their body as a tool with which to protest. One of them covers his white shirt with many slogans, such as 'I am banished by ONCE'. 26 In Argentina, the spontaneous demonstration by the FLP on 24th July 1973 ends with altercations with firemen and a few police officers, but nobody was injured. It seems that the other actions take place without violent conflicts with police. The dictatorship that begins in March 1976 sets up a very repressive system towards all those persons it sees as subversive. Some disabled activists will be victims of this. Between October 1976 and December 1978, several older leaders of FLP, now members of Cristianos para la Liberación, are imprisoned and tortured. 27 Claudia Inès Grumberg and José Poblete Roa do not survive their captivity.

B. The dynamics of moderation of the involved groups. The weight of strategies.

Apart from the impediments linked to the political context, the characteristics of the associations' actions are mainly explained by the strategic choices of their leaders. On the one hand, the political culture of the associations' leaders makes them focus on particular modes of action. On the other hand, a process of moderation is engaged when movements unite around a consensus and when they start to participate in different levels of government or to manage various services. In the three countries, the majority of groups involved in these radical actions (about thirty in Spain and Brazil, 6 in Argentina) find themselves behind the usual processes of negotiation on public policies with the authorities.

The leaders of associations of parents of intellectually disabled children belong to privileged social and economic classes in the three countries, and have a regular access to negotiations with public authorities. They manage special education services and they receive public grants for this. As a result, they are often unwilling to use radical action and they favor the use of petitions and formal letters if needed. All of these could explain their absence as an actor in the protests in Argentina and in Brazil, and their low presence in Spain (8 actions, meaning 12 % of the total). Only some associations of parents dare to organize street protests, and most of those take place during the information week on intellectual disability. During the second quarter of 1978, as the maintenance of some special education centers is threatened by the lack of regular and sufficient public grants, some parents suggest modifying the register of actions by the Federation of Associations of Parents of the intellectually disabled (FEAPS). They suggest during the annual meeting that the federation should withdraw from the decision-making bodies, and organize road protests or sit-ins in order to place greater pressure on the administrative authorities. 28 After discussions, this proposal is rejected. The assembly decides, by a majority, to write a manifesto that gives an ultimatum to the authorities.

In the three countries, it is predominantly the physically and sensorily disabled people who choose to radicalize their modes of action. In Spain, among the 66 actions organized during this period, 52 are led mainly by physically disabled people (i.e. 79 %), and 6 by blind people (i.e. 9 %). The administrative authorities, and in particular Servicio de Recuperación y Rehabilitación de Minusválidos Físicos y Psíquicos (SEREM), are the main target of the sit-ins and the destination of many protest marches. This kind of street protest can be considered to be uprisings as they 'go straight ahead towards the headquarters of a management authority in order to put it under pressure, but without any assumed violence, to make decisions it did not think about initially'. [START_REF] Tartakowsky ; Aubier | Asamblea de minusvalidos en Madrid[END_REF] The progressive unification of the associations of people with physical disabilities begins at the end of 1976 and determines the increase in the number of street protests and their geographical extension. In 1977, a country-wide coordination of physically disabled people takes place, bringing together several tens of associations. This coordination calls for an unitary day of protest on 24th November 1979, which takes place in eleven cities simultaneously. At the end of 1978, this coordination leads to a majority decision to cooperate with the administrative, decision-making authorities. This brings a more respectful attitude with the authorities and a decrease in the number of sit-ins stagedby the involved associations. However, other disabled people are against this strategy of involvement with the administrative bodies, which they consider to be marginalizing and inefficient, and wish for a much more radical movement. 30 The partial meeting of the associations' demands that accompanies the passing of the law for the social integration of disabled people (LISMI) in 1982 leads to a small decrease in the number of actions.

The Brazilian protests strongly differ from those in other countries by their mixed and moderate nature. The slogans shown during protests do not usually contain any direct accusation against administrative authorities, managing associations, or private enterprises. By respecting the established authorities, these street protests are a more general manifestation of social awareness of the issues. They can, then, be categorized as street-processions, that is 'no audience processions whose main function is to build the image of the group by using symbols'. [START_REF] Tartakowsky | Le pouvoir est dans la rue[END_REF] In 1980, many associations of physically disabled, blind, deaf and leprous people form a national coalition. [START_REF]Historia do Movimento Politico das Pessoas com Deficiência no Brasil[END_REF] This coalition calls for an unitary protest day on 21st September 1982, also organized in about seven other cities. This explains the diversity of participants in the protests: 70 % of protestors are physically disabled, blind, and, to a lesser extent, deaf, leprous and sometimes intellectually disabled people accompanied by their caregivers. Despite differences of political orientation, the various organizations succeed in maintaining their unity, through the diplomacy of some of their members and through the majority approval of a moderating consensus on their demands. All of these appear at the protest level through the presence of religious members and also through the support granted by various political, religious, and economical bodies. The Brazilian protests are generally seen from the point of view of the fraternity between social classes, while the Spanish protests are affected by stronger class tensions.

In Argentina, the actions concern both administrative authorities and associations' offices. The actions undertaken by FLP are particularly subversive towards the private associations AOI and COR and the charity ladies who are managing them. Composed of more than one hundred people with physical disabilities, blindness, or hemophilia, FLP is quite isolated from the other associative movements. It does not manage to bring together the other associations of physically disabled people who share an antagonistic political culture or that are already collaborating with administrative bodies. However, in early 1974, leaders do succeed in gathering the associations of deaf, blind, and hemophiliacs in order to form the Unión Nacional Socioéconomico del Lisiado (UNSEL). In this increasingly tense political context, UNSEL does not take any radical action, but it concentrates its efforts on the process of the drafting of a law by parliament regarding work for disabled people.

Affected to different degrees by the dynamics of political control and strategic moderation, these movements for disability rights take different paths of emancipation depending on each country.

The different paths of emancipation.

The entangled analysis of the goals of protests encounters several obstacles. Certain actions are related to local and prosaic goals, while others differ by the emancipatory approach of their objectives. It is unusual when they limit themselves to fight for one single objective. In this case, the comparison is particularly difficult. However, for some their goal is to preserve the existing rights threatened by the authorities' politics. On 13th July 1981, one hundred blind lottery ticket sellers protest in the streets of Seville against the recent law that legalizes the selling of lottery tickets inside bars, and in this way seek to protect the exclusivity reserved for ONCE. 33 Certain groups of persons with disabilities share their wish for equality and for emancipation from certain care and guidance (medical, familial, administrative, religious) during these protests. Some disagreements exist, however, about the means by which one can achieve this equality and this emancipation. In Spain, there is a particularly strong tension between the promoters of a law concerning the social integration of disabled people, who also support the creation of a coordinating administrative agency, and those who categorically oppose this line, which they see as a differential and marginalizing treatment of disability. This group are also opposed to maintaining some specialized services, such as the sheltered workshops or shared residences. From 1978, the Spanish coordination of physically disabled people supports the first of these two approaches. Protests are organised in about ten cities on 24th November 1979 in order to demand the fast approval of the law on social integration of disabled people currently being reviewed by Parliament. In Brazil and in Argentina, debates oppose the advocates of achieving equal rights for the disabled with those of other citizens, and activists for special rights. The idea of passing a law specifically dedicated to the social integration of disabled people does not create an opposition in principle in these countries.

In each country, the disability rights movements mark the boundaries between the forms of equality they seek to obtain and the situations of inequality and dependence they experience. We will outline the main characteristics now, focussing on three issues in particular: access to properly paid work; accessibility; and emancipation from guardianship.

A. Conquering the right to work.

In the three countries, the training programs offered to disabled people are quite residual, even people from Brazil are more concerned because of the activity of the Department of Rehabilitation of the Instituto Nacional da Previdência Social. Professional training is provided in Spain by the National Association of Civilian Invalids (ANIC) and by other private associations, in collaboration with the SEREM and the Ministry of Labor. In Argentina it is provided by the Servicio Nacional de Rehabilitación. In Spain, it is limited to one thousand people each year, while in Argentina to only one hundred disabled people. The major difficulty for those who are rehabilitated in the three countries relates to access to appropriate and properly paid employment. This situation persists in spite of the adoption of legal measures (adopted in in Brazil in 1960 and in Spain in 1970) that set aside a certain percentage of posts within some public administrations and private companies for disabled people. When they do manage to obtain employment, it is often precarious and very poorly paid. The crisis of professional opportunities is particularly acute in Spain during the 1970s. In the absence of professional opportunities within the mainstream sector, sheltered workshops become widespread in Spain (mainly under the guidance of ANIC), and in Argentina on the initiative of the private associations AOI and COR. These sheltered workshops are important targets for the Argentinian and Spanish protests. In Spain, several associations ask, during a meeting in February 1977, for the abolition of the private sheltered workshops, and for access to working positions within mainstream companies. 34 However, most attacks are aimed at SEREM's inefficiency, excessive bureaucracy, and lack of resources. In Barcelona, the forty physically disabled people who occupy the buildings of SEREM from 2 nd November until 6th December 1977 seek the closure of SEREM and the creation of special secretariats in each Ministry. 35 Many actions require the application of the 1970 decree on the reserving of posts for disabled people, as well as the creation of a form of unemployment insurance for all disabled people. In Argentina, the UNSEL advocates for the adoption of a law that would reserve 4% of posts within public administrations and private companies for disabled people. Satisfaction comes quickly: the Parliamentary Assemblies adopt the law Comisión Nacional de Discapacitados36 in October 1974.

B. Conquering the right to accessibility.

In the three countries, although some steps were taken to improve the funding for the purchase of cars with orthopedic control, no measures were taken in order to require architectural transformation of public spaces to improve accessibility. In Spain and in Brazil, the accessibility of public transportation and the city's architecture is one of the main objectives of the protests. In Spain, those engaged are using special means of action to denounce the lack of accessibility to public transportation: the MU organizes some sit-ins in front of the subway of Puerta del Sol in Madrid from 5th March 1976 and 26th November 1977. Following their mobilization, several town councils (Palma de Mallorca, Barcelona, Madrid) introduce measures which are designed to allow their urban mobility and to get rid of the architectural barriers. The mobilized disabled people from Spain mention exclusively the architectural and technical progress of Northern European countries (Sweden, Norway, Finland), while Brazilians refer to the United States' example. In Brazil, some disagreements arise between those associations in favor of free public transportation and those against it because they see it as a privileged and special treatment of disability. In Argentina, the topic of accessibility is not mentioned during the protests. This is explained by the small number of association activists familiar with this issue in 1973.

C. The perimeters of emancipation.

In the three countries, the physically and sensorily disabled people mobilized within the protests agree about the need to fight against paternalism and authoritarianism. They protest against the charitable and compassionate approach to disability and, to a lesser extent, the overprotective attitude of the families. In this way they show their will to master their destiny. 37 Unwilling to be part of the private charity any longer, they ask for the administrative bodies to take care of their needs, but they demand also to participate in the decision-making process with the officials, in order to have a more egalitarian relationship with the administrative bodies. To this end, their representatives attend certain decision-making administrative bodies at a local, regional, or national level. In Spain, a steering committee of SEREM is created, including nine government officials and nine disabled people.

On the contrary, contesting religious teaching seems to be a minority issue in Spain and is almost absent from discourses in Brazil. Furthermore, the will among rehabilitation specialists to impose a more egalitarian relationship is almost absent in Spain. However, in the other two countries, some disabled people themselves rebel against the experience of professional rehabilitation, which completely ignores the choices made by disabled people. In Argentina in August 1974, in its fight against the current understanding of professional rehabilitation, the UNSEL insists that is predominantly managed by private organizations and guided by scientific, paternalist, and charitable criteria. The disabled person is seen as a passive individual by this kind of rehabilitation, which is conceived as a set of actions to be achieved. This does not help her to better integrate into society and may even marginalize her further. [START_REF]Diario de Sesiones de la Cámara de Senadores[END_REF] In Brazil, the Movimento pelos Direitos das Pessoas Deficientes denounces the limited technical training of the health and rehabilitation professionals, 'who have inadvertently adopted a position of superiority towards their clients, by not asking for their opinions on their needs and their choices'. [START_REF]Movimento pelos Direitos das Pessoas Deficientes[END_REF] At the same time as the English association UPIAS builds a radically social interpretation of disability, by totally separating it from the impairment, Spanish members of MU doubt the medical definitions of disability. According to one member, we have to see the disabled 'as a social group which is marginalized by society because of (?) its physical and psychical impairments'. [START_REF]Gabinete de Estudios y Asesoramiento[END_REF] The question mark is used here in order to register doubt about 'the fatal cause and effect relationship' between the physical impairment and the marginal situation. That is, the Spanish member wishes to show that a certain physical defect 'does not lead by itself to the social marginalization', as the contemporary capitalist society contributes to the marginalization of disabled people.

D. The experience of new, more egalitarian social relations.

These periods of protest could be considered as 'moments of potential historical discontinuity' during which the marginalized actors take advantage of historical opportunities in order to build emancipatory utopias and more egalitarian social relations. [START_REF] Riot-Sarcey | Le réel de l'utopie[END_REF] These actions sometimes lead to the temporary experience of more egalitarian social relations between disabled people and the people who, at a particular moment, come into contact with them. In Barcelona, the forty physically disabled people locked inside the offices of SEREM from 2nd November until 6th December 1977 discuss as equals with the workers from SEREM who join their fight. The borderlines between the social groups are removed; physically disabled people from the educated middle class join those living on the streets. According to Antonio Guillén, one of the disabled leaders, 'the disabled people could live [for] one and a half months a new reality in which their capacity to be useful was recognized'. [START_REF] Guillén | La participación[END_REF] Many of them will also discover for the first time physical love.

To emancipate themselves from the family and from the institution's teaching, certain disabled people experiment with communal living, without the authority of the family, the administration, or the associations. Or, they may try to live in an individual apartment. The United States model of 'centers for independent living' (CIL) saw a low-level spread into the three countries, during the period in question here. In Argentina in 1982 three severely disabled women, leaders of the Christian fraternity in Buenos Aires, take inspiration from the small booklets written in English about the CIL and create their own community center, the Hogar Padre François (HODIF). 43 This center is established in 1983, after the end of dictatorship. In Brazil, certain leaders are aware of the existence of the CIL since the mid-1970s, but the first project for such a center starts in 1988 in Rio de Janeiro. In Spain, during the democratic transition, the matter of shared residences leads to lively debates. The most radical groups demand the termination of shared residences and seek access to individual apartments for severely disabled persons. In Barcelona during the 1980s, several small groups of young physically disabled people decide to live as an autonomous community in several apartments in the El besos neighbourhood. [START_REF]El Besos : un barrio para minusvalidos[END_REF] There is no evidence that their experience is inspired by that of the CIL.

Conclusion

This decade (1968-1982) is marked by the radicalization of disability rights movements. The Spanish case differs from those in the other two countries by the higher level of radicalness, seen through the importance and diversity of the number of protests, the high level of conflicts with the police authorities, the importance of conflicts of interpretation regarding the cause of social marginalization of disabled people in the associative debates of 1976-1977, as well as the questioning of religious teaching by different groups. Nevertheless, no questions have been raised over the medical guidance in the process of professional rehabilitation. On the other hand, the Brazilian movements are marked by strong moderation of both action and demands, as well as by their taking place between different disabilities.

The entangled perspective allows us to better understand the specificity of protests, by analysing the foreign influences. The results of our research lead us to relativize the originary and the original manner of the Anglo-Saxon protests within the growth of disability rights movements at the international level. To consider western countries as the first protest centers and creators of emancipatory projects for disabled people at an international level means adopting a western-centric point of view. Like Marcel Détienne, we think that it is possible to observe multiple inventions of emancipatory projects within distant societies from a chronological and spatial point of view. 45 45 M. Detienne, Comparer l'incomparable (Paris: Seuil, 2000), p. 106.

M. Werner and B. Zimmermann, 'Penser l'histoire croisée : entre empirie et réflexivité', Annales. Histoire, Sciences Sociales, 1 (2003), 15, pp. 6-37.

G. Sierra, "¿ Se hará justicia?", Boletin Informativo ANIC, Delegación de Zaragoza, 36 (noviembre de 1968).

T. D'Argenlieu, La fraternité catholique des malades (Bourges: Les éditions du cerf, 1953), p. 28.

Archives of the Fraternidade Cristã de Doentes e Deficientes, Porto Alegre, letter, Vicente Masip to Carmen, 1975.

V. Masip, 'Uma nova criação', Cartas Abertas, Recife, 27 (1979).

Quitapenas, San Martin, 2 (marzo 1980).

F. Devoto y B. Fausto, Argentina-Brasil, 1850-2000, un ensayo de historia comparada (Buenos Aires: Sudamericana, 2008), p. 417.

M. Pérez Ledesma, 'Nuevos y viejos movimientos sociales en la transición', in M. Carme (ed.), La Transición, treinta años después. De la dictadura a la instauración y consolidación de la democracia (Barcelona: Peninsula, 2006), p. 128.

Interview with Tania Garcia, Buenos Aires, March 17th 2010.

'Discapacitados no pueden retirar autos del puerto', La Nación, Buenos Aires (9 de agosto 1981).

Public Archives of the State of São Paulo, DEOPS, Ordem Politico, OP0654, 'Duzentos protestam na Sé', O Estado de São Paulo, São Paulo (22/7/80).

'Manifestaciones de subnormales en Las Palmas', El Pais, without date. In Voces, Madrid, 75 (15 de junio 1977).

'Ni ciegos ni ciudadanos 'sub'', Voces, Madrid, 86 (15 de junio 1978).

CONADEP, Nunca Más (Buenos Aires : UBA, 1986), pp. 341-347.

'Los minusvalidos españoles reivindican su integración en la sociedad', Empuje,Barcelona, 7 (marzo 1977).

'Estar con … ', Auxilia, Madrid, 104 (diciembre 1977).

G. Brégain, 'Historiar los derechos a la rehabilitación integral de las personas con discapacidad en Argentina', p. 163.

L. Crespo, 'A gênese do movimento das pessoas com deficiência', in Secretaria dos Direitos da Pessoa com Deficiência, 30 anos do AIPD (São Paulo: Imprensa Oficial do Estado de São Paulo, 2011), p. 147.


Hamzeh Eyal-Salman
email: eyalsalman@lirmm.fr

Abdelhak-Djamel Seriai
email: seriai@lirmm.fr

Christophe Dony
email: dony@lirmm.fr

Feature Location in a Collection of Product Variants: Combining Information Retrieval and Hierarchical Clustering

Keywords: Software product line, product variants, feature location, FCA, AHC, IR

Locating source code elements relevant to a given feature is an important step in the process of re-engineering software variants, developed by an ad-hoc reuse technique, into a Software Product Line (SPL) for systematic reuse. Existing works on using Information Retrieval (IR) techniques do not consider the abstraction gap between feature and source code levels. In our recent work, we have improved the effectiveness of IR-based feature location by introducing an intermediate level between feature and source code levels, called "code-topics". We used Formal Concept Analysis (FCA) to identify such "code-topics" . In this paper, we investigate the results of using Agglomerative Hierarchical Clustering (AHC) algorithm to identify codetopics. In our experimental evaluation, we show that AHC significantly increases the recall of feature location with a minor decrease of precision compared to FCA.

Introduction

Software product variants are a set of similar software products developed by ad-hoc copying with adaptations to meet new demands of customers [START_REF] Yinxing | Understanding feature evolution in a family of product variants[END_REF]. They share some features, called mandatory features, and also support different, customer-specific features, called optional features. A feature is "a prominent or distinctive user-visible aspect, quality or characteristic of a software system" [START_REF] Kang | Feature-oriented domain analysis (foda) feasibility study[END_REF]. As numbers of variants and features grow, maintaining such software variants and developing new variants becomes more difficult and expensive over time. Therefore, a transition to a systematic reuse approach, such as Software Product Line Engineering (SPLE) becomes necessary.

SPLE is a engineering discipline providing methods to promote systematic software reuse for developing short time-to-market and quality products in a cost-efficient way [START_REF] Pohl | Software Product Line Engineering: Foundations, Principles and Techniques[END_REF]. These products are known as SPL. SPL is rarely developed from scratch. It is often built by exploiting artifacts of pre-existing software product variants. To re-engineer software variants into a SPL, it is important to locate source code elements (e.g., classes) that implement each feature [START_REF] Eyal-Salman | Featureto-code traceability in a collection of software variants: Combining formal concept analysis and information retrieval[END_REF]. Feature location is needed to understand the source code of software variants and support product derivation from SPL core assets [START_REF] Pohl | Software Product Line Engineering: Foundations, Principles and Techniques[END_REF]. Manually locating feature implementations is an error-prone and time consuming task. This is because maintainers must understand several software artifacts to decide which feature is implemented by which source code elements.

Information Retrieval (IR) techniques have been widely used for feature location [START_REF] Marcus | Recovering documentation-to-source-code traceability links using latent semantic indexing[END_REF] [START_REF] Kuhn | Semantic clustering: Identifying topics in source code[END_REF]. In our recent work [START_REF] Eyal-Salman | Featureto-code traceability in a collection of software variants: Combining formal concept analysis and information retrieval[END_REF], we have improved the effectiveness of IR-based feature location in a collection of product variants by bridging the abstraction gap between feature and source code levels. This bridging is performed by introducing an intermediate level, called code-topic. A code-topic is a cluster of similar classes that reveal source code intention. A code-topic can be a functionality implemented by the source code and provided by a feature. In our recent work [START_REF] Eyal-Salman | Featureto-code traceability in a collection of software variants: Combining formal concept analysis and information retrieval[END_REF], we have combined a technique called Formal Concept Analysis (FCA) and IR to identify such code-topics. In this paper, we propose to investigate the results of using Agglomerative Hierarchical Clustering (AHC) to identify "code-topics" .

The rest of this paper is organized as follows. Section 2 presents necessary background to understand our proposal. Then, Section 3 shows how AHC can be used to identify code-topics. In sections 4 and 5, we present experimental evaluation and discuss related work, respectively. Finally, Section 6 concludes the paper.

Background

IR-based Feature Location

IR-based feature location methods exploit source code information (identifier and comments) to locate a feature's implementation. These methods works by conducting lexical matching between source code information and feature information (i.e., feature description). Different IR techniques, such as Vector Space Model (VSM) and Latent Semantic Indexing (LSI), have been proposed in the context of locating features in the source code. These techniques share four steps: corpus creation, preprocessing, indexing and querying. For more details, the reader can refers to [START_REF] Salton | Introduction to Modern Information Retrieval[END_REF]. In both LSI and VSM, the textual similarity between source code documents (corpus) and features documents (queries) is measured by the cosine of the angle between their corresponding vectors. Both LSI and VSM return a ranked list of source code documents against each feature document.

The effectiveness of IR techniques is measured by their recall, precision and F-Measure [START_REF] Salton | Introduction to Modern Information Retrieval[END_REF]. For a given query, recall is the percentage of retrieved documents that are relevant to the total number of relevant documents, while precision is the percentage of retrieved documents that are relevant to the total number of retrieved documents. F-Measure defines a tradeoff between precision and recall so that it gives a high value only in case where both recall and precision are high. All measures have values in [0,1].

IR-based Feature Location in a Collection of Product Variants: An Overview

In this section, we give an overview of our recent work [START_REF] Eyal-Salman | Featureto-code traceability in a collection of software variants: Combining formal concept analysis and information retrieval[END_REF], in order to more easily understand our proposal.

Basic Assumptions

We focus on functional features that express the behavior or the way users may interact with a product. We restrict ourselves to object-oriented systems. A functional feature can be implemented by a set of packages, classes, methods and attributes. A class represents a main building unit in all object-oriented programming where it encapsulates functionality and data. Moreover, developers typically think of a class as a set of responsibilities that simulate a concept or functionality from the application domain. Consequently, we assume that a functional feature is implemented by a set of classes.

The functional feature's implementation spans multiple classes. We assumed that classes that contribute to implement a feature have shared terms and called near to each other. By grouping these classes into a cohesive unit based on their natural language content, we can get more relevant information describing features implemented by these classes. Therefore, we proposed the code-topic, as a coherent cluster of similar classes that are grouped based on their textual contents to implement a functionality. The codetopic constitutes an intermediate level that bridges the abstraction gap between feature and source code levels. Consequently, the functional feature (i.e., its description) can be textually matched to a set of code-topics (i.e., their source code information) representing its functionalities. This allows us to easily map a feature to a set of classes that are similar and grouped as a code-topic instead of mapping each feature to each class individually.

Code-Topics Identification

In our recent work [START_REF] Eyal-Salman | Featureto-code traceability in a collection of software variants: Combining formal concept analysis and information retrieval[END_REF], we follow to strategy to improve IR-based feature location. Firstly, we determined mandatory features (resp. their classes) across software variants and grouped optional features (resp. their classes) into minimal disjoint sets at feature and source code levels. Secondly, we reduced the abstraction gap between feature and source code levels by introducing the code-topic as an intermediate level. In this paper, we only focus on reducing the abstraction gap.

Figure 1 gives a general overview of the two kinds of reduction. In this figure, we assume that a given collection of product variants provide a set of features {F1, F2, . . . , F13} and contain a set of classes {C1, C2, . . . , C47}. These features and classes are grouped into minimal disjoin sets at feature and source code levels. VSM is used to compute textual similarity between classes while FCA is used to cluster together similar classes. Each cluster is interpreted as a code-topic. LSI is used to link features and their corresponding code-topics. After determining the code-topics corresponding to each feature, we easily determine classes that implement each feature by decomposing each codetopic to its classes. In our approach, a code-topic may be associated to more than one feature.

Code-Topics Identification based on Hierarchical Clustering

Clustering, in general, is the division of objects into groups of similar objects. Each group, called a cluster, consists of objects that are similar amongst themselves and dissimilar to objects of other groups [START_REF] Berkhin | A survey of clustering data mining techniques[END_REF]. Clustering approaches are classified into hierarchical or non-hierarchical. Hierarchical clustering methods are further categorized into agglomerative (AHC for short) and divisive. Below, we present how AHC is used to identify code-topics.

Code-Topic Identification as a Partitioning Problem

According to our definition of the code-topic, the content of a code-topic matches a set of classes. Therefore, in order to determine a set of classes that can belong to a code-topic, it is important to formulate the code-topic identification as a partitioning problem. The input is a set of classes (C). This set could be classes of the common partition or classes of any minimal disjoint set (see Figure 1

k i=1 T i = C.
For a given set of classes, we cluster them based on the strength of the relationship between the classes. In our case, this relationship refers to textual similarity. We use VSM to compute this similarity. We create a document for each class containing a list of terms extracted from all the identifiers of its corresponding class. VSM computes the textual similarity between two class documents by using cosine similarity between their corresponding vectors. One of these documents is treated as a query. The cosine similarity equation (refer to equation 1) represents a fitness function to decide which class documents belong to a cluster.

F (d j , q) = n i=0 w i,j w i,q n i=0 w 2 i,j n i=0 w 2 i,q (1)
Where F is the fitness function with value in the range [0,1]. d j and q are class and query vector documents respectively while w is a term weight. In our case, we try to maximize the fitness value for each cluster where similar classes use similar vocabulary.

Building a Hierarchy of Clusters

AHC groups similar classes that use similar vocabulary together and aggregate them into clusters. The basis for clustering classes is the strength of the relationship between them. The previously defined fitness function is used to measure this strength. AHC relies on a series of successive binary mergers, initially of individual class documents and later of clusters formed during the previous stages. We obtain from these binary mergers a single cluster dendrogram (dendgr) that contains a set of nested clusters. Figure 2 shows an example of dendrogram tree. At the lowest level, each class is in its own unique cluster. At the highest level, all classes belong to the same cluster. The internal nodes represent new clusters formed by merging the clusters that appear as their children in the tree.

Selection Candidate Code-Topics

Breaking the dendrogram tree based on predefined criteria allows to group classes into clusters. Each cluster can be a candidate code-topic. Therefore, we must select the breaking point to obtain code-topics. This selection is performed by an algorithm based on a depth-first search (refer to algorithm 1). This algorithm takes as input the dendrogarm tree and returns a set of clusters. We interpret these clusters as code-topics. For each node in the dendrogram (starting from the root), we compare the fitness value of the focused node and its sons ( d j and q in equation 1 become cluster nodes). If the fitness value of the focused node is less than the average of the fitness values of its two sons, then the algorithm continues on to the next son nodes. Otherwise, the focused node is identified as a code-topic, added to the code-topics(T) and the algorithm computes the next node in the stack. In this way, the most relevant code-topics will be identified as the traversal continues.

Code-Topics for Locating Feature Implementations

After identifying code-topics, we apply LSI (as shown in Figure 1) to link mandatory features and their possible corresponding code-topics, as well as to link each minimal disjoint set of optional features and their possible corresponding code-topics. LSI is applied by following the steps described in section 2.1, but we build LSI's corpus and queries as follows. LSI's corpus consists of code-topic documents, which each one corresponds to a code-topic. Each document consists of terms extracted from identifiers of corresponding code-topic's classes. LSI takes code-topic and feature documents as input. Then, LSI measures the similarity between the code-topics and features using the cosine similarity. This returns a list of code-topics, ordered by their cosine similarity values against each feature. The retrieved code-topics should have a cosine similarity value greater than or equal to 0.70, where this value represents the most widely used threshold for the cosine similarity [START_REF] Marcus | Recovering documentation-to-source-code traceability links using latent semantic indexing[END_REF].

After linking each feature with all its corresponding code-topics, we can easily link each feature with its classes by decomposing each code-topic to its classes. For instance, if the feature f1 is linked to two code-topics: topic1= c1, c4 and topic2= c7, c6, by decomposing these topics into their classes; we can find that f1 is implemented by five classes c1, c4, c7, c6.

Experimental Evaluation

Case Studies and Experiments Setting

To validate our approach, we have applied it to a collection of seven variants of a large-scale system, ArgoUML-SPL1 modeling tool, and five variants of a small-scale system, MobileMedia2 .

The ArgoUML-SPL is a Java open-source which supports all standard UML 1.4 diagrams. The ArgoUML-SPL's products are generated from the same framework so that products that share the same features also share the same code. The selected products differ in terms of provided features but they support all UML diagram features. These features are implemented by source code classes. To establish ground truth links between features and their classes in order to evaluate our proposal, we compare code classes of two generated products; one of them provides all features while the other provides all features except the focused one. The obtained classes represent the real implementation of the focused feature. We repeat this process for all ArgoUML-SPL's features. MobileMedia is a JAVA open source that manipulates multimedia on mobile devices. In our study, we have considered and analyzed variants that only implement features as classes. To establish ground truth links between features and their source code classes, we analyze manually the source code.

The most important parameter to LSI is the number of chosen term-topics. A term-topic is a collection of terms that co-occur frequently in the documents of the corpus. The proper way to make such a choice is an open issue in the literature. Too many term-topics leads to the association of irrelevant terms and too few term-topics leads to loosely relevant terms. We are unable to use a fixed number of term-topics (#term-topics) because we have different sizes of code-topic documents. Therefore, we use a factor K between 0.1 and 0.5. #term-topics is equal to (K × D dim ), where D dim is the document dimensionality of the termdocument matrix that is generated by LSI.

Results and Discussion

Table 1 summarizes precision, recall and F-measure results of locating all features of ArgoUML-SPL and Mo-bileMdia by using AHC and FCA to identify code-topics.

On a large-scale system (ArgoUML-SPL), we notice that AHC significantly improves the recall values with a minor decrease in the precision compared to FCA. This improvement in recall is due to the fact that AHC identifies codetopics by determining a set of clusters so that classes of each cluster are similar amongst themselves and dissimilar to classes of other clusters. Regarding FCA, it identifies code-topics by determining a set of clusters in which all cluster's members are similar to each other but it doesn't consider similarity between clusters (refer to [START_REF] Eyal-Salman | Featureto-code traceability in a collection of software variants: Combining formal concept analysis and information retrieval[END_REF]). This means that FCA computes the textual similarity only among classes while AHC computes the similarity not only among classes but also among clusters. Therefore, the number of code-topics obtained by FCA is higher than AHC (423, 17 respectively). Identifying a small number of code-topics means that each code-topic document contain more rele-vant source code information. This is allow to do better textual matching with feature descriptions, and hence the recall. Regarding the minor decreasing in the precision, this is due to the fact that AHC depends a lot on VSM compared with FCA. AHC uses VSM to compute similarity between classes and clusters while FCA uses VSM to compute similarity only between classes. This means that the number of false-positive links in the case of AHC is higher than FCA because VSM retrieve false-positive links which leads to impression. F-measure results refer to AHC achieve a better compromise between precision and recall than FCA. On a small system (MobileMedia), it is observed that AHC and FCA produce the same precision, recall and Fmeasure results for the following reasons. Firstly, most minimal disjoint sets of optional features consist of only one feature, and hence their corresponding minimal disjoint sets of classes contain only the implementation of that feature, no more and no less). Thus, in this case we do not require LSI and code-topics. Secondly, MobileMedia's features are implemented by a small number of classes, sometimes by only two classes. These classes have little information that hinders building code-topics.

Related Work

The approach was proposed by Kuhn et al. [START_REF] Kuhn | Semantic clustering: Identifying topics in source code[END_REF] is the closet to ours. They proposed an approach to identify linguistic topics from object-oriented source code. Their approach relied on LSI to compute similarity among given set of methods, classes or packages. Then, AHC was used to cluster similar elements together as linguistic topics. The clusters retrieved by their approach are not necessarily domain concepts (i.e., features), but rather code-oriented topics. In our approach, we identify feature-oriented topics where these topics are identified from a set of classes that implement features.

Maskeri et al. [START_REF] Rama | Mining business topics in source code using latent dirichlet allocation[END_REF] identify topics from code by using Latent Dirichlet Allocation (LDA). interpretation for a topic is a set of semantically related linguistic terms identified from identifiers names and comments. Kawaguchi et al. [START_REF] Kawaguchi | Mudablue: An automatic categorization system for open source repositories[END_REF] proposed an automatic categorization method for a large collection of software systems. They use linguistic information in source code for identifying categories (topics) from open source repositories (e.g., SourceForge). A category is a cluster of related identifiers. Our approach differs from the works of Maskeri et al. and Kawaguchi et al. in two ways. Firstly, topics in their approaches are clusters of terms while code-topics in our approach are clusters of software artifacts (classes). Secondly, topics retrieved by their approach are code-oriented topics while we identify feature-oriented topics, as they are identified from source code classes that implement features (and only features).

Conclusion

In this paper, we have proposed to combine IR and AHC to improve the effectiveness of IR-based feature location in a collection of product variants. This improvement involves reducing the abstraction gap between feature and source code levels by introducing the concept of code-topic as an intermediate level. We have compared between two algorithms to identify code-topics: AHC and FCA. In our experimental evaluation using two different case studies, we showed that AHC significantly increases the recall of IRbased feature location with a minor decrease of precision compared to FCA.

Figure 1 .

 1 Figure 1. An Overview of the Code-Topic Identification Process.

  ). The output is a set of code-topics (T) of C. C = {c 1 , c 2 , ..., c n } and T (C) = {T 1 , T 2 , . . . , T k } where: (1) c i is a class belonging to C; (2) T i is a subset of C; (3) k is the number of identified codetopics; (4) T (C) does not contain empty elements: ∀T i ∈ T (C), T i = Φ; (5) The union of all T (C) elements is equal to C:

Figure 2 .

 2 Figure 2. An example of dendrogram tree.

Algorithm 1 : 9 add

 19 CodeTopicDendrogramTraversal Input: Dendrogram(dendgr) Output: Code-T opics(T ) 1 stack traversedClusters 2 push(traversedClusters, dendgr) 3 while (|traversedClusters| > 0) do 4 parent ← pop(traversedClusters) 5 son1 ← getSon1Cluster(parent, dendgr) 6 son2 ← getSon2Cluster(parent, dendgr) 7 avg ← average(F (son1), F (son2)) 8 if (F (parent) > (avg)) then

Table 1 . Precision, recall and F-measure of AHC against FCA for ArgoUML-SPL and Mo- bileMedia.

 1

				ArgoUML-SPL
		Precision	Recall	F-measure
	K	AHC	FCA	AHC	FCA	AHC	FCA
	0.1	52%	70%	99%	40%	68%	51%
	0.2	52%	57%	99%	9%	68%	16%
	0.3	52%	57%	98%	5%	68%	9%
	0.4	52%	62%	98%	4%	68%	8%
	0.5	52%	57%	96%	2%	67%	3%
				MobileMedia
		Precision	Recall	F-measure
	K	AHC	FCA	AHC	FCA	AHC	FCA
	0.1	85%	85%	100%	100%	92%	92%
	0.2	85%	85%	100%	100%	92%	92%
	0.3	93%	93%	93%	93%	93%	93%
	0.4	93%	93%	93%	93%	93%	93%
	0.5	96%	96%	89%	89%	93%	93%

Available at http://argouml-spl.tigris.org/

Available at http://www.ic.unicamp.br/ tizzei/mobilemedia/