CN101894038A - Reverse engineering analysis method of feature variability in software product line development - Google Patents

Reverse engineering analysis method of feature variability in software product line development Download PDF

Info

Publication number
CN101894038A
CN101894038A CN2010102424679A CN201010242467A CN101894038A CN 101894038 A CN101894038 A CN 101894038A CN 2010102424679 A CN2010102424679 A CN 2010102424679A CN 201010242467 A CN201010242467 A CN 201010242467A CN 101894038 A CN101894038 A CN 101894038A
Authority
CN
China
Prior art keywords
feature
variability
matrix
field
reverse engineering
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN2010102424679A
Other languages
Chinese (zh)
Inventor
沈立炜
彭鑫
赵文耘
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fudan University
Original Assignee
Fudan University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fudan University filed Critical Fudan University
Priority to CN2010102424679A priority Critical patent/CN101894038A/en
Publication of CN101894038A publication Critical patent/CN101894038A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

The invention belongs to the software development technical field, in particular relating to a reverse engineering analysis method of feature variability in software product line development. In the method, legacy system codes and a domain feature list are taken as input, and a variability analysis result for domain features is acquired through reverse analysis to show variability description on a demand layer and an implementation layer. The reverse engineering analysis method comprises the following steps: establishing a feature-classification matrix set by adopting a feature localization technology; carrying out feature-product integration, and establishing a feature-product matrix to obtain the variability on the demand layer; and comparing the difference of the legacy codes for each feature to obtain the variability on the implementation layer. The reverse engineering analysis method combines domain knowledge in the codes with knowledge in the forward process together to obtain more accurate and comprehensive variability conclusions; and meanwhile variability analysis on the feature implementation layer brings benefits for design and implementation activities of a product line.

Description

