عنوان مقاله:

بررسی تاثیر تغییرپذیری بر بازیابی معماری خط تولید نرم افزار: مقاله ای اکتشافی

Investigating the Variability Impact on the Recovery of Software Product Line Architectures: An Exploratory Study

سال انتشار: 2017

رشته: مهندسی کامپیوتر

گرایش: طراحی و تولید نرم افزار، مهندسی نرم افزار

دانلود رایگان این مقاله:

دانلود مقاله خط تولید نرم افزار

مشاهده سایر مقالات جدید:

مقالات ISI مهندسی کامپیوتر

Metrics

Table 3 describes the metrics used in this study. The recovered PLA is evaluated based on the metrics analysis of its components with the SSC, SVC, and CRR metrics. The amount of common and variable components of the PLA is also measured and support the calculation of SSC, SVC and CRR. The PLA recovery activity collects the following data from the SPL project: number of SPL optional features, number of SPL variation points, number of SPL products (M) number of common components (CC), number of variable components (CV ), number of common relations (RC) and number of variable relations (RV ). Data to be collected by PLA assessment includes reuse measurement values for PLA components and relations.

2.4 Analysis Procedure

The method to evaluate the variability identification precision of the recovered was based on correlation analysis. We analyzed metrics concerning both the number of products and related with the variability identification (SVC, RSVC, PLTV, ClassOptional (CO), OptionalRelation (OR), and optional-Features). The analysis examines whether the number of products (M) influences the variability identification rate of individual PLAs. To test our hypothesis related to RQ1, we analyzed the result from the correlation analysis. As statistical tests, we applied the Spearman rank correlation [6], which is a non-parametric test that is used to measure the degree of association between two variables. Our method for evaluating the effectiveness of the recovered PLA to support reusability evaluation was based on the analysis of CRR, which examines whether the number of optional features (OF) influences the component reuse rate of PLA. To test our hypothesis related to RQ2, we compared the CRR values from 15 SPL projects for testing the null hypothesis that the number of optional features has no influence on the CRR. As statistical tests, we applied the ANOVA [15] to identify if at least one SPL presented different CRR value, and the Tukey test [15] to perform a pairwise comparison between the values. 3 STUDY OPERATION 3.1 Preparation Fifteen open source SPL projects from different domains were selected for this exploratory study, based on the following criteria: lack of documented PLA and source code written in Java. Table 4 summarizes our sample and presents the number of features (mandatory and optional), classes and products of each SPL, and the tool used for product generation.

3.2 Execution Figure 1 shows the main activities, inputs, and outputs of the PLA recovery process executed for this study. The selected SPL projects were subject to product generation, information extraction with STAN4J, and PLA recovery with the PLAR Tool. Only valid product configurations were used. A product configuration is valid if it obeys the SPL feature model dependencies [1]. For any SPL with a potential high number of products (e.g. Prop4J can have 5K products), we used the T-Wise method [10] (with t = 2) to generate only a subset of SPL products. T-Wise builds only the most significant products, based on the SPL feature model. Some SPL projects (DPL, VOD, Zip Me, and GOL) had existing generated products available, so that we could skip product generation. For each selected SPL project, we extracted a module dependency graph (MDG) based on the analysis of the products’ source code, with the support of Stan4J 2 . The MDG represents the concrete classes, abstract classes, interfaces, and the relationship among them. This is done because there are different mechanisms to implement the variability (we could enlist conditional compilation, inheritance, parameterization, and overloading as the most widely used ones [2, 21]) and different composers (e.g. Featurehouse, AHEAD, CIDE, and so on [22]). By generating the products, it was possible to recover the PLA from different SPL projects (implemented using #IFDEF directives or FeatureIDE [22]) independently of the variability implementation mechanism. The set of extracted graphs served as input to PLA recovery, with the support of the PLAR Tool [3]. The PLAR tool analyzes the MDG files to identify the variability at the architectural level by comparing the components. The main output is the PLA, represented as Module View, Class Diagram, and Design Structure Matrix (DSM). The tool also provides a metrics report, that contains the calculation of the metrics presented on table 3, which is used to assess the PLA.

چکیده

     معماری خط تولید (PLA) یک خط تولید نرم افزار (SPL)، معماری اصلی ای است که نمایانگر طراحی با کیفیتی برای تمامی تولیدات SPL که شامل نقاط تغییر و متغیر ها می باشد است. اگر مستندات PLA گم شده باشند می توان آنها را با مهندسی معکوس محصولات بدست آورد. PLA بازیابی شده ابزاری مفید برای تولیدکنندگان و معماران به شمار می آید، که با استفاده از آن می توان فعالیتهای خاصی در زمینه تولید SPL و تکامل مانند، شناخت ساختارها و نقاط تغییر آن و همچنین ارزیابی استفاده مجدد انجام داد. این مقاله مطالعه ای اکتشافی ارائه می دهد که در آن تاثیر PLA های بازیابی شده به منظور شناسایی تغییر پذیری و پشتیبانی از ارزیابی استفاده مجدد، بررسی شده است. ما PLA 15 پروژه متن باز SPL را با استفاده از PLAR که یک ابزار در زمینه بازیابی PLA و ارزیابی بر اساس اطلاعات استخراجی از کد منبع محصولات SPL می باشد، بازیابی کردیم. برای هر پروژه، ارزیابی استفاده مجدد توسط معیارهای استفاده مجدد موجود حمایت می شدند. نتایج بدست آمده حاکی از آن بودند که تعداد محصولات استفاده شده در بازیابی PLA بر شناسایی تغییر پذیری تاثیر گذار بوده و تعداد ویژگی های اختیاری بر روی سرعت استفاده مجدد از اجزا تاثیر داشتند. این یافته ها نشان می دهند که تعداد حد اقلی از محصولات می بایست به عنوان نماینده شناسایی شده و برای بازیابی PLA انتخاب شوند، و نیز سرعت استفاده مجدد از اجزا می بایست به عنوان معیاری برای ارزیابی استفاده مجدد  SPL در نظر گرفته شود.