A Case Retrieval Method for Knowledge-Based Software Process Tailoring Using Structural Similarity



Similar documents
An Integrated Model of ISO 9001:2000 and CMMI for ISO Registered Organizations

And the Models Are System/Software Development Life Cycle. Why Life Cycle Approach for Software?

JOURNAL OF OBJECT TECHNOLOGY

Fundamentals of Measurements

How To Test A Robot Platform And Its Components

Umbrella: A New Component-Based Software Development Model

Elite: A New Component-Based Software Development Model

Combining SOM and GA-CBR for Flow Time Prediction in Semiconductor Manufacturing Factory

Meta-Model specification V2 D

Modelli di sviluppo software. Enrico Giunchiglia

Process Models and Metrics

Comparison of K-means and Backpropagation Data Mining Algorithms

FUZZY CLUSTERING ANALYSIS OF DATA MINING: APPLICATION TO AN ACCIDENT MINING SYSTEM

Software Engineering. Software Processes. Based on Software Engineering, 7 th Edition by Ian Sommerville

Measurement Information Model

COST ESTIMATION METHODOLOGY USING DATABASE LAYER IN CONSTRUCTION PROJECTS

Semantic Concept Based Retrieval of Software Bug Report with Feedback

Achieving ISO 9001 Certification for an XP Company

Data Mining for Customer Service Support. Senioritis Seminar Presentation Megan Boice Jay Carter Nick Linke KC Tobin

Software Engineering. Software Development Process Models. Lecturer: Giuseppe Santucci

CHAPTERS A NEW KNOT MODEL FOR COMPONENT BASED SOFTWARE DEVELOPMENT

Domain Modeling of Software Process Models

Tool Support for Software Variability Management and Product Derivation in Software Product Lines

Objectives. The software process. Basic software process Models. Waterfall model. Software Processes

A Capability Maturity Model (CMM)

The Role of Size Normalization on the Recognition Rate of Handwritten Numerals

To introduce software process models To describe three generic process models and when they may be used

Surveying and evaluating tools for managing processes for software intensive systems

This is an author-deposited version published in : Eprints ID : 15447

ProGUM-Web: Tool Support for Model-Based Development of Web Applications

Copyright 2007 Casa Software Ltd. ToF Mass Calibration

IBM SPSS Direct Marketing 23

Empirical study of Software Quality Evaluation in Agile Methodology Using Traditional Metrics

IBM SPSS Direct Marketing 22

A Review of an MVC Framework based Software Development

Knowledge Infrastructure for Project Management 1

A unified model for the implementation of both ISO 9001:2000 and CMMI by ISO-certified organizations

An Empirical Study on the Performance of Software Company with Software Type

Software Processes. The software process. Generic software process models. Waterfall model. Waterfall model phases

Equity forecast: Predicting long term stock price movement using machine learning

CHAPTER 12 TESTING DIFFERENCES WITH ORDINAL DATA: MANN WHITNEY U

Space project management

IT3205: Fundamentals of Software Engineering (Compulsory)

Chapter Managing Knowledge in the Digital Firm

72. Ontology Driven Knowledge Discovery Process: a proposal to integrate Ontology Engineering and KDD

TRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW

Pattern Recognition Using Feature Based Die-Map Clusteringin the Semiconductor Manufacturing Process

Module 2. Software Life Cycle Model. Version 2 CSE IIT, Kharagpur

Software Development Life Cycle (SDLC)

Stabilization by Conceptual Duplication in Adaptive Resonance Theory

What is a life cycle model?

THREE DIMENSIONAL REPRESENTATION OF AMINO ACID CHARAC- TERISTICS

IMAV: An Intelligent Multi-Agent Model Based on Cloud Computing for Resource Virtualization

Implementing Ontology-based Information Sharing in Product Lifecycle Management

The «SQALE» Analysis Model An analysis model compliant with the representation condition for assessing the Quality of Software Source Code

BUSINESS RULES AND GAP ANALYSIS

Ontological Representations of Software Patterns

Identifying At-Risk Students Using Machine Learning Techniques: A Case Study with IS 100

Chakra Vs Spiral Model - A Practical Approach

A Software Development Simulation Model of a Spiral Process