The reverse engineering analysis method of feature variability in the software product line development
Technical field
The invention belongs to the software development technique field, be specifically related to the changeability identification and the analytical approach of domain features.
Background technology
Software product line is to share one group of controlled public characteristic and develop a series of software application system that form on a series of predefined common core assets basis.These a series of similar software application system are called as the field, for example typical business field such as ecommerce, E-Government.Changeability is the key concept of software product line, the difference part in its expression field between each application system.Generally speaking, changeability changes the otherness of feature list that system comprises into by feature description.Feature is visible systemic-function of user and characteristic, has explained function and quality that system is supposed to realize, so feature can represent the demand in the field effectively, and as general character in the expression field and variable elementary cell.
The Mutability analysis of feature is the key link in the software product line domain analysis.In the product line domain engineering activity of forward, the foundation of feature and changeability identification all are the processes of growing out of nothing, this require the domain analysis personnel can before obtain whole domain knowledges with taking the photograph formula, there is situation in the demand that comprises the feature representative in different application systems.Facts have proved that this is a kind of Utopian product line development mode.Its reason is that the scope in most of fields (removing the field with fixed demand standard) and changes in demand thereof are difficult to just be determined in the initial stage of demand analysis.Therefore, the software product line in the reality is more suitable on a plurality of already present Legacy Systems basis, and the means by the software product line transformation get.
Under the guidance of this thought, the changeability of domain features can get from all kinds of conversed analysis of leaving over assets.Generally speaking, leave over source code, document or other models, the text etc. that assets comprise each application system.Wherein, be studied boundary's extensive concern at the conversed analysis method of source code, groundwork comprises text based latent semantic analysis method (LSA) and code otherness comparative approach.Therefore, the present invention utilizes the conversed analysis and the artificial cognition result of automanual legacy system codes, further the changeability of analysis field feature.
Summary of the invention
The purpose of this invention is to provide a kind of automanual legacy system codes reverse engineering analysis method, feature variability analysis in the auxiliary support software product line exploitation, support the product line transformation activity of target domain, for wherein domain analysis provides more accurate, comprehensive feature variability conclusion.
Core concept of the present invention is based on legacy system codes and initial domain features tabulation, technology by feature location, obtain the contain situation of each feature in different application systems, judge the changeability (demand of feature representative all contained or part contain) of feature on the demand aspect thus.In addition, by difference analysis, obtain feature in the otherness that realizes on the level (implementation of feature, code structure etc.) to the related realization code.
The reverse engineering analysis method of feature variability in the software product line development that the present invention proposes, its flow process as shown in Figure 1.The input of this method comprises three parts:
(1) has the code that product line is transformed a plurality of Legacy Systems of potential quality.Though do not relate to the notion in field in single Legacy System performance history, software organization can judge whether it belongs in the territory according to the development goal of existing software.
(2) domain features tabulation.The domain features tabulation can be used as the general requirment dictionary in the field, so that name of the demand in unified field and description.This tabulation is to be set up by having an informal discussion, read methods such as Legacy System document by product line related personnel such as domain expert, users as the input of this method.
(3) field dictionary.This dictionary has been described the various synonyms of feature on the code rank.The reason of introducing field dictionary is: the first, and feature is described demand in the mode of text, and not necessarily meets the coding criterion of programming language; The second, because Legacy System independence on stream, code may produce inconsistent situation in names such as class, method, parameter.Therefore, the synonymicon in field is a prerequisite of carrying out feature location.On the other hand, the field dictionary can have different implementations, and this comprises: with the dictionary that the reference table form exists, and corresponding other synonym of a plurality of code levels of each feature; WordNet, it is the general synon dictionary of semantic information that comprises.
Under the situation that above input possesses fully, the concrete steps of the inventive method are as follows:
(1) conversed analysis personnel in field are at the code of leaving over of each application system, the use characteristic location technology, set up a plurality of ' features-method matrix ', this matrix is row headers with the feature list, with the column heading by name of the method in the code, matrix element is described the correlativity of feature and system realization unit.
(2) conversed analysis personnel in field integrate all ' feature-method matrix ', obtain ' feature-product matrix ' at the field, this matrix is row headers with the feature list, with the field application system is column heading, matrix element is represented the realization situation of feature in application system, and it reflects the changeability conclusion of feature on the demand aspect.
(3) conversed analysis personnel in field at each feature, carry out otherness relatively to the system's code that relates to based on ' feature-product matrix ', and result relatively is expressed as the changeability conclusion of feature on the realization aspect.
In the inventive method, ' feature-method matrix ' process of foundation in the step (1) is divided into following two steps:
(1) by the LSA(latent semantic analysis) the feature location technology, obtaining with number percent is the numerical value of feature-method degree of correlation of unit, as shown in Figure 2.In this matrix form, rower sign p feature in the representative field and set thereof feature 1, feature 2 ..., feature p}, column label represent n method set among the application system m method m1, method m2 ..., method mn}.In the left-half of each cell, enumerated the relative program numerical value of special characteristic and method.
(2) determine threshold value by field conversed analysis personnel,, represent that then this feature and this method have correlativity if feature-method degree of correlation numerical value is higher than this threshold value.In matrix shown in Figure 2, can given threshold be 80%.
(3) rearrange ' feature-method matrix ', and to be or not represent its correlativity.As shown in Figure 2, have correlativity at the right half part of cell with O representation feature and method, and X represents not exist correlativity.
In the inventive method, ' feature-product matrix ' in the step (2) as shown in Figure 3.In this matrix form, rower sign p feature in the representative field and set thereof feature 1, feature 2 ..., feature p}, column label represent individual application system or product set { product 1, product 2 .., the product q} of leaving over of existing q in the field.In the left-half of each cell, list the realization situation of feature in the application-specific product, show as the method set that has correlativity with individual features, if do not comprise the realization to this feature in the product, then use '--' expression.Therefore, can therefrom analyze and obtain feature in the changeability type on the demand aspect: if feature all has corresponding realization the (do not have and not to be empty method set) in all products, then this is characterized as the demand common feature, and the left-half of last row of Fig. 3 matrix is labeled as ' general character '; If feature is not to be realized by all products, then this is characterized as demand changeability feature, and the left-half of last row of Fig. 3 matrix is labeled as ' changeability '.
In the inventive method, the code otherness in the step (3) the relatively identifying with the aspect of realization feature variability is as follows:
(1), filters the method set in each product obtain having correlativity with it at feature 1;
(2) first product code that will have corresponding method benchmark as a comparison carries out otherness relatively with the corresponding code of remaining product, obtains the similarity degree between the code, lists at the right half part of Fig. 3 respective cells;
(3) determine compare threshold by field conversed analysis personnel;
(4) analysis of threshold code otherness comparative result based on the comparison, if at same feature, all code similarity degrees are all greater than this threshold value, then this is characterized as the realization common feature, and the right half part of last row of Fig. 3 matrix is labeled as ' general character '; If the similarity degree that has a code is less than threshold value, then this is characterized as and realizes the changeability feature, and the right half part of last row of Fig. 3 matrix is labeled as ' changeability '.
The present invention can realize the changeability identification and analysis of domain features, supports to contain the software product line transformation process of leaving over the application system code.This method combines the result of code conversed analysis with the feature identification of forward, for the domain analysis activity of software product line provides more accurate, comprehensive demand changeability knowledge.In addition, this method can access the feature variability conclusion of two levels, one is the feature variability on the demand layer, the contain situation of the demand of representation feature representative in each application system, it is two for realizing the feature variability on the level, and the difference of representation feature in different application systems realizes technology.Especially second type changeability is that the field demand event of forward can't be obtained, and it has brought benefit for follow-up product line design with implementation phase.
The good effect of this method is to provide more perfect scheme for the transformation of field product line.Because in reality, a software organization often at first develops product independently a plurality of but that have similar demands, in order to reduce cost of development, to improve the quality of products, software organization will use the notion of product line to build the field platform.In this process, existing legacy system codes is to be looked at as important product line assets, comprising the changeability of demand and realization aspect, therefore how the key that becomes is wherein excavated and utilized to these changeability knowledge.Use the present invention, can encourage and promote the product line transformation process of software organization simultaneously by the auxiliary variable analysis of field demand of automanual means.
Description of drawings
Fig. 1 is a method flow diagram of the present invention.
Fig. 2 is ' feature-method matrix ' of the present invention template and example.
Fig. 3 is ' feature-product matrix ' of the present invention template and example.
Embodiment
Further provide the specific implementation process of the reverse engineering analysis method of feature variability in the software product line development below, Fig. 1 has provided the process flow diagram of this method.It is based on legacy system codes and initial domain features tabulation, obtain each feature containing and the realization situation in different application systems by the technology of feature location and the comparison of code otherness, judge the changeability of feature on demand aspect and realization aspect thus.
At once specific feature variability analytic activity, use this invention to comprise following specific implementation process:
(1) from domain expert or user, by having an informal discussion or reading method such as Legacy System document and obtain initial domain features tabulation.
(2) at an application product, field conversed analysis personnel use characteristic location technology (for example LSA), the synonym that is marked with the field dictionary is a matching field, obtain the degree of correlation numerical value between each method in feature and this product, set up initial ' feature-method matrix ', as shown in Figure 2.
(3) repeated execution of steps (2) is until all Legacy Systems are all disposed.
(4) relevance threshold of field conversed analysis personnel specific characteristic-method.Rearrange then ' feature-method matrix ', obtain with the feature of O or X mark and the two-value correlativity of method, as shown in Figure 3.
(5) conversed analysis personnel in field integrate all ' feature-method matrix ', set up initial ' feature-product matrix ', list the correlation technique set of feature in corresponding product, obtain the feature variability conclusion of demand aspect simultaneously, as shown in Figure 3.
(6) at a feature in ' feature-product matrix ', relative all the application product method set of field conversed analysis personal identification, with at first product is benchmark, uses code otherness compare tool (for example using the CloneMiner instrument) to obtain the similarity degree of remaining system code and reference code.
(7) repeated execution of steps (6) all disposes until all features.
(8) conversed analysis personnel in field formulate the similar threshold value of code.Analysis compares with the code similarity degree of each row feature then, obtains the changeability conclusion of feature on the realization aspect.

