• Title/Summary/Keyword: Software Product Line(SPL)

Search Result 16, Processing Time 0.026 seconds

Operational Concept for the Software Product Line Framework of Navigation Software (항법소프트웨어 Software Product Line 프레임워크 운영개념)

  • Park, Samjoon;Noh, Sungkyu;Kim, Dohyung;Lee, Sunju;Park, ByungSu;Lee, Inseop
    • KIPS Transactions on Software and Data Engineering
    • /
    • v.10 no.6
    • /
    • pp.201-210
    • /
    • 2021
  • Navigation Software for the various weapon systems has common functionalities which give the possibility of common use among them. SPL(Software Product Line) framework of the navigation software for weapon system refers to developing a standardized navigation software platform from common functionalities of navigation software, managing the standardized navigation software platform, and developing weapon system navigation software such as navigation software for missile, UAV(Unmanned Air Vehicle), submarine, and etc. from the standardized navigation software platform. In this paper, we propose SPL based navigation software development process, Integrated Development Environment and operational concept of SPL framework. The operational concept will be defined by specifying the role of every stake holders and their activity scenario. The Operational concept would be referenced to implement SPL for other domain through using with detail implementation guide.

Code Coverage Measurement in Configurable Software Product Line Testing (구성가능한 소프트웨어 제품라인 시험에서 코드 커버리지 측정)

  • Han, Soobin;Lee, Jihyun;Go, Seoyeon
    • KIPS Transactions on Software and Data Engineering
    • /
    • v.11 no.7
    • /
    • pp.273-282
    • /
    • 2022
  • Testing approaches for configurable software product lines differs significantly from a single software testing, as it requires consideration of common parts used by all member products of a product line and variable parts shared by some or a single product. Test coverage is a measure of the adequacy of testing performed. Test coverage measurements are important to evaluate the adequacy of testing at the software product line level, as there can be hundreds of member products produced from configurable software product lines. This paper proposes a method for measuring code coverage at the product line level in configurable software product lines. The proposed method tests the member products of a product line after hierarchizing member products based on the inclusion relationship of the selected features, and quantifies SPL(Software Product Line) test coverage by synthesizing the test coverage of each product. As a result of applying the proposed method to 11 configurable software product line cases, we confirmed that the proposed method could quantitatively visualize how thoroughly the SPL testing was performed to help verify the adequacy of the SPL testing. In addition, we could check whether the newly performed testing for a member product covers the newly added code parts of a feature.

Classification Trends Taxonomy of Model-based Testing for Software Product Line: A Systematic Literature Review

  • Sulaiman, Rabatul Aduni;Jawawi, Dayang Norhayati Abang;Halim, Shahliza Abdul
    • KSII Transactions on Internet and Information Systems (TIIS)
    • /
    • v.16 no.5
    • /
    • pp.1561-1583
    • /
    • 2022
  • Context: Testing is one of the techniques that can assure the quality of software including the domain of Software Product Line (SPL). Various techniques have been deliberated to enhance the quality of SPL including Model-based Testing (MBT). Objective: The objective of this study is to analyze and classify trends of MBT in SPL covering the solutions, issues and evaluation aspects by using taxonomy form. Method: A Systematic Literature Review (SLR) was conducted involving 63 primary studies from different sources. The selected studies were categorized based on their common characteristics. Results: Several findings can guide future research on MBT for SPL. The important finding is that the multiple measurements are still open to improving current metrics to evaluate test cases in MBT for SPL. The multiple types of measurement required a trade-off between maximization and minimization results to ensure the testing method which could satisfy multiple test criteria for example cost and effectiveness at the same time.

