<?xml version="1.0" encoding="UTF-8"?>
<TEI xml:space="preserve" xmlns="http://www.tei-c.org/ns/1.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.tei-c.org/ns/1.0 https://raw.githubusercontent.com/kermitt2/grobid/master/grobid-home/schemas/xsd/Grobid.xsd"
 xmlns:xlink="http://www.w3.org/1999/xlink">
	<teiHeader xml:lang="en">
		<fileDesc>
			<titleStmt>
				<title level="a" type="main">Improving Model-Based Regression Test Selection</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author role="corresp">
							<persName><forename type="first">Mohammed</forename><surname>Al-Refai</surname></persName>
							<email>al-refai@cs.colostate.edu</email>
							<affiliation key="aff0">
								<orgName type="department">Computer Science Department</orgName>
								<orgName type="institution">Colorado State University Fort Collins</orgName>
								<address>
									<region>CO</region>
									<country key="US">USA</country>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">Improving Model-Based Regression Test Selection</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">D0553906D4CD5DC04EEDE731C4ADDFDA</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-24T01:15+0000">
					<desc>GROBID - A machine learning software for extracting information from scholarly documents</desc>
					<ref target="https://github.com/kermitt2/grobid"/>
				</application>
			</appInfo>
		</encodingDesc>
		<profileDesc>
			<textClass>
				<keywords>
					<term>regression testing</term>
					<term>model-based regression test selection</term>
					<term>UML activity diagram</term>
					<term>UML class diagram</term>
					<term>fuzzy logic</term>
				</keywords>
			</textClass>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>Existing model-based regression test selection approaches are based on analyzing changes performed at the model level. These approaches have three limitations. First, they cannot detect all types of changes from design models. Second, they do not identify the impact of changes to the inheritance hierarchy of the classes. Third, their applicability is limited due to the abstraction gap between the code-level regression test cases and the models that represent the software system at a high level of abstraction. This paper discusses two model-based RTS approaches to overcome these limitations, the evaluation plan, and the current status.</p></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>I. PROBLEM</head><p>Models can be used to perform evolution and runtime adaptation of a software system <ref type="bibr" target="#b0">[1]</ref>, <ref type="bibr" target="#b1">[2]</ref>. Regression testing of the evolved and adapted models is needed to ensure that previously tested functionality is still correct. Regression testing is one of the most expensive activities performed during the lifecycle of a software system <ref type="bibr" target="#b2">[3]</ref>, <ref type="bibr" target="#b3">[4]</ref>. Regression test selection (RTS) <ref type="bibr" target="#b4">[5]</ref> improves regression testing efficiency by selecting a subset of test cases from the original test set for regression testing <ref type="bibr" target="#b4">[5]</ref>, <ref type="bibr" target="#b5">[6]</ref>. Model-based RTS has several advantages over code-based RTS. The effort for testing can be estimated earlier <ref type="bibr" target="#b5">[6]</ref>, <ref type="bibr" target="#b6">[7]</ref>, <ref type="bibr" target="#b7">[8]</ref>, tools for regression testing can be programming language independent <ref type="bibr" target="#b5">[6]</ref>, <ref type="bibr" target="#b7">[8]</ref>, and managing traceability can be more practical at the model level <ref type="bibr" target="#b5">[6]</ref>, <ref type="bibr" target="#b7">[8]</ref>. Model-based RTS can scale up better than code-based RTS for large software systems <ref type="bibr" target="#b8">[9]</ref>.</p><p>Existing model-based RTS approaches suffer from the following three problems. First, they cannot detect all types of changes from UML class, sequence, and state machine diagrams that are used in these approaches <ref type="bibr" target="#b5">[6]</ref>, <ref type="bibr" target="#b6">[7]</ref>, <ref type="bibr" target="#b7">[8]</ref>. Briand et al. <ref type="bibr" target="#b5">[6]</ref> provided an example for such a change, which is a modification to an operation implementation that does not affect the operation's signature and contract. Second, they do not support the identification of changes to inherited and overridden operations along the inheritance hierarchy <ref type="bibr" target="#b5">[6]</ref>, <ref type="bibr" target="#b6">[7]</ref>, <ref type="bibr" target="#b7">[8]</ref>. As a result, existing model-based RTS approaches can miss relevant test cases that need to be reexecuted. The third problem is the lack of traceability links between code-level test cases and the models representing the software system. The reason is that models are generally created at a high level of abstraction and lack low-level details that are needed to obtain the coverage of test cases at the model level. This lack of traceability is a known issue in model-based RTS approaches, and can severely limit the applicability of these approaches <ref type="bibr" target="#b8">[9]</ref>.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>II. RELATED WORK</head><p>The RTS problem has been studied for over three decades <ref type="bibr" target="#b9">[10]</ref>, <ref type="bibr" target="#b8">[9]</ref>. Most of the existing approaches are codebased <ref type="bibr" target="#b10">[11]</ref>, <ref type="bibr" target="#b11">[12]</ref>, <ref type="bibr" target="#b12">[13]</ref>, <ref type="bibr" target="#b13">[14]</ref>, <ref type="bibr" target="#b2">[3]</ref>, <ref type="bibr" target="#b3">[4]</ref>, and little work exists in the literature on model-based RTS. We summarizes the limitations of existing model-based RTS approaches. Farooq et al. <ref type="bibr" target="#b6">[7]</ref> used UML class and state machine models for RTS. This approach does not support the identification of (1) the addition and deletion of the generalization relations, and (2) the overridden and inherited operations along the inheritance hierarchy. Briand et al. <ref type="bibr" target="#b5">[6]</ref> presented an RTS approach based on UML use case models, class models, and sequence models. This approach can identify the addition and deletion of generalization relations between classes. Zech et al. <ref type="bibr" target="#b7">[8]</ref> presented a generic model-based RTS platform, which is based on the model versioning tool, MoVE. Briand et al. and Zech et al. do not support the identification of inherited and overridden operations along the inheritance hierarchy. Korel et al. <ref type="bibr" target="#b14">[15]</ref> used control and data dependencies in an extended finite state machine to identify the impact of model changes and perform RTS. This approach does not use UML class model. All of the mentioned approaches use designtime models, and require these models to contain enough information to obtain the coverage of test cases at the model level, which is not always a common practice <ref type="bibr" target="#b5">[6]</ref>.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>III. PROPOSED SOLUTION</head><p>In this work we propose two model-based RTS approaches. The first approach called MaRTS addresses the first two problems discussed in section I. The second approach called FLiRTS uses fuzzy logic to address the third problem discussed in section I.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>A. MaRTS</head><p>MaRTS <ref type="bibr" target="#b15">[16]</ref> is a model-based RTS approach that uses (1) a UML design class diagram to represent the static structure of a software system, and (2) UML activity diagrams to represent the fine-grained behaviors of a software system. The class and activity diagrams are reverse engineered from the original version of the software system. Each method of the software system and each test case is represented as an activity diagram.</p><p>The activity diagrams used in MaRTS are detailed and executable. MaRTS exploits the Rational Software Architect (RSA) simulation toolkit 9.0<ref type="foot" target="#foot_0">1</ref> to execute test cases at the model level. Each action node has an associated code snippet that contains code statements. When the execution flow reaches an action node in a model, the code snippet associated with the action node is executed. Each code-level method invocation statement is represented at the model level as a call to the corresponding activity diagram. When the model execution flow reaches such a call, the associated activity diagram is executed <ref type="bibr" target="#b16">[17]</ref>, <ref type="bibr" target="#b15">[16]</ref>. MaRTS is based on the following steps.</p><p>Extract information from the UML class diagrams. An operations-table is extracted from the original class diagram. This table stores for each class the operations that are declared and inherited by the class, and the name of its superclass. When developers adapt the class diagram, the declared and inherited operations in each class might change. Therefore, an operations-table is also extracted from the adapted class diagram.</p><p>Calculate traceability matrix. This step is performed before adapting the models. The test cases are executed at the model level, and coverage information is collected for each test case: <ref type="bibr" target="#b0">(1)</ref> what activity diagrams are executed, and ( <ref type="formula">2</ref>) what flows in each activity diagram are executed. This information is used to obtain the traceability matrix that relates each test case to the activity diagrams and the flows that were traversed by the test case.</p><p>Identify model changes. MaRTS uses RSA model comparison <ref type="foot" target="#foot_1">2</ref> to identify fine-grained model changes after developers adapt the class and activity diagrams. This tool can identify fine-grained changes in the activity diagrams at the level of flows, nodes, and code statements associated with action nodes.</p><p>Classify test cases. Our algorithm classifies the test cases as obsolete, retestable, or reusable. Initially, all the test cases are classified as reusable. Next, the algorithm compares the operations-tables to identify which operations were changed along the inheritance hierarchy. The traceability matrix is used to determine each test case that is affected by those changes, and the affected test cases are classified as retestable or obsolete. The remaining test cases are classified based on the identified model differences.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>B. FLiRTS</head><p>FLiRTS is a fuzzy logic-based RTS approach that performs RTS using design models that are at a high level of abstraction. FLiRTS uses a UML design class diagram to represent the static structure of the system and UML activity diagrams to represent the behaviors of the system's methods at a high level of abstraction. In contrast to MaRTS, action nodes in these activity diagrams are not executable, and do not contain code statements. Each test case is modeled as an activity diagram that includes call behavior nodes, each of which directly links to an operation in the class diagram. This level of abstraction prevents obtaining the coverage of test cases at the model level. We propose two solutions for this problem.</p><p>Activity diagram-based solution. This solution is based on automatically generating detailed activity diagrams called refinements from the abstract activity diagrams <ref type="bibr" target="#b17">[18]</ref>. A refinement is an activity diagram that contains more flows and nodes compared to the one that it is refining it. FLiRTS assumes that a UML sequence diagram that represents all the use case scenarios of the system is available, and is used to control the refinement generation process to avoid the generation of completely inconsistent and unrelated activity diagrams. Each activity diagram in the system model has several possible refinements. A refined system model is the system model where each activity diagram is replaced by one of its refinements. Several combinations of the refinements are possible, which leads to the creation of several refined system models. A test case may or may not traverse activity diagrams in a refined system model depending on which refinements are used, and their correctness.</p><p>Fuzzy logic is used to address this uncertainty. We define two input variables and set their crisp values in terms of (1) the extent to which a test case traverses modified activity diagrams in a refined system model, and (2) the extent to which a test case traverses correct refinements in a refined system model. These values are provided as inputs to the fuzzy logic-based classifier. The final results of the classifier for each test case are the probabilities for Retestable and Reusable associated with each refined system model. We use the most correct refined system model to obtain the final classification for the test case.</p><p>Class diagram-based solution. First, FLiRTS reads the design class diagram and extracts relations between the classifiers. We consider the association, composition, generalization, realization, and usage relations. The usage relation type that we consider is defined as the one from a class/interface C to a class/interface D, where C has an operation with a return type and/or a parameter type of D.</p><p>Second, FLiRTS uses the extracted relations to build a relations graph. In this graph, the classifiers are nodes, and the extracted relations are directed edges between the nodes. Third, FLiRTS uses the activity diagrams representing the test cases along with the paths between the classifiers in the relations graph to estimate the coverage of each test case. Based on the relations graph, there can be multiple paths that start from a test case and end in adapted/evolved classes. However, we are uncertain about which one of these paths is traversed by the test case. We use fuzzy logic to address this uncertainty for each test case by considering the number of such paths, their length, and types of their edges.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>IV. PLAN FOR EVALUATION AND VALIDATION</head><p>We plan to empirically evaluate MaRTS and FLiRTS using subjects as follows:</p><p>1) Compare the inclusiveness and precision of MaRTS and FLiRTS with that of two code-based RTS approaches.</p><p>2) Evaluate the fault detection ability of the reduced test sets. 3) Identify generalizable thresholds for the fuzzy sets/rules used in FLiRTS.</p><p>V. EXPECTED CONTRIBUTIONS This work will contribute to the modeling field by showing that the proposed RTS techniques are feasible and produce results that are comparable to that of code-based RTS. We expect that MaRTS will improve the safety and precision of model-based RTS, and FLiRTS will improve the applicability, safety, and precision of model-based RTS when applied with models that are at a high level of abstraction and lack traceability with the test cases.</p><p>MaRTS and FliRTS can be used within the contexts of model-based evolution and runtime adaptation. For example, the approaches that use models to perform runtime adaptation <ref type="bibr" target="#b18">[19]</ref>, <ref type="bibr" target="#b19">[20]</ref>, <ref type="bibr" target="#b20">[21]</ref>, <ref type="bibr" target="#b21">[22]</ref> can utilize MaRTS and FLiRTS to classify regression test cases based on model-level changes.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>VI. CURRENT STATUS</head><p>We implemented a prototype tool that automates the process of MaRTS. We compared MaRTS with two code-based RTS approaches, DejaVu <ref type="bibr" target="#b3">[4]</ref> and ChEOPSJ <ref type="bibr" target="#b13">[14]</ref>, in terms of their inclusiveness, precision, the fault detection ability of the retestable test set. We used four subject programs: JUNG, Siena, XML-security, and chess, which is a classroom project.</p><p>We extracted class and activity diagrams from the original version of each subject program and its test cases. We adapted the diagrams from one version to the following version. Then, we applied MaRTS, DejaVu, and ChEOPSJ to classify the test cases. We used PIT 3 to apply method-level mutation operators to the adapted versions at the code level. We ran PIT with both the original and retestable test sets on each version, and reported the killed mutants by each test set. The inclusiveness of DejaVu and MaRTS was 100% for all the programs. The inclusiveness of ChEOPSJ was 94% for JUNG, 96% for Chess, and 92% for Siena. The precision was 100% for MaRTS and DejaVu. The precision of ChEOPSJ was 100% for JUNG and Chess, and 62% for Siena. ChEOPSJ did not produce results for XML-security because of a bug in this tool. The retestable test sets obtained by MaRTS achieved the same fault detection ability that was achieved by the full test sets.</p><p>We conducted a preliminary evaluation of FLiRTS. We obtained comparable results on inclusiveness and precision with DejaVu and MaRTS <ref type="bibr" target="#b17">[18]</ref>.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>VII. PROPOSED TIMELINE FOR THE REMAINING TASKS August -October 2017:</head><p>• Collect subjects for the experiments of FLiRTS.</p><p>• Complete the implementation of FLiRTS.</p><p>• Perform the experiments using FLiRTS and DejaVu. October -December 2017:</p><p>• Analyze and report the results of the experiments.</p><p>• Write the dissertation.</p><p>3 http://pitest.org</p></div>			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="1" xml:id="foot_0">http://www-03.ibm.com/software/products/en/ratisoftarchsimutool</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="2" xml:id="foot_1">https://www.ibm.com/developerworks/rational/library/05/712_comp2/ index.html</note>
		</body>
		<back>

			<div type="acknowledgement">
