• Title/Summary/Keyword: Software Product Family

Search Result 26, Processing Time 0.018 seconds

Efficient Code-based Software Product Line Regression Testing (효율적인 소프트웨어 제품라인 회귀시험을 위한 자동화된 코드 기반 시험 방법)

  • Jung, Pilsu;Kang, Sungwon
    • Journal of Software Engineering Society
    • /
    • v.29 no.2
    • /
    • pp.1-6
    • /
    • 2020
  • Software product line development is a development paradigm that efficiently develops a product family by avoiding redundant development based on separation of the common part and the variable part of the product family. In software product line development, the source code that is used to produce a product family is called a product line code base, and when the product line code base is changed and the products of the product family are affected by the change, the activity of testing the affected products is called a product line regression testing. For product line regression testing, instead of conducting regression testing individually on each product of the product family, a more efficient regression testing would be possible if unnecessary testing that are irrelevant to the change can be avoided. This paper introduces SRTS, which is an automated method to efficiently perform software product line regression testing. SRTS divides the product line code base and test cases based on commonality and variability. Then SRTS identifies and selects the test cases affected by the change. Finally, it reduces unnecessary testing by rerunning only the selected test cases.

Incremental Method for Developing Software Product Family (소프트웨어 제품 군을 개발하기 위한 점진적 방법)

  • Joo, Bok-Gyu;Kim, Young-Chul
    • The KIPS Transactions:PartD
    • /
    • v.10D no.4
    • /
    • pp.697-708
    • /
    • 2003
  • In a software product line approach, developers first develop common software architecture and components by analyzing the characteristics of all software members, and then produce each application by integrating components. The approach is considered very effective means for developing and maintaining in parallel a software product family. Main disadvantage of this approach is that it requires a big up-front investment in preparing product line. Therefore, it takes time to deliver the first version. In this paper, we present an incremental method to develop software families, which requires small additional cost for initial versions and allows an organization to move smoothly to full-scale product line. We present our method by explaining how to record and upgrade the results of variations analysis, and show the application of our method by developing a family of YBS. Our method is a low-risk approach that can be effectively applied to an organization that starts developing software systems but has to deliver the first versions quickly to the market.

A Technique of ADD-based Architecture Design for Low Power Embedded Software (저전력 임베디드 소프트웨어 개발을 위한 ADD 기반의 아키텍처 설계 기법)

  • Lee, Jae-Wuk;Hong, Jang-Eui
    • IEMEK Journal of Embedded Systems and Applications
    • /
    • v.8 no.4
    • /
    • pp.195-204
    • /
    • 2013
  • The embedded software has been developed in the forms of various versions that provides similar service based on product family. For increase usefulness of product family, software must has well-structured and reusable properties. Software architecture is important to improve adaptability in model-based development of embedded software mounted onto product family. In this paper, we proposed a technique of ADD(Attribute-Driven Design)-based software architecture design for low power software development. This technique provides a chance to consider the power consumption issue in design phase of software, and makes possible to develop low power embedded software.

A Study on Software Product-Line Architecture Design Process (소프트웨어 제품계열 아키텍처 설계 프로세스)

  • Oh, Young-Bae
    • Journal of Information Technology Services
    • /
    • v.4 no.2
    • /
    • pp.47-59
    • /
    • 2005
  • S/W product line is a S/W product or a set of S/W system, which has common functions. We can develop a specific S/W product, which satisfiesrequirements of a particular market segment and a mission in a specific domain by reusing the core asset such as the developed S/W architecture through the S/W product line. S/W development methodology based on the S/W product line can develop a S/W more easily and fast by reusing the developed S/W core asset. An advanced country of S/W technology selects S/W product line as a core field of S/W production technology, and support technology development. In case of USA, CMU/SEI (Carnegie Mellon University / Software Engineering Institute) developed product-line framework 4.0 together with the industry and the Ministry of National Defense. Europe is supporting the development of product line technology through ITEA(IT for European Advancement) program. In this paper, we aim to construct reference architecture of S/W product line for production of the S/W product line.

An Evaluation of Software Product Quality Using Statistical Quality Control (통계적 품질관리에 의한 소프트웨어 제품의 품질평가)

  • Riew, Moon-Charn;Rim, Seong-Taek;Chung, Sang-Chul;Lee, Sang-Duk;Shin, Suk-Kyu
    • Journal of Information Technology Application
    • /
    • v.3 no.4
    • /
    • pp.119-134
    • /
    • 2001
  • Improving software product quality is a key to increasing user satisfaction and to achieving competitive edge. There are two approaches to assure high software product quality; development process-oriented and product-oriented. There have been many efforts for improving software quality through process certification, for example, CMM, ISO 9000 family, ISO/IEC 12207, SPICE and Bootstrap. However, a good process alone cannot guarantee good product quality. A need for the evaluation of software product quality by an independent third party is growing rapidly for several reasons. We are concerned with an application of Statistical Quality Control (SQC) to the evaluation of software product quality to obtain the efficiency of evaluation processes and the objectivity of evaluation results. Methods for selecting test cases using a random sampling approach have been discussed and methods for selecting acceptance criteria with respect to software product quality have also been suggested.

  • PDF

Code Generation System for Component-based Real-time Embedded Software Product Lines (컴포넌트 기반 실시간 임베디드 소프트웨어 프러덕트 라인을 위한 코드 생성 시스템)

  • Choi Seung-Hoon
    • Journal of Internet Computing and Services
    • /
    • v.7 no.4
    • /
    • pp.11-22
    • /
    • 2006
  • Software product-lines methodology is the software development paradigm to build the target system by customizing the variable part of software assets according to requirements. To attain this, the commonalities and variabilities of the system family should be modeled explicitly at early stage. Although the researches on general software product-lines are active, the researches on component-based real-time embedded software product-lines are rather inactive. In this paper a code generation system to support the functional variabilities via feature model and generate the code for synchronization via state model is proposed to increase the productivity of the development of the real-time embedded software product-lines.

  • PDF

Extracting of Features in Code Changes of Existing System for Reengineering to Product Line

  • Yoon, Seonghye;Park, Sooyong;Hwang, Mansoo
    • Journal of the Korea Society of Computer and Information
    • /
    • v.21 no.5
    • /
    • pp.119-126
    • /
    • 2016
  • Software maintenance becomes extremely difficult, especially caused by multiple versions in project-based or customer-oriented software development methodology. For reducing the maintenance cost, reengineering to software product line can be a solution to the software which either is a family of products nevertheless little different functionalities or are customized for each different customer's requirement. At an initial stage of the reengineering, the most important activity in software product line is feature extraction with respect to commonality and variability from the existing system due to verifying functional coverage. Several researchers have studied to extract features. They considered only a single version in a single product. However, this is an obstacle to classify the commonality and variability of features. Therefore, we propose a method for systematically extracting features from source code and its change history considering several versions of the existing system. It enables us to represent functionalities reflecting developer's intention, and to clarify the rationale of variation.

Automatic Component Reconfiguration Tool Based on the Feature Configuration and GenVoca Architecture (특성 구성과 GenVoca 아키텍처에 기반한 컴포넌트 재구성 자동화 도구)

  • Choi Seung Hoon
    • Journal of Internet Computing and Services
    • /
    • v.5 no.4
    • /
    • pp.125-134
    • /
    • 2004
  • Recently a lot of researches on the component-based software product lines and on applying generative programming into software product lines are being performed actively. This paper proposes an automatic component reconfiguration tool that could be applied in constructing the component-based software product lines. Our tool accepts the reuser's requirement via a feature model which is the main result of the domain engineering, and makes the feature configuration from this requirement. Then it generates the source code of the reconfigured component according to this feature configuration. To accomplish this process, the component family in our tool should have the architecture of GenVoca that is one of the most influential generative programming approaches. In addition, XSLT scripts provide the code templates for implementation elements which are the ingredients of the target component. Taking the ‘Bank Account' component family as our example, we showed that our component reconfiguration tool produced automatically the component source code that the reuser wants to create. The result of this paper would be applied extensively for creasing the productivity of building the software product lines.

  • PDF

A Feature-Oriented Method for Extracting a Product Line Asset from a Family of Legacy Applications (레거시 어플리케이션 제품군으로부터 제품라인 자산을 추출하는 휘처 기반의 방법)

  • Lee, Hyesun;Lee, Kang Bok
    • KIPS Transactions on Software and Data Engineering
    • /
    • v.6 no.7
    • /
    • pp.337-352
    • /
    • 2017
  • Clone-and-own reuse is an approach to creating new software variants by copying and modifying existing software products. A family of legacy software products developed by clone-and-own reuse often requires high maintenance cost and tends to be error-prone due to patch-ups without refactoring and structural degradation. To overcome these problems, many organizations that have used clone-and-own reuse now want to migrate their legacy products to software product line (SPL) for more systematic reuse and management of software asset. However, with most of existing methods, variation points are embedded directly into design and code rather than modeled and managed separately; variation points are not created ("engineered") systematically based on a variability model. This approach causes the following problems: it is difficult to understand the relationships between variation points, thus it is hard to maintain such code and the asset tends to become error-prone as it evolves. Also, when SPL evolves, design/code assets tend to be modified directly in an ad-hoc manner rather than engineered systematically with appropriate refactoring. To address these problems, we propose a feature-oriented method for extracting a SPL asset from a family of legacy applications. With the approach, we identify and model variation points and their relationships in a feature model separate from implementation, and then extract and manage a SPL asset from legacy applications based on the feature model. We have applied the method to a family of legacy Notepad++ products and demonstrated the feasibility of the method.

Software Product Line Development and Test Process Based on CVL (CVL 기반의 소프트웨어 프로덕트라인 개발 및 테스트 프로세스)

  • Cheon, Eunyoung;Seo, Yongjin;Lee, Ju Seok;Kim, Su Ji;Kim, Jin-A;Kim, Hyeon Soo
    • Journal of KIISE
    • /
    • v.42 no.1
    • /
    • pp.76-85
    • /
    • 2015
  • Software Product Line Engineering is a collection of techniques that analyze the commonalities and variabilities of the products within a product family and produce products using such information. In Software Product Line Engineering, construction of the correct core assets is very important. To accomplish this, the commonalities and variabilities must first be definitively identified, both to provide traceability between the core assets, and to guarantee the reliability of the products. This paper suggests software product line development and test processes based on CVL for the differentiation of commonalities and variabilities. The proposed approach enables correct building of the core assets through procedures to keep traceability and guarantee the reliability of the products.