Domain Analysis for the Reuse of Software Development Experiences 1

Recall this chart that showed how most of our course would be organized:

Chapter 5 More SQL: Complex Queries, Triggers, Views, and Schema Modification

Engineering Standards in Support of

CS4507 Advanced Software Engineering

Moving from ISO9000 to the Higher Levels of the Capability Maturity Model (CMM)

Title: Topic 3 Software process models (Topic03 Slide 1).

CSC 492 The Practice of Software Engineering. Lecture 3 University of Mount Union Software Life Cycle Models

Soft-Computing Models for Building Applications - A Feasibility Study (EPSRC Ref: GR/L84513)

Developing CMMI in IT Projects with Considering other Development Models

Software Development s Low Hanging Fruit.

Component Based Development in Software Engineering

Lecture 3 Software Development Processes

A Comparison of Genotype Representations to Acquire Stock Trading Strategy Using Genetic Algorithms

SOFTWARE CONFIGURATION MANAGEMENT GUIDEBOOK

Software Engineering for Software-Intensive Systems: III The Development Life Cycle

Important dimensions of knowledge Knowledge is a firm asset: Knowledge has different forms Knowledge has a location Knowledge is situational Wisdom:

The software process. Generic software process models. Waterfall model. Software Development Methods. Bayu Adhi Tama, ST., MTI.

Data Mining and Knowledge Discovery in Databases (KDD) State of the Art. Prof. Dr. T. Nouri Computer Science Department FHNW Switzerland

A FUZZY BASED APPROACH TO TEXT MINING AND DOCUMENT CLUSTERING

Example Software Development Process.

Introduction to Software Project Management. CITS3220 Software Requirements & Project Management

Validating the Software Process Assessment Model for Korean Military Software Industry

Interactive Recovery of Requirements Traceability Links Using User Feedback and Configuration Management Logs

INTERNATIONAL JOURNAL OF ADVANCES IN COMPUTING AND INFORMATION TECHNOLOGY An International online open access peer reviewed journal

Software Production and Lifecycle Models

sql-schema-comparer: Support of Multi-Language Refactoring with Relational Databases

Outline. III The Development Life Cycle. Characteristics of Software Development Methodologies. The Prototyping Process

Unit 1 Learning Objectives

Case-Based Reasoning for General Electric Appliance Customer Support

Transcription:

A Case Retrieval Method for Knowledge-Based Software Process Tailoring Using Structural Similarity Dongwon Kang 1, In-Gwon Song 1, Seunghun Park 1, Doo-Hwan Bae 1, Hoon-Kyu Kim 2, and Nobok Lee 2 1 Department of EECS, Korea Advanced Institute of Science and Technology (KAIST), Daejon 305-701, Korea {dwkang, igsong, seunghun, bae}@se.kaist.ac.kr 2 Agency for Defense Development, P.O. Box 132, Songpa, Seoul 138-600, Korea Hunk815@hanmail.net, nblee@gsm.kaist.edu Abstract Reuse of the software development process and its knowledge and experiences is a critical factor for the success of the software project. On the other hand, the software development process needs to be tailored to reflect the specific characteristics of the software project. So, if we can retrieve a similar process to a new project, process tailoring will be less costly and less error-prone because the retrieved process can be tailored to the new case with fewer modifications. In this paper, we propose the case retrieval method based on structural similarity. The structural similarity is calculated by the degree that process elements in a past case are applicable to a new project. By measuring the structural similarity, the retrieved process is ensured to be tailored to the new case with fewer modifications. We validate the usefulness of our method through the experiments using 30 cases. 1. Introduction The software process has been recognized as a main factor for improving the productivity and quality of software. One of the key issues in applying the software process is how to tailor the software process to meet the characteristics of a new project [1],[2]. Tailoring software process depends on experts personal knowledge and experiences. However, the quality of the software process cannot be ensured when the expert of an organization transfers to other places, or a new manager is in charge of managing the software process. Moreover, even for the experts, the process tailoring is time-consuming, costly and errorprone [3]. To resolve these problems, a systematic approach is needed to manage the experiences and knowledge in process tailoring and to reuse them in performing similar projects. Case-based reasoning (CBR), which serves as a framework for managing and reusing previous problem situations, has been used as a solution to deal with the process tailoring [4],[5],[6]. In the CBR based process tailoring approaches, the case base is constructed with a process repository and a tailoring knowledge repository [4],[6]. With the information of a new project case, a similar case to the project is retrieved from the process repository. Then the process in the retrieved case is tailored using relevant tailoring rules of the tailoring knowledge repository. A primary concern of CBR-based process tailoring approaches is how to retrieve the most similar case for a new project. Retrieving the most similar case is important because the process in the retrieved case is used as a basis for the consequent tailoring. If a large part of the retrieved process is not suitable for the new project case, it will require much effort to tailor the process. Also, the resulted process may become errorprone due to many modifications. Existing CBR-based process tailoring method approaches a case retrieval based on comparing values of a process classification scheme [4]. This is a common way of managing the similarity in general CBR systems [7]. However, this approach has limitation in that it focuses on the environment, not the process itself. We propose a method which retrieves a case by measuring structural similarity. Since the purpose of the case retrieval is to help further tailoring of the retrieved process, the retrieved process should be easily transformed to the process to be performed. Hence, the goal of our method is to find the process that can be transformed to the process to be performed with minimal modifications using structural comparison.