<div xmlns="http://www.tei-c.org/ns/1.0"><head>ACKNOWLEDGMENT</head><p>This material is based upon work supported by the National Science Foundation under Grant No. CNS 1305381.</p></div>
			</div>

			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<analytic>
		<title level="a" type="main">A realistic empirical evaluation of the costs and benefits of uml in software maintenance</title>
		<author>
			<persName><forename type="first">W</forename><forename type="middle">J</forename><surname>Dzidek</surname></persName>
		</author>
		<author>
			<persName><forename type="first">E</forename><surname>Arisholm</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><forename type="middle">C</forename><surname>Briand</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">IEEE Transactions on software engineering</title>
		<imprint>
			<biblScope unit="volume">34</biblScope>
			<biblScope unit="issue">3</biblScope>
			<biblScope unit="page" from="407" to="432" />
			<date type="published" when="2008">2008</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<analytic>
		<title level="a" type="main">Models@run.time</title>
		<author>
			<persName><forename type="first">G</forename><forename type="middle">S</forename><surname>Blair</surname></persName>
		</author>
		<author>
			<persName><forename type="first">N</forename><surname>Bencomo</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><forename type="middle">B</forename><surname>France</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">IEEE Computer</title>
		<imprint>
			<biblScope unit="volume">42</biblScope>
			<biblScope unit="issue">10</biblScope>
			<biblScope unit="page" from="22" to="27" />
			<date type="published" when="2009-10">Oct. 2009</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<analytic>
		<title level="a" type="main">A Safe, Efficient Regression Test Selection Technique</title>
		<author>
			<persName><forename type="first">G</forename><surname>Rothermel</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><forename type="middle">J</forename><surname>Harrold</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">ACM Transactions on Software Engineering and Methodology</title>
		<imprint>
			<biblScope unit="volume">6</biblScope>
			<biblScope unit="issue">2</biblScope>
			<biblScope unit="page" from="173" to="210" />
			<date type="published" when="1997-04">Apr. 1997</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<analytic>
		<title level="a" type="main">Regression Test Selection for Java Software</title>
		<author>
			<persName><forename type="first">M</forename><forename type="middle">J</forename><surname>Harrold</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><forename type="middle">A</forename><surname>Jones</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Li</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Liang</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Orso</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Pennings</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Sinha</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><forename type="middle">A</forename><surname>Spoon</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Gujarathi</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the 16th Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOP-SLA&apos;01)</title>
				<editor>
			<persName><forename type="first">J</forename><surname>Vlissides</surname></persName>
		</editor>
		<meeting>the 16th Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOP-SLA&apos;01)<address><addrLine>Tampa, FL, USa</addrLine></address></meeting>
		<imprint>
			<publisher>ACM</publisher>
			<date type="published" when="2001-10">Oct. 2001</date>
			<biblScope unit="page" from="312" to="326" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<analytic>
		<title level="a" type="main">Testing Evolving Software</title>
		<author>
			<persName><forename type="first">M</forename><forename type="middle">J</forename><surname>Harrold</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Journal of Systems and Software</title>
		<imprint>
			<biblScope unit="volume">47</biblScope>
			<biblScope unit="issue">2-3</biblScope>
			<biblScope unit="page" from="173" to="181" />
			<date type="published" when="1999-07">Jul. 1999</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<analytic>
		<title level="a" type="main">Automating Regression Test Selection Based on UML Designs</title>
		<author>
			<persName><forename type="first">L</forename><forename type="middle">C</forename><surname>Briand</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Y</forename><surname>Labiche</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>He</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Journal on Information and Software Technology</title>
		<imprint>
			<biblScope unit="volume">51</biblScope>
			<biblScope unit="issue">1</biblScope>
			<biblScope unit="page" from="16" to="30" />
			<date type="published" when="2009-01">Jan. 2009</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b6">
	<analytic>
		<title level="a" type="main">A model-based regression testing approach for evolving software systems with flexible tool support</title>
		<author>
			<persName><forename type="first">Q</forename><surname>Farooq</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><forename type="middle">Z Z</forename><surname>Iqbal</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Z</forename><forename type="middle">I</forename><surname>Malik</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Riebisch</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">17th IEEE International Conference and Workshops on the Engineering of Computer-Based Systems, ECBS 2010</title>
				<meeting><address><addrLine>Oxford, England, UK</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2010">22-26 March 2010, 2010</date>
			<biblScope unit="page" from="41" to="49" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b7">
	<analytic>
		<title level="a" type="main">A Generic Platform for Model-Based Regression Testing</title>
		<author>
			<persName><forename type="first">P</forename><surname>Zech</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Felderer</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Kalb</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Breu</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the 5th International Symposium on Leveraging Applications of Formal Methods, Verification and Validation (ISoLA&apos;12)</title>
		<title level="s">Lecture Notes in Computer Science</title>
		<editor>
			<persName><forename type="first">T</forename><surname>Margaria</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">B</forename><surname>Steffen</surname></persName>
		</editor>
		<meeting>the 5th International Symposium on Leveraging Applications of Formal Methods, Verification and Validation (ISoLA&apos;12)<address><addrLine>Heraclion, Crete</addrLine></address></meeting>
		<imprint>
			<biblScope unit="volume">7609</biblScope>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b8">
	<analytic>
		<title level="a" type="main">Regression Testing Minimization, Selection and Prioritization: A Survey</title>
		<author>
			<persName><forename type="first">S</forename><surname>Yoo</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Harman</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Journal of Software Testing, Verification and Reliability</title>
		<imprint>
			<biblScope unit="volume">22</biblScope>
			<biblScope unit="issue">2</biblScope>
			<biblScope unit="page" from="67" to="120" />
			<date type="published" when="2012-03">Mar. 2012</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b9">
	<analytic>
		<title level="a" type="main">A Systematic Review on Regression Test Selection Techniques</title>
		<author>
			<persName><forename type="first">E</forename><surname>Engström</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Runeson</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Skoglund</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Information and Software Technology</title>
		<imprint>
			<biblScope unit="volume">52</biblScope>
			<biblScope unit="issue">1</biblScope>
			<biblScope unit="page" from="14" to="30" />
			<date type="published" when="2010-01">Jan. 2010</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b10">
	<analytic>
		<title level="a" type="main">A Firewall Approach for Regression Testing of Object-Oriented Software</title>
		<author>
			<persName><forename type="first">L</forename><forename type="middle">J</forename><surname>White</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><surname>Abdullah</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the 10th International Software Quality Week (QW&apos;97)</title>
				<meeting>the 10th International Software Quality Week (QW&apos;97)<address><addrLine>San Francisco, CA, USA</addrLine></address></meeting>
		<imprint>
			<date type="published" when="1997-05">May 1997</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b11">
	<analytic>
		<title level="a" type="main">On Regression Testing of Object-Oriented Programs</title>
		<author>
			<persName><forename type="first">D</forename><forename type="middle">C</forename><surname>Kung</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Gao</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Hsia</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Y</forename><surname>Toyoshima</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Chen</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Journal of Systems and Software</title>
		<imprint>
			<biblScope unit="volume">32</biblScope>
			<biblScope unit="issue">1</biblScope>
			<biblScope unit="page" from="21" to="40" />
			<date type="published" when="1996-01">Jan. 1996</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b12">
	<analytic>
		<title level="a" type="main">Improving Class Firewall Regression Test Selection by Removing the Class Firewall</title>
		<author>
			<persName><forename type="first">M</forename><surname>Skoglund</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Runeson</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">International Journal of Software Engineering and Knowledge Engineering</title>
		<imprint>
			<biblScope unit="volume">17</biblScope>
			<biblScope unit="issue">3</biblScope>
			<biblScope unit="page" from="359" to="378" />
			<date type="published" when="2007-06">Jun. 2007</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b13">
	<analytic>
		<title level="a" type="main">Change-Based Test Selection: An Empirical Evaluation</title>
		<author>
			<persName><forename type="first">Q</forename><forename type="middle">D</forename><surname>Soetens</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Demeyer</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Zaidman</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Pérez</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Empirical Software Engineering</title>
		<imprint>
			<biblScope unit="page" from="1" to="43" />
			<date type="published" when="2015-11">Nov. 2015</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b14">
	<analytic>
		<title level="a" type="main">Model Based Regression Test Reduction Using Dependence Analysis</title>
		<author>
			<persName><forename type="first">B</forename><surname>Korel</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><forename type="middle">H</forename><surname>Tahat</surname></persName>
		</author>
		<author>
			<persName><forename type="first">B</forename><surname>Vaysburg</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the International Conference on Software Maintenance (SM&apos;02)</title>
				<meeting>the International Conference on Software Maintenance (SM&apos;02)<address><addrLine>Montreal, Quebec, Canada</addrLine></address></meeting>
		<imprint>
			<publisher>IEEE</publisher>
			<date type="published" when="2002-10">Oct. 2002</date>
			<biblScope unit="page" from="214" to="233" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b15">
	<analytic>
		<title level="a" type="main">Model-based Regression Test Selection for Validating Runtime Adaptation of Software Systems</title>
		<author>
			<persName><forename type="first">M</forename><surname>Al-Refai</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Ghosh</surname></persName>
		</author>
		<author>
			<persName><forename type="first">W</forename><surname>Cazzola</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the 9th IEEE International Conference on Software Testing, Verification and Validation (ICST&apos;16</title>
				<editor>
			<persName><forename type="first">L</forename><surname>Briand</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">S</forename><surname>Khurshid</surname></persName>
		</editor>
		<meeting>the 9th IEEE International Conference on Software Testing, Verification and Validation (ICST&apos;16<address><addrLine>Chicago, IL, USA</addrLine></address></meeting>
		<imprint>
			<publisher>IEEE</publisher>
			<date type="published" when="2016-04">Apr. 2016</date>
			<biblScope unit="page" from="288" to="298" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b16">
	<analytic>
		<title level="a" type="main">Using Models to Validate Unanticipated, Fine-Grained Adaptations at Runtime</title>
		<author>
			<persName><forename type="first">M</forename><surname>Al-Refai</surname></persName>
		</author>
		<author>
			<persName><forename type="first">W</forename><surname>Cazzola</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Ghosh</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>France</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the 17th IEEE International Symposium on High Assurance Systems Engineering (HASE&apos;16)</title>
				<editor>
			<persName><forename type="first">H</forename><surname>Waeselynck</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">R</forename><surname>Babiceanu</surname></persName>
		</editor>
		<meeting>the 17th IEEE International Symposium on High Assurance Systems Engineering (HASE&apos;16)<address><addrLine>Orlando, FL, USA</addrLine></address></meeting>
		<imprint>
			<publisher>IEEE</publisher>
			<date type="published" when="2016-01">Jan. 2016</date>
			<biblScope unit="page" from="23" to="30" />
		</imprint>
	</monogr>
	<note>7th-9th of</note>
</biblStruct>

<biblStruct xml:id="b17">
	<analytic>
		<title level="a" type="main">A Fuzzy Logic Based Approach for Model-based Regression Test Selection</title>
		<author>
			<persName><forename type="first">M</forename><surname>Al-Refai</surname></persName>
		</author>
		<author>
			<persName><forename type="first">W</forename><surname>Cazzola</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Ghosh</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the ACM/IEEE 20th International Conference on Model Driven Engineering Languages and Systems (MoDELS&apos;17)</title>
				<meeting>the ACM/IEEE 20th International Conference on Model Driven Engineering Languages and Systems (MoDELS&apos;17)<address><addrLine>Austin, TX, USA</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2017-09">17th of Sep.-22th of Sep. 2017</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b18">
	<analytic>
		<title level="a" type="main">Rainbow: Architecture-Based Self Adaptation with Reusable Infrastructure</title>
		<author>
			<persName><forename type="first">D</forename><surname>Garlan</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S.-W</forename><surname>Cheng</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A.-C</forename><surname>Huang</surname></persName>
		</author>
		<author>
			<persName><forename type="first">B</forename><surname>Schmerl</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Steenkiste</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">IEEE Computer</title>
		<imprint>
			<biblScope unit="volume">37</biblScope>
			<biblScope unit="issue">10</biblScope>
			<biblScope unit="page" from="46" to="54" />
			<date type="published" when="2004-10">Oct. 2004</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b19">
	<analytic>
		<title level="a" type="main">Models@Run.time to Support Dynamic Adaptation</title>
		<author>
			<persName><forename type="first">B</forename><surname>Morin</surname></persName>
		</author>
		<author>
			<persName><forename type="first">O</forename><surname>Barais</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J.-M</forename><surname>Jézéquel</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Fleurey</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Solberg</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">IEEE Computer</title>
		<imprint>
			<biblScope unit="volume">42</biblScope>
			<biblScope unit="issue">10</biblScope>
			<biblScope unit="page" from="44" to="51" />
			<date type="published" when="2009-10">Oct. 2009</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b20">
	<analytic>
		<title level="a" type="main">Adaptation and Abstract Runtime Models</title>
		<author>
			<persName><forename type="first">T</forename><surname>Vogel</surname></persName>
		</author>
		<author>
			<persName><forename type="first">H</forename><surname>Giese</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the ICSE Workshop on Software Engineering for Adaptive and Self-Managing Systems (SEAMS&apos;10)</title>
				<meeting>the ICSE Workshop on Software Engineering for Adaptive and Self-Managing Systems (SEAMS&apos;10)<address><addrLine>Cape Town, South Africa</addrLine></address></meeting>
		<imprint>
			<publisher>ACM</publisher>
			<date type="published" when="2010-05">May 2010</date>
			<biblScope unit="page" from="39" to="48" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b21">
	<analytic>
		<title level="a" type="main">Fine-Grained Semi-Automated Runtime Evolution</title>
		<author>
			<persName><forename type="first">W</forename><surname>Cazzola</surname></persName>
		</author>
		<author>
			<persName><forename type="first">N</forename><forename type="middle">A</forename><surname>Rossini</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Bennett</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><forename type="middle">Pradeep</forename><surname>Mandalaparty</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><forename type="middle">B</forename><surname>France</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">MoDELS@Run-Time, ser. Lecture Notes in Computer Science 8378</title>
				<editor>
			<persName><forename type="first">N</forename><surname>Bencomo</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">B</forename><surname>Cheng</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">R</forename><forename type="middle">B</forename><surname>France</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">U</forename><surname>Aßmann</surname></persName>
		</editor>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2014-08">Aug. 2014</date>
			<biblScope unit="page" from="237" to="258" />
		</imprint>
	</monogr>
</biblStruct>

				</listBibl>
			</div>
		</back>
	</text>
</TEI>