A Dissimilarity with Dice-Jaro-Winkler Test Case Prioritization Approach for Model-Based Testing in Software Product Line

  • Sulaiman, R. Aduni;Jawawi, Dayang N.A.;Halim, Shahliza Abdul
    • KSII Transactions on Internet and Information Systems (TIIS)
    • /
    • v.15 no.3
    • /
    • pp.932-951
    • /
    • 2021
  • The effectiveness of testing in Model-based Testing (MBT) for Software Product Line (SPL) can be achieved by considering fault detection in test case. The lack of fault consideration caused test case in test suite to be listed randomly. Test Case Prioritization (TCP) is one of regression techniques that is adaptively capable to detect faults as early as possible by reordering test cases based on fault detection rate. However, there is a lack of studies that measured faults in MBT for SPL. This paper proposes a Test Case Prioritization (TCP) approach based on dissimilarity and string based distance called Last Minimal for Local Maximal Distance (LM-LMD) with Dice-Jaro-Winkler Dissimilarity. LM-LMD with Dice-Jaro-Winkler Dissimilarity adopts Local Maximum Distance as the prioritization algorithm and Dice-Jaro-Winkler similarity measure to evaluate distance among test cases. This work is based on the test case generated from statechart in Software Product Line (SPL) domain context. Our results are promising as LM-LMD with Dice-Jaro-Winkler Dissimilarity outperformed the original Local Maximum Distance, Global Maximum Distance and Enhanced All-yes Configuration algorithm in terms of Average Fault Detection Rate (APFD) and average prioritization time.

A Greedy Genetic Algorithm for Release Planning in Software Product Lines (소프트웨어 제품라인의 출시 계획 수립을 위한 탐욕 유전자 알고리듬)

  • Yoo, Jaewook
    • Journal of Korean Society of Industrial and Systems Engineering
    • /
    • v.36 no.3
    • /
    • pp.17-24
    • /
    • 2013
  • Release planning in a software product line (SPL) is to select and assign the features of the multiple software products in the SPL in sequence of releases along a specified planning horizon satisfying the numerous constraints regarding technical precedence, conflicting priorities for features, and available resources. A greedy genetic algorithm is designed to solve the problems of release planning in SPL which is formulated as a precedence-constrained multiple 0-1 knapsack problem. To be guaranteed to obtain feasible solutions after the crossover and mutation operation, a greedy-like heuristic is developed as a repair operator and reflected into the genetic algorithm. The performance of the proposed solution methodology in this research is tested using a fractional factorial experimental design as well as compared with the performance of a genetic algorithm developed for the software release planning. The comparison shows that the solution approach proposed in this research yields better result than the genetic algorithm.

Software Product Line Test Cases Derivation Using Combinatorial Test Design (조합 시험 설계를 이용한 소프트웨어 제품라인 시험항목 생성 방법)

  • Haeun, Baek;Sungwon, Kang;Jihyun, Lee
    • Journal of KIISE:Software and Applications
    • /
    • v.41 no.7
    • /
    • pp.469-480
    • /
    • 2014
  • Software Product Line (SPL) is a software development paradigm that guarantees high productivity, reduced cost, and shorter time-to-market by systematically planning and reusing commonality and variability. In order to maximize the benefits of SPL engineering, testing should be integrated into the SPL engineering lifecycle processes that consist of domain engineering and application engineering and should be performed with as little test efforts as possible. This paper proposes a systematic software product line test cases derivation method using combinatorial test design. By applying combinatorial test design to product line test cases derivation and exploiting commonality between products at the same time, the number of generated test cases is dramatically reduced with the result that they can be effectively reused by the products of the given product line. Case studies conducted in this paper show the efficacy of our method compared with other methods that use only commonality or combinatorial design or neither of them in terms of the number of derived test cases.

A Development of The Dynamic Reconfigurable Components based on Software Product Line : Guided Weapon System (소프트웨어 프로덕트 라인공학을 적용한 동적 재구성 컴포넌트 개발 : 유도무기체계)

  • Lee, Jae-Oh;Lee, Jae-Jin;Suk, Jee-Beom;Seo, Yoon-Ho
    • Journal of the Korea Society for Simulation
    • /
    • v.19 no.4
    • /
    • pp.179-188
    • /
    • 2010
  • The concern of Software Product Line(SPL) engineering is spreading widely because the program or product developers are able to satisfy the customer's demands quickly and give a way to handle maintenance efficiently. SPL is a reuse paradigm that reuse common parts and adopts variable parts optionally to form a differentiated product by analyzing domains. Purposes of this paper are to design an architecture which has a dynamic reconfiguration function and to develop basic components which are the basic unit of reconfiguration to raise the reuse level of the guided weapon system using the SPL. Initially we design an architecture and define basic components for developing a dynamic reconfigurable components based on SPL. Then we develop the composer for physical components and behavior components referenced by behavior models of OneSAF.