Claims (5)

1. the reverse engineering analysis method of feature variability in the software product line development is characterized in that may further comprise the steps:
(1) conversed analysis personnel in field are at the code of leaving over of each application system, the use characteristic location technology, set up a plurality of ' features-method matrix ', this matrix is row headers with the feature list, with the column heading by name of the method in the code, matrix element is described the correlativity of feature and system realization unit;
(2) conversed analysis personnel in field integrate all ' feature-method matrix ', obtain ' feature-product matrix ' at the field, this matrix is row headers with the feature list, with the field application system is column heading, matrix element is represented the realization situation of feature in application system, and it reflects the changeability conclusion of feature on the demand aspect;
(3) conversed analysis personnel in field at each feature, carry out otherness relatively to the system's code that relates to based on ' feature-product matrix ', and result relatively is expressed as the changeability conclusion of feature on the realization aspect.
2. the reverse engineering analysis method of feature variability as claimed in claim 1, it is characterized in that, feature list described in the step (1) is set up by having an informal discussion, read methods such as Legacy System document by related personnel such as domain expert, users, and this process is the initial characteristics acquisition process of forward, subjectivity.
3. the reverse engineering analysis method of feature variability as claimed in claim 1 is characterized in that, the step of setting up ' feature-method matrix ' described in the step (1) is as follows:
(1) by LSA feature location technology, obtaining with number percent is the numerical value of feature-method degree of correlation of unit;
(2) determine threshold value by field conversed analysis personnel,, represent that then this feature and this method have correlativity if feature-method degree of correlation numerical value is higher than this threshold value;
(3) rearrange ' feature-method matrix ', and to be or not represent its correlativity.
4. the reverse engineering analysis method of feature variability as claimed in claim 1 is characterized in that, the feature variability described in the step (2) on the demand aspect is divided into two classes: the demand general character, and promptly this feature is implemented in all application systems; The demand changeability, promptly this feature is not to be implemented in all application systems.
5. the reverse engineering analysis method of feature variability as claimed in claim 1, it is characterized in that, feature variability described in the step (3) on the realization aspect is divided into two classes: realize general character, promptly this feature has the implementation or the code of high similarity in all related systems; Realize changeability, promptly this feature has comparatively different implementations in different systems.
CN2010102424679A 2010-08-02 2010-08-02 Reverse engineering analysis method of feature variability in software product line development Pending CN101894038A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2010102424679A CN101894038A (en) 2010-08-02 2010-08-02 Reverse engineering analysis method of feature variability in software product line development

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2010102424679A CN101894038A (en) 2010-08-02 2010-08-02 Reverse engineering analysis method of feature variability in software product line development