In real situations, however, we cannot decide the process with minimal modifications in advance. That is because we are not able to identify the process to be performed before performing the tailoring. Hence, our method focuses on retrieving the process which is estimated to require few modifications in the consequent tailoring. We assume that the more elements of candidate process are applicable to the new case, the fewer additional modifications will be required for the transformation. The assumption is based on the fact that if many elements of a process are applicable to the new case, a large part of considerations for the consequent tailoring is already reflected in the process by adopting those elements in advance. According to this assumption, we define the similarity as the degree that process elements in a past case are applicable to the new case. By measuring the similarity in a structural aspect, we can ensure that the retrieved process is tailored with fewer modifications. With fewer modifications, the suitable process can be established with the minimal modification effort and errors. The remaining sections are organized as follows. In Section 2, related work is introduced and compared to our method. In Section 3, the process classification scheme is described, which is used as initial input for the case retrieval. In Section 4, structures for case representation are presented, which forms a basis for the similarity calculation. In Section 5, the method to retrieve the most similar case is described. In Section 6, our method is evaluated by experiments. Finally, conclusion is proposed with summary and future directions in Section 7. 2. Related work CBR-based systems usually use a similarity measure using weighted Euclidian distance based on attribute-matching [7]. Similarly, CBR-based process tailoring approach proposed by Ahn et al. [4] uses factor-matching method in the case retrieval. In that approach, values of domain factors in the past cases are compared to those of a new project case, and the similarity is calculated by the sum of factors of which values are identical. This type of approaches indirectly decides the similarity of process using factors of the process classification scheme. In other words, they mainly consider the environment which a process is performed in. However, the goal of the process retrieval is to find the process suitable for the consequent tailoring, rather than to find the process of which environment factors are similar. Also, it is reported that the cost for customization in the factor-matching approach is higher than in the approach of considering required modifications [6]. Our approach has a common basis with our previous work, the Least Modification Principle (LMP) [6] in considering the structural aspect. LMP finds the case which is estimated to require less modification effort to transform it into the new case. The effort is regarded as the number of modifications described in a modification rule. In that sense, LMP places the same level of importance on every type of process elements, such as an activity or a task. However, the importance of each type of element is different in the structural comparison. Also, even for the modification effort, actual modification requires examining and modifying all the lower level elements which belong to the element described in the rule. Therefore, we refine the LMP by selecting a unit of measure and utilize it for measuring the similarity. 3. Process classification scheme Process classification scheme consists of characteristics which identify a process from other processes. Since the process classification information is used for initial input in case retrieval, various characteristics affecting the software process should be considered carefully when establishing the process classification scheme. In our approach, we establish the process classification scheme by referring process tailoring guidelines in international standards [8],[9],[10] and literature [11],[12]. Since each standard and literature is written for a different domain, the characteristics appearing in at least two sources are chosen for objectivity. The result of establishing the process classification scheme is shown in Table 1. Table 1. Process classification scheme for knowledge-based process tailoring Category Values Multiplicity Lifecycle {Waterfall, Evolutionary, Builds, Incremental, Single Spiral} Number of iterations <Integer> Single Application type {Package S/W, Web-based S/W, Data processing, Control-centric, Embedded, Platform, Command & Control, MIS, Component development} Multiple