Legacy System-Based Software Product Line Engineering: A Case Study on Cable Set-Top Box Software (기존 시스템 기반의 소프트웨어 제품라인 공학기법: 케이블 셋톱박스 소프트웨어 사례)

  • Choi, Hyun-Sik;Lee, Hye-Sun;Cho, Yoon-Ho;Kang, Kyo-Chul
    • Journal of KIISE:Software and Applications
    • /
    • v.36 no.7
    • /
    • pp.539-547
    • /
    • 2009
  • Software product line (SPL) engineering is an emerging paradigm for successful software reuse and has been adopted for various industrial and consumer products to improve their productivity and quality. However, most SPL methods require high initial costs and long development time, which makes many companies hesitate to adopt the SPL paradigm. In this paper we introduce a method to construct an SPL by extracting core assets from legacy components based on the feature model, which requires less initial time and effort. We also present a case study on cable set-top box software to illustrate the applicability of this method, and lessons learned that will provide guidelines for many companies to adopt the SPL paradigm.

A Scoping Method to Implement Software Product Line for Inertial Navigation System (관성항법소프트웨어 SPL(Software Product Line) 구현을 위한 플랫폼 범위결정 기법)

  • Park, Samjoon;Noh, Sungkyu;Lee, Kwanwoo;Park, ByungSu;Nam, Seongho
    • KIPS Transactions on Software and Data Engineering
    • /
    • v.10 no.7
    • /
    • pp.251-256
    • /
    • 2021
  • Software Product Line Engineering (SPLE) has been known as an efficient and effective software reuse methodology. One of the key activities of SPLE is scoping analysis, which determines the range of the features to be developed as reusable assets. Although several scoping methods has been reported, they are not sufficient to apply them to the defense domain. In this paper, we present a scoping method applicable to the defense domain, and present a case study for applying SPLE to inertial navigation weapon system. At first, the proposed method determines the range of candidate features to be applied for the platform. The range is then adjusted from the perspective of product benefit. The final range of features is decided through considering the total cost of a product line. We will demonstrate and evaluate the applicability of the proposed method by showing how we can decide the scope of features to be engineered for the navigation software product line.

Your Opinions Let us Know: Mining Social Network Sites to Evolve Software Product Lines

  • Ali, Nazakat;Hwang, Sangwon;Hong, Jang-Eui
    • KSII Transactions on Internet and Information Systems (TIIS)
    • /
    • v.13 no.8
    • /
    • pp.4191-4211
    • /
    • 2019
  • Software product lines (SPLs) are complex software systems by nature due to their common reference architecture and interdependencies. Therefore, any form of evolution can lead to a more complex situation than a single system. On the other hand, software product lines are developed keeping long-term perspectives in mind, which are expected to have a considerable lifespan and a long-term investment. SPL development organizations need to consider software evolution in a systematic way due to their complexity and size. Addressing new user requirements over time is one of the most crucial factors in the successful implementation SPL. Thus, the addition of new requirements or the rapid context change is common in SPL products. To cope with rapid change several researchers have discussed the evolution of software product lines. However, for the evolution of an SPL, the literature did not present a systematic process that would define activities in such a way that would lead to the rapid evolution of software. Our study aims to provide a requirements-driven process that speeds up the requirements engineering process using social network sites in order to achieve rapid software evolution. We used classification, topic modeling, and sentiment extraction to elicit user requirements. Lastly, we conducted a case study on the smartwatch domain to validate our proposed approach. Our results show that users' opinions can contain useful information which can be used by software SPL organizations to evolve their products. Furthermore, our investigation results demonstrate that machine learning algorithms have the capacity to identify relevant information automatically.