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
code
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

本发明属于软件开发技术领域,具体为一种软件产品线开发中特征可变性的逆向工程分析方法。该方法以遗留系统代码和领域特征列表作为输入,经过逆向分析,获取领域特征的可变性分析结果,体现为需求层面及实现层面上的可变性描述。其步骤包含:使用特征定位技术建立‘特征-类矩阵’集合;进行特征-产品整合,建立‘特征-产品矩阵’,获取需求层面上可变性;针对每个特征,进行遗留代码差异性比较,获取实现层面上可变性。本发明将代码中的领域知识与正向过程中的知识相结合,由此获得更为准确、全面的领域可变性结论。同时,特征实现层面上的可变性分析也为产品线的设计与实现活动带来益处。

Figure 201010242467

The invention belongs to the technical field of software development, in particular to a reverse engineering analysis method for feature variability in software product line development. This method takes the legacy system code and domain feature list as input, and after reverse analysis, obtains the variability analysis results of domain features, which are reflected in the variability descriptions on the requirements level and the implementation level. The steps include: using feature location technology to establish a 'feature-class matrix'set; performing feature-product integration to establish a 'feature-product matrix' to obtain variability at the demand level; for each feature, compare legacy code differences, Capture implementation-level variability. The invention combines the domain knowledge in the code with the knowledge in the forward process, thereby obtaining more accurate and comprehensive domain variability conclusions. At the same time, the variability analysis on the feature implementation level also brings benefits to the design and implementation activities of the product line.

Figure 201010242467

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 Relationship

Similar Documents

Publication Publication Date Title
Dao et al. DeepYY1: a deep learning approach to identify YY1-mediated chromatin loops
Carbone et al. T-BAS: Tree-Based Alignment Selector toolkit for phylogenetic-based placement, alignment downloads and metadata visualization: an example with the Pezizomycotina tree of life
Liu et al. Knowledge diffusion through publications and citations: A case study using ESI‐fields as unit of diffusion
Ray The directional distance function and measurement of super-efficiency: an application to airlines data
Gupta et al. Score test for zero inflated generalized Poisson regression model
CN113836038B (en) Test data construction method, device, equipment and storage medium
Andreucci Populism, emancipation, and environmental governance: Insights from Bolivia
Zeng et al. LncLocFormer: a Transformer-based deep learning model for multi-label lncRNA subcellular localization prediction by using localization-specific attention mechanism
Briones et al. Application of the microsoft excel solver tool in the optimization of distillation sequences problems
CN105701133A (en) Address input method and equipment
CN101894038A (en) Reverse Engineering Analysis Method of Feature Variability in Software Product Line Development
Dalton et al. Local and global query expansion for hierarchical complex topics
Debackere et al. Scientometrics shaping science policy and vice versa, the ECOOM case
CN107967592A (en) Auxiliary processing method and device for recruitment notice
Harrison Computational research on the Ancient Near East (CRANE): large-scale data integration and analysis in Near Eastern archaeology
CN103678407A (en) Data processing method and data processing device
Chuang et al. Investigation of Type I error rates of three versions of robust chi-square difference tests
CN117236648A (en) Intelligent system for talent recruitment and matching
Afsordegan et al. Absolute order-of-magnitude reasoning applied to a social multi-criteria evaluation framework
CN113901793A (en) Event extraction method and device combining RPA and AI
Giancristofaro et al. The multivariate randomized complete block design: A novel permutation solution in case of ordered categorical variables
Zedlitz Web-based collaborative system for transcription of serial historic sources to structured data
Chen et al. Multidimensional scaling improves distance-based clustering for microbiome data
Jo Foreign Relations of the United States Series, 1860-1980: A Study in New Archival History
Fingleton et al. Contemporary developments in spatial econometrics modelling: the 14th International Workshop on Spatial Econometrics and Statistics, Paris 2015

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