Development type {New-development, Maintenance, Prototype, Multiple In-house, Contracted} Project size {Small, Medium, Large} Single Software complexity {Low, Medium, High} Single Required maintainability { Low, Medium, High} Single Software criticality { Low, Medium, High} Single General purpose { Low, Medium, High} Single Requirement stability and { Low, High} Single firmness Use of existing modules(ots) { Low, High} Single Developers experience { Low, Medium, High} Single Project schedule risk { Low, Medium, High} Single Cost risk { Low, Medium, High} Single 4. Structures for case representation In our approach, a case is represented as combination of process classification information, a performed process and a set of applied tailoring rules. In this section, structures of the process and tailoring rules are explained. 4.1. Process structure We define the process based on SPEM (Software Engineering Process Meta-model) 2.0[13] from OMG (Object Management Group). SPEM is used to define software and system development processes and their components. The main part of the process structure in SPEM is concisely introduced in Figure 1. performing Task. A Work Product represents anything produced, consumed, or modified by Task. Figure 2 shows an example of a process description based on the process structure. Figure 2. An example of a process description 4.2. Tailoring rule structure Knowledge from the tailoring is described as a tailoring rule. A tailoring rule consists of Tailoring Actions and Tailoring Rationale. The tailoring rule structure is depicted in Figure 3. Figure 3. Tailoring rule structure Figure 1. Process structure Process is described as combination of Activities. Activity represents a higher level grouping of works and can be nested to other Activities. Task is a unit of assignable work and consists of atomic elements called Step. A Role represents the responsibility of Tailoring Action has three types. Add Action represents the addition of a process element to its parent element. Remove Action represents the removal of a selected process element. Likewise, Replace Action represents the replacement of process elements of the same type according to the process structure. Tailoring Rationale describes reasons for tailoring and is expressed with factors from the process classification scheme. If there are multiple factors in

the Tailoring Rationale, it means that the factors influence the Tailoring Action together. The factors can take three types of values: numeric, ordinal and nominal. In the cases of factors with a numeric or ordinal value, the value-factor pair is expressed as an interval form. In the case of factors with the nominal value, the factor may be expressed as a single value or multiple values according to the multiplicity of the value. Figure 4 shows an example of a tailoring rule. As seen in the figure, a Tailoring Rationale only covers values of the factors ( Project Size and General Purpose ) that explain the reason for the tailoring. Figure 4. An example of tailoring rule A tailoring rule may include other tailoring rules according to a dependency relationship. For example, if a tailoring rule replaces some Steps which are added by another tailoring rule, then the former tailoring rule has dependency on the latter. 5. A Method to retrieve the most similar case by structural similarity Basically, the similarity is defined as the degree that process elements in a past case are applicable to the new case, as mentioned earlier. Based on this definition, our method finds the most similar cases in three steps: deciding the applicability of tailoring rules, calculating the similarity, and retrieving the most similar case. The overview of the approach is described in Figure 5. Figure 5. Overview of the approach In the first step, we decide the applicability of tailoring rules which are applied in each case. We first consider the tailoring rules because they describe the reasons for tailoring process elements. As a result, the tailoring rules in a case are divided into two groups according to their applicability. In the second step, we calculate the similarity of each case. In this step, we utilize Step of the process structure as a unit of measure. For each tailoring rule group, the number of tailored Steps is calculated. Then the similarity is decided by the difference between the numbers of tailored Steps of each group.