Publications (1)

Publication Number Publication Date
CN101894038A true CN101894038A (en) 2010-11-24

Family

ID=43103236

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010102424679A Pending CN101894038A (en) 2010-08-02 2010-08-02 Reverse engineering analysis method of feature variability in software product line development

Country Status (1)

Country Link
CN (1) CN101894038A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103279347A (en) * 2013-05-28 2013-09-04 复旦大学 Universal software product line domain model and application model synchronization method
CN103279364A (en) * 2013-06-19 2013-09-04 东华理工大学 Dynamic evolution method of layered software architecture
CN103336760A (en) * 2013-07-11 2013-10-02 北京信息科技大学 Method and device based on reverse engineering for automatically generating software documents
CN107589936A (en) * 2017-09-13 2018-01-16 北京航空航天大学 Product line changeability method for optimizing configuration based on demand text Yu changeability model tracking relation

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103279347A (en) * 2013-05-28 2013-09-04 复旦大学 Universal software product line domain model and application model synchronization method
CN103279347B (en) * 2013-05-28 2016-03-30 复旦大学 The synchronous method of a kind of general software product line domain model and application model
CN103279364A (en) * 2013-06-19 2013-09-04 东华理工大学 Dynamic evolution method of layered software architecture
CN103279364B (en) * 2013-06-19 2016-09-14 东华理工大学 A kind of dynamic evolution method of layered software architecture
CN103336760A (en) * 2013-07-11 2013-10-02 北京信息科技大学 Method and device based on reverse engineering for automatically generating software documents
CN103336760B (en) * 2013-07-11 2016-12-28 北京信息科技大学 A kind of method and device based on reverse-engineering automatic generating software document
CN107589936A (en) * 2017-09-13 2018-01-16 北京航空航天大学 Product line changeability method for optimizing configuration based on demand text Yu changeability model tracking relation
CN107589936B (en) * 2017-09-13 2020-10-30 北京航空航天大学 Product line variability configuration optimization method based on requirement text and variability model tracking relation

Similar Documents

Publication Publication Date Title
Ray The directional distance function and measurement of super-efficiency: an application to airlines data
Brannstrom A Q-method analysis of environmental governance discourses in Brazil's northeastern soy frontier
Kuo et al. Minimizing the makespan in a single-machine scheduling problem with the cyclic process of an aging effect
Khoo Design of runs rules schemes
Grothe-Hammer et al. The decline of organizational sociology? An empirical analysis of research trends in leading journals across half a century
Calma et al. Studies in higher education 1976–2013: A retrospective using citation network analysis
Cohen Political philosophy: from Plato to Mao
Chandra et al. Disaggregate-level estimates of indebtedness in the state of Uttar Pradesh in India: An application of small-area estimation technique
CN113836038B (en) Test data construction method, device, equipment and storage medium
Zawacki-Richter et al. The geography of distance education-bibliographic characteristics of a journal network
Sinclair et al. Seqenv: linking sequences to environments through text mining
CN101894038A (en) Reverse engineering analysis method of feature variability in software product line development
CN105701133A (en) Address input method and equipment
Carstens et al. Objective choice of phylogeographic models
Zeng et al. LncLocFormer: a Transformer-based deep learning model for multi-label lncRNA subcellular localization prediction by using localization-specific attention mechanism
Gottschalk et al. Towards better understanding researcher strategies in cross-lingual event analytics
Poursaeed A run shock-erosion model
Debackere et al. Scientometrics shaping science policy and vice versa, the ECOOM case
Molik et al. Combining natural language processing and metabarcoding to reveal pathogen-environment associations
Yang Distribution of Fisher's combination statistic when the tests are dependent
Contreras-Ochando et al. General-purpose declarative inductive programming with domain-specific background knowledge for data wrangling automation
CN113901793A (en) Event extraction method and device combining RPA and AI
Monaco Methods for in-sourcing authority control with MarcEdit, SQL, and regular expressions
Puddicombe The contingencies of project management: A factor analytic approach to complexity and novelty
Giancristofaro et al. The multivariate randomized complete block design: A novel permutation solution in case of ordered categorical variables

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20101124