In the last step, the most similar case is determined by comparing the similarity of each candidate case. For the case retrieval method, we only deal with tailored process elements of a past case. It is because tailored process elements represent the unique characteristic of a process, and difference between processes can be captured by comparing the tailored process elements. The description of each step of the method is as follows. 5.1. Deciding the applicability of tailoring rules A tailoring rule is applicable to a new project if it conforms to following properties. All values of associated factors in the Tailoring Rationale match to those in the process classification information of a new project. All the tailoring rules which the tailoring rule has a dependency on are applicable. To figure out the Tailoring Rationale matches to a new project, each value of associated factor in a tailoring rule is compared to those of the new project. As mentioned earlier, a factor may have one of the three types of values: numeric, ordinal and nominal. In a Tailoring Rationale, the values of the numeric or ordinal type in a Tailoring Rationale are described as an interval form. On the other hand, those of a new project are described as a single value. Therefore, in the case of comparing numeric values or ordinal values, they match if a value of a new project is in the range of an interval value of Tailoring Rationale. Factors with the nominal value may have a single value or multiple values. In the case that a factor has a single value, they match if they have the same value. In the case that a factor has multiple values, they match if all the values in a Tailoring Rationale appear in the set of values in a new project. Here s an example of matching Tailoring Rationale to the process classification information of a new project. Suppose that a Tailoring Rationale of a tailoring rule has following values. Project Size = { Medium } Development Type = { New Development, Software not Delivered } In this example, values of Project Size do not match because the value of the new project is not in the range of the interval value of the Tailoring Rationale. On the other hand, values of Development Type match because the value New Development in a Tailoring Rationale appears in the set of values { New Development, Software not Delivered } of a new project. Consequently, the tailoring rule is not applicable to the new project because not all values of factors in the rule match to those of the new project. According to the applicability of tailoring rules in a case, the rules are grouped into two groups: the applicable tailoring rule group and the not-applicable tailoring rule group. They are used as input of the next step. 5.2. Calculating the similarity In this step, we calculate the similarity of each case. As a unit of similarity measure, our method utilizes Step of the process structure because it is the minimal unit of work. Even though tailoring rules also describe other process elements such as Roles and Work Products, Roles don t affect what to perform and Work Products are produced by performing Steps. Therefore, we regard Step as a unit of measure. The algorithm for calculating the similarity is described in Figure 6. Project Size = {Lower Value= Low, Upper Value= Low } Development type={ New Development } Then, suppose that process classification information of a new project case has following values. Other factors in the classification for the new project are omitted for space. Figure 6. Algorithm for calculating the similarity For each tailoring rule group produced by the previous step, the number of tailored Steps is

calculated. Then the similarity is decided by the difference between the number of applicable tailored Steps and the number of not applicable tailored Steps. In other words, the degree that the process elements are applicable is defined as the difference between the numbers of tailored Steps of each group. The number of tailored Steps is counted by gettailoredstepcount function in Figure 6. It is counted by examining every element in the rule, and identifying the number of Steps which the element includes. In the case of Replace Action, we add the bigger Step count from the injectedelement and the ejectedelement. Its detail algorithm is explained in Figure 7. Hypothesis 1: For a given case, the difference between the retrieved process from our approach and the actual similar process is small enough. Hypothesis 2: For a given case, the retrieved process by our approach is more similar than processes retrieved by other approaches. In Hypothesis 1, the actual similar case is defined as the process that can be transformed to the process to be performed with minimal modifications. As mentioned in Section 1, this case cannot be identified before performing the tailoring. However, this case is meaningful because the actual similar case is the ideal case for the case retrieval method. In the first experiment, we show that the retrieved process by our method is close to the actual similar process. In hypothesis 2, we compare the results from our approach to the results from one of the typical factormatching approaches [4] to show the superiority of ours. LMP in the related work is not applicable to the experimental data, because the current data set includes tailoring rules which has Tailoring Rationale of multiple factors. For example, some Steps should be removed when Criticality and Size is both low. LMP cannot deal with this situation. Hence, LMP is not considered in the experiment. For the experiments, we designed 30 cases for the military domain based on ADDMe (Advanced Defense component Development Methodology) [14], the standard process of the Korean armed forces. ADDMe consists of 12 Activities, 37 Tasks, 39 Work Products and 98 Steps. We modeled the standard process according to the process structure, and tailored the standard process for 30 cases. 6.1. Validating the accuracy of estimation Figure 7. Algorithm for counting tailored Steps 5.3. Retrieving the most similar case The most similar case is the case with the maximum similarity. Thus, the most similar case is retrieved by comparing the similarity of candidate cases. 6. Evaluations In this section, we validate the usefulness of our approach. The research hypotheses to be validated in this section are described as follows. The procedure of the experiments to validate the Hypothesis 1 is as follows. Step 1: Select a case from the case repository as a new project. Step 2: Retrieve the process from the other 29 cases using our approach for the given case. Step 3: Retrieve the most similar process by comparing the process of the given case to each process in the other 29 cases. Step 4: Compare the retrieved processes. Step 5: Repeat Step 1 to 4 for all other cases. The result of comparing the experiment is summarized in Table 2. In the column of the table, modification rate represents the ratio of difference in

Steps between the process of the test case and the retrieved process. It is calculated from the following formula. (1) In (1), T represents the process of the test case, and R represents the process of the retrieved case. In the case that resulted processes are more than one, the modification rate is averaged. Table 2. Results from comparing the retrieved case by our method to the actual similar process Test The most similar Our method Case process # Selected Case # Modifica -tion rate Selected Case # Modification rate 1 2 9.2% 2 9.2% 2 3 5.5% 3 5.5% 3 2 5.2% 2 5.2% 4 29 11.3% 29 11.3% 5 19 14.0% 19 14.0% 6 21,26 4.1% 26 4.1% 7 21 9.3% 23 10.2% 8 17 3.7% 17 3.7% 9 19 12.6% 19 12.6% 10 22,27 0.0% 27 0.0% 11 12 3.1% 12 3.1% 12 11 3.1% 11 3.1% 13 26 6.4% 24 8.0% 14 15 13.5% 15 13.5% 15 23 4.6% 23 4.6% 16 28 0.8% 28 0.8% 17 8 3.9% 8 3.9% 18 17,20 4.7% 22,26 17.3% 19 8 10.2% 9 13.6% 20 18 4.5% 8 5.3% 21 6 3.9% 28 5.5% 22 10,27 0.0% 26 3.4% 23 15 4.6% 15 4.6% 24 10,22,26,27 1.7% 10 1.7% 25 30 0.0% 30 0.0% 26 24 1.7% 22 3.4% 27 10,22 0.0% 10 0.0% 28 16 0.8% 24 4.0% 29 4 12.3% 4 12.3% 30 25 0.0% 25 0.0% Total 5.2% 6.1% In the results, our approach finds the best cases in 70% of cases (21 out of 30). On average, the process retrieved by our approach only requires additional modifications of 0.9%, regarding to entire Steps in the process of the given case. Since we utilize only limited information that can be obtained before tailoring, we can conclude that the results from our method are very promising. 6.2. Comparing with the other approach In this section, we compare the results of our method to one of the typical factor-matching method [4]. The procedure is same to the previous experiment. The results are described in Table 3. In the results, our approach outperforms the factor-matching approach in 87% of cases (26 out of 30). Even in other cases, the results from the factor-matching method are not better than the results from ours. Table 3. Results from comparing our method to the factor-matching method Test Factor-matching Our method Case method # Selected Case # Modification rate Selected Case # Modification rate 1 2 9.2% 2 9.2% 2 1 10.0% 3 5.5% 3 2, 6 12.1% 2 5.2% 4 5 15.5% 29 11.3% 5 4,8 18.7% 19 14.0% 6 2,12,15,23 17.4% 26 4.1% 7 16,19 22.0% 23 10.2% 8 5,17,19 13.4% 17 3.7% 9 2,8 26.4% 19 12.6% 10 13 10.3% 27 0.0% 11 12 3.1% 12 3.1% 12 11 3.1% 11 3.1% 13 12 13.6% 24 8.0% 14 1 16.7% 15 13.5% 15 6,23,29 15.6% 23 4.6% 16 7,27 9.3% 28 0.8% 17 19 14.0% 8 3.9% 18 1,22 13.4% 22,26 17.3% 19 17 12.2% 9 13.6% 20 16 15.0% 8 5.3% 21 28,30 18.1% 28 5.5% 22 18 10.3% 26 3.4% 23 6,15,29 14.5% 15 4.6% 24 30 29.4% 10 1.7% 25 30 0.0% 30 0.0% 26 12,27 7.3% 22 3.4% 27 11,16,26 6.6% 10 0.0% 28 21 5.6% 24 4.0% 29 15,23 18.8% 4 12.3% 30 24,25 11.7% 25 0.0% Total 13.1% 6.1% Further, we statistically analyzed the result above using paired t-test. According to the result of the paired t-test, the p-value is 5.07E-07. Thus, it is statistically

proven that our method significantly outperforms the factor-matching method at the 1% level of significance. 6.3. Threats to validity In these experiments, we used artificial cases designed by authors. Therefore, a question may be raised about the validity of the experiments. Generally, it s very hard to get performed processes due to the security problem. Moreover, a number of processes complying one standard process are needed for these experiments. Therefore, we designed the cases by tailoring the standard process with preserving the characteristics of project environment. Instead of obtaining the performed process data, we could obtain the standard process, real project descriptions with process classification information and tailoring guidelines from the Korean armed forces. Based on this information, we designed 30 cases and performed internal reviews about the designed cases. 7. Conclusion In this paper, we proposed an approach to retrieving the most similar case for the knowledge-based software process tailoring based on structural similarity. In our approach, we define the similarity as the degree that process elements in a past case are applicable to a new project. The applicability of process elements is determined by tailoring rules, and the difference between applicable process elements and not applicable process elements is used for the similarity value. By retrieving the similar case based on the structural similarity, the process in the retrieved case is ensured to be tailored to a new project with fewer modifications. For the future work, we will devise a method to support entire knowledge-based process tailoring based on the case retrieval method introduced in this paper. Also, we are planning to develop a system to manage processes and tailoring rules and to automate the process tailoring. Acknowledgement This work was partially supported by Defense Acquisition Program Administration and Agency for Defense Development under the contract. This research was supported by the MKE(Ministry of Knowledge Economy), Korea, under the ITRC(Information Technology Research Center) support program supervised by the IITA(Institute of Information Technology Advancement)" (IITA-2008- (C1090-0801-0032)) References [1] I.C. Yoon, S.Y. Min, and D.H. Bae, Tailoring and Verifying Software Process, Proceedings of the Eighth Asia-Pacific on Software Engineering Conference, 2001, pp. 202-209. [2] S. Park, H. Na, S. Park, V. Sugumaran, A semiautomated filtering technique for software process tailoring using neural network, Expert Systems with Applications, Vol. 30, 2006, pp. 179-189. [3] W. S. Humphrey, Managing the Software Process, SEI Series in Software Engineering, Addison-Wesley, 1990. [4] Y.W. Ahn, H.J. Ahn, and S.J. Park, Knowledge and case-based reasoning for customization of software processes - a hybrid approach, International Journal of Software Engineering and Knowledge Engineering, Vol. 13, No. 3, 2003, pp. 293-312. [5] S. Henninger, and K. Baumgarten, A Case-Based Approach to Tailoring Software Processes, Lecture Notes in Computer Science, Springer-Verlag London, Vol. 2080, 2001, pp. 249-262. [6] J.K. Lee, and N. Lee, Least Modification Principle for Case-Based Reasoning: a Software Project Planning Experience, Expert Systems with Applications, Vol. 30, 2006, pp 190-202. [7] T.W. Liao, Z. Zhang, and C. Mount, Similarity Measures for Retrieval in Case-Based Reasoning Systems Applied Artificial Intelligence, Vol. 12, Issue 4, 1998, pp. 267-288. [8] ISO/IEC, ISO/IEC 12207 Information technology - Software lifecycle processes, 1995. [9] NASA Goddard Space Flight Center, NASA Process Tailoring Guideline, 2007. [10] European Space Agency, Guidelines for the tailoring of ECSS-E40, 2003. [11] F.C. Budlong, P.A. Szulewski, and R.J. Ganska, Process Tailoring for Software Project Plans, Software Technology Support Center, 1996. [12] P. Jalote, CMM in Practice - Processes for Executing Software Projects at Infosys, Addison-Wesley, 2002. [13] OMG, Software & Systems Process Engineering Metamodel Specification, v2.0 (Proposed Available Specification), 2007. [14] Agency for Defense Development, Advanced Defense component Development Methodology (ADDMe), 2004.