<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>An Industrial Case Study on Improving Quality in Integrated Software Product using defect dependency</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Sai Anirudh Karre</string-name>
          <email>sai.anirudh@research.iiit.ac.in</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Y. Raghu Reddy</string-name>
          <email>raghu.reddy@iiit.ac.in</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Software Engineering Research Center IIIT Hyderabad</institution>
          ,
          <country country="IN">India</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2015</year>
      </pub-date>
      <fpage>2</fpage>
      <lpage>9</lpage>
      <abstract>
        <p>- Product based organizations have diverse product offerings that meet various business needs. The products are in turn integrated to create integrated product suites. Rigorous product engineering is a must for creation of high quality integrated software products. Adequate measures must be taken to improve quality of the integrated product before every release of its module or sub-product. It is hard to imagine upgrading an integrated software product with unidentified defects prior to its release. In this paper, we share our observations on implementing a defect dependency metric to identify the dependency of a defect over a real-time industry defect dataset of an integrated software product. This defect dependency metric was captured and analyzed during release cycle(s) to avoid surprise issues post product launch.</p>
      </abstract>
      <kwd-group>
        <kwd>integrated software products</kwd>
        <kwd>software quality</kwd>
        <kwd>defect</kwd>
        <kwd>defect dependency</kwd>
        <kwd>software metric</kwd>
        <kwd>product development</kwd>
        <kwd>rough-set theory</kwd>
        <kwd>defect widespread</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>I. INTRODUCTION</title>
      <p>Academic research in areas such as software architecture,
automation frameworks and implementation methods has seen a
tremendous growth in recent years and it has been observed that
software industries apply them in real-time business to achieve
better results [1][2]. Many software practitioners are currently
trying to use methods and technologies proposed by academia to
create products to the best of their abilities. There were many
lessons learnt from industrial case studies over the past decade
[3].</p>
      <p>All new products are created with the intent of delivering
better functional and quality objectives that meet or exceed end
user expectations. Most software firms are now deliberately
framing their mission statements with a ‘grow fast or die fast’
strategy before they hit the market with a high quality product.
As per Gartner’s 2015 Magic Quadrant for Enterprise
Integration Platform as a Service survey [4] most of the software
industries that work on developing integrated software products
still follow traditional approaches to develop and maintain
quality standards of their existing products. As per their study,
most of the new start-ups are concentrating on new trends in
research for a better product(s) of similar class.</p>
      <p>In most cases, it is easier for start-ups or new development
projects to implement new trends in research on to software
production. However it is a challenge for well-established and
equipped products to adhere to these changes as it requires
massive planning and human effort. Especially in integrated
software, individual sub-products which are commonly referred</p>
      <p>The primary author of this paper has been working in this
domain for many years and has contributed to the integration of
the integrated product suite in various roles. The primary author
is also pursuing graduate studies on a part-time basis. Hence the
authors could gain access to all the artifacts and the original data.
Due to non-disclosure clauses, the name of the integrated
product suite, its product pillars and the organization is being
withheld. The product information shown in Table 1 makes use
of alternate names to the existing (real) names. However the
defect dataset presented in table II shows exactly the same
numbers as present in the defect database for the various
products and versions of the integrated software product.</p>
      <p>The rest of the paper is organized as follows: Section II
provides details of industrial examples of software quality
related to our work, section III explains the background of defect
dependency with an example along with study design of our
work, and section IV details the implementation setup of defect
dependency metric on an industry defect dataset. Section V talks
about results of our implementation and observations identified
during every new release of our integrated software product.
Finally in section VI we discuss the threats to validity and
present some insights about future work.</p>
    </sec>
    <sec id="sec-2">
      <title>II. RELATED WORK</title>
      <p>
        Software Quality Assurance (SQA) in integrated software
products is a major activity during software production cycle.
Advanced SQA practices were proposed by various researchers
over past decade that became standard approaches in today’s
software production release cycle. Functional integration
approaches, strategies and methodologies to integrate software
by its features were initially proposed [7]. Cost based effort
estimation method [8] for integrated software architecture
model-COTS was proposed and deduced quality measures to
choose right resource for right task. Fedrik et al. proposed
quality based methods to improve software integration [9]. In
[
        <xref ref-type="bibr" rid="ref10">10</xref>
        ], new methods were proposed on software product
integration by analyzing build statistics with real time products
as applied examples. In contrast to the existing work, a quality
based dependency model [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] capable of supporting software
architecture as an evolution to software production was
proposed. Improvements to integration methods in requirement
analysis phase using a model based object oriented approach
was proposed in [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ].
      </p>
      <p>
        Researchers have presented interesting methods on
implementation of integration in global software projects and
veracious trends in integration [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ][
        <xref ref-type="bibr" rid="ref15">15</xref>
        ][
        <xref ref-type="bibr" rid="ref20">20</xref>
        ]. Zeng et al. discuss
about an interesting integration framework that includes product
design concepts as a collaborative feature during development
in their work [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ]. Software quality based integration challenges
during design and implementation phases, and its consequences
were listed out through an industrial case study of enterprise
software product by Rognerud et al. [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ]. Quality related
observations on heterogeneous architectural model for efficient
integration among software modules were proposed in [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ].
Optimization methods in software integration with testing
efforts and test complexity were analyzed [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ]. Most significant
work on integration bugs specific to dependency on
requirements [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ] are defined during project inception were
recorded. Latest work on successful integration process [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ] for
large scale software was proposed along with quality
improvements and between development and quality teams. In
parallel there was significant amount of work on software defect
prediction by Chengnian et al. [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ] that can help industry
understand future defects with prediction methods. Overall,
there is a lot work on software quality, but specific research
pertinent to defect widespread and dependency of a defect over
a product is limited. There aren’t many practical
implementations that provide examples of applying the defect
dependency methods to case studies in industry. In this paper,
we are trying to address this specific gap by producing our
implementation results on an industry dataset.
      </p>
    </sec>
    <sec id="sec-3">
      <title>III. STUDY DESIGN In this section we provide an overview of the defect dependency metric and the real time industry dataset.</title>
      <sec id="sec-3-1">
        <title>A. Defect Dependency Metric</title>
        <p>Large-scale software products are complex and as such are
prone to defects. Software quality teams have to perform
rigorous checks before releasing a fix to a defect. This includes
ensuring that the fix will not cascade new defect(s) into the
product. The setup can be simple in case of small products but
not for complex software products or an integrated product suite.
Quality teams mostly face integration issues with incorrect
control flow and data flow between the sub-products or
submodules with in entire integrated product. It is also tough to
detect and track the source of a defect in a complex integrated
system as this involves various other quality teams from
different sub-products. Firms that integrate products due
mergers and acquisitions have different set of challenges as these
products may have evolved independently but not in an
integrated fashion. In such a scenario, it is essential for product
owners to understand the impact the defect so as to mitigate
possible surprise defects from other modules of the integrated
product. We introduced defect dependency metric to address this
specific concern in our previous paper [5]. We proposed a
Defect dependency metric (D*) to calculate defect dependency
by demonstrating the application of Generalized Dependency
degree (Г) using rough set theory [6].</p>
        <p>
          Defect dependency can be defined as a metric to study the
widespread of a defect with unknown impact and unknown risk
over a module(s) or component(s) or sub-product(s) of a
software product(s). Defect dependency can be calculated for
any software of any size, however heuristically it is more
applicable for complex systems as it is difficult to comment on
widespread of a defect without any evidence. Generalized
Dependency degree (Г) is a mathematical approach to calculate
the dependency between the equivalent classes generated by
equivalence relation using disjoint sets. Initial study using this
approach was proposed in Rough Set theory and was later
studied by Halxuan et al [
          <xref ref-type="bibr" rid="ref23">23</xref>
          ].
 Consider a rough set over an information system, it can be
defined as an approximation space as a pair as S= (U, A)
where U is a non-empty finite set called universal set and A
is a equivalence relation defined on a U which is a nonempty
finite set of attributes i.e., a: U → Va for a ϵ A, where Va is
called the domain of a.
 Here X be a subset of U, then the lower approximation of X
by A in S is defined as RX= {e ϵ U | [e] ⊆ A}, similarly the
upper approximation of X by A in S is defined as RX= {e ϵ
U | [e] ∩ A ≠ ∅} where [e] denotes the equivalence class
containing ‘e’.
        </p>
        <p>If we redefine above definition in terms of a defect dependency
approach, consider a defect dataset (D) of a large scale complex
software product (L). Then:</p>
        <p>Learning Management</p>
        <p>System (LMS)
Human Resource</p>
        <p>System (HRS)
Business Intelligence</p>
        <p>System (BIS)
Work force Manager</p>
        <p>(WFM)
Web Services Manager
(WSM)</p>
        <p>Sub-product
Admin Mgmt.</p>
        <p>Learner mode
Manager mode</p>
        <p>Hire Mgmt.</p>
        <p>Compensation Mgmt.</p>
        <p>Succession Mgmt.</p>
        <p>Performance Mgmt.</p>
        <p>BI Dashboards
Data Downloader</p>
        <p>Data Uploader
Attendance Mgmt.</p>
        <p>Payroll Mgmt.</p>
        <p>Reimbursement Mgmt.</p>
        <p>Export Mgmt.</p>
        <p>Integration Mgmt.</p>
        <p>Web Service Admin mode
 If P1, P2, P3, P4 …… PN are sub products of L, then consider
DP1, DP2, DP3, DP4…DPN are defect subsets of respective
subproducts of a universal defect dataset D.
 S = (D, De) is an approximation space, where D is a
nonempty finite defect set and De is a equivalence relation
defined over all defect subsets DPi where {i ϵ 1,2,3….n}
To calculate the dependency of a defect subset attributes
over another subset, we will evaluate the value for Г
(Generalized dependency degree) which is defined as
D* = Г(O, H) =
1
|D|
∑
|O(x) ∩ H(x)|
|H(x)|
(1)</p>
        <p>Here O &amp; H are two equivalent classes generated over an
equivalence relation framed from some disjoint sets of universal
set D. We have utilized this method to find dependency of a
defect on our industrial defect dataset. It is a simple
mathematical approach to understand the dependency of a one
set over another. Each data point in the dataset contains
collection of attributes that are pre-processed such that it can be
applied over dependency metric. If we map this method to our
real time dataset, D is the total defect dataset of our enterprise
software product, O and H are two equivalent classes of
equivalent sets which constitutes defects of two different
subproducts O and H. In case there are more than two sub-products,
we need to generate equivalent sets of all the defect product
subsets, constructs equivalence class and apply this formula. There
is no definite scale to the defect dependency metric, however the
value varies between 0 and 10.</p>
      </sec>
      <sec id="sec-3-2">
        <title>B. About Industry Dataset</title>
        <p>Our industry defect dataset contains defects of an Integrated
Human Resource Integrated System (IHRIS) product with 5
primary product pillars (as shown in Table I) that are integrated
as a single product suite. Each product pillar has sub-products
that are implemented in an integrated mode. As stated earlier,
due to non-disclosure clause, we are use the common derived
names of product and their sub-products instead of the original
product names.</p>
        <p>This integrated product is deployed as Software-as-Service,
Stand-alone Hosted and On-premise subscription for most of the
fortune 500 companies. New service pack is released and
deployed (includes feature changes or major fixes to the defects)
once every 2 months in a calendar year to all the customer
instances. Also a maintenance pack is released twice a month in
a calendar year that includes minor fixes for the defects reported
between the release timeline. All the above products once
crosssold and deployed as individual products are now deployed as
an integrated suite, i.e. all users accessing the integrated suite
will be able to access respective product(s) or sub-product(s) as
per their role permissions defined by the global administrator of
the product suite.</p>
        <p>The defect dataset constitutes defects from all the products
and sub-products of the integrated suite that are extracted from
the defect database of a defect tracking tool called JIRA™.
Dataset contains defects raised by QA teams every sprint cycle
along with defects reported by customers post product
deployment. The authors worked with quality assurance teams
and customers to extract the defects from the sprint cycles and
evaluated the data using product managers’ inputs.</p>
        <p>To understand the need of studying defect dependency, we
provide a real time industry scenario consisting of three defects
reported in three different sub-products of IHRIS software:
 Scenario: A manager uses the performance management
sub-product to perform an employee’s year-end performance
assessment. The Manager rates employee’s performance
(between 0-5) along with comments. As per the manager rating,
a pre-defined compensation hike shall be added to the employer
salary in compensation sub-product along with relevant tax
calculations as per policy in payroll sub-product.
 Defects: The sensitiveness of appraisal data necessitates
encryption while storage. So, decryption was necessary to view
the data in other modules. Defect #191 is raised, as the
decryption method is not honored by the numeric data in
manager comments. Later defect #278 and #286 were recorded
due to defect #191 but were practically difficult to trace within
a complex product without performing a defect dependency
study.
 Observations: These three defects appear to be linked,
however software quality teams normally would not have
proactively identified defect #278 and #286 unless customers
reported them. Defect#191 caused malfunction to compensation
and payroll calculation. In cases like these, defect dependency
study helps in detecting such defect spread and help product
managers to prioritize defects accordingly.</p>
        <p>Module
(Product)</p>
        <p>Below are the details of study workflow and teams involved.





</p>
        <p>The study was conducted over three service packs along
with five maintenance packs of the above provided
integrated software suite. The study was done over a
period of 9 months between September 2014 and July
2015.</p>
        <p>The entire defect dataset of integrated product has been
chosen and equivalence classes have been generated for
all the sub-products and products.</p>
        <p>Defect dependency metric is applied over the
equivalence classes and the metric value is calculated for
all the defects identified by quality assurance (QA) team
during every weekly sprint cycle.</p>
        <p>These defects include defects recorded during sprint
cycle and defects raised by customers together. The
metric results are combination of two sources (QA team
and customers).</p>
        <p>QA team will evaluate the results of the metric over post
release defects and compare them with the current
defects recorded during sprint cycle for regression.
Primary aim of this exercise is to avoid the possible
spread of defects in upcoming release version.</p>
        <p>The value of defect dependency metric is the indicator
for improvement study. QA teams progressively
compare the metric values every release and sprint cycle.








</p>
        <p>It has to be noted that there is no specific scale for this
metric as it always depends on size of the defects and
attributes (products chosen to evaluate) from dataset.
QA Team shall present the results to product
management team so that defects can be prioritized and
an executive decision can be taken on implementing a
plan for a new feature for a stable product(s) or
subproduct(s) in upcoming service packs.</p>
      </sec>
      <sec id="sec-3-3">
        <title>E. Study Design</title>
        <p>This section describes the steps involved on calculating the
metric using the industry dataset with specific.
Each defect in this dataset is a data point. All
subproducts are considered as subset i.e., there are 16
subproducts spread across 5 product pillars (shown in Table
I). For example, if Web Services Manager is a pillar
product, Export Mgmt., Integration Mgmt., and Web
Service Admin mode are its subsets.</p>
        <p>Each set contains defects of its sub-product and they are
entitled to be calculated together. Let D superset which
contains defects of all sub-products i.e.</p>
        <p>D = {p1 U p2 U p3 U…………….. U p16}
pi represents 16 sub-products from the enterprise
product suite under union of D the superset.</p>
        <p>Equivalence relation is constructed using all the pi sets
considering all the entities of the individual sets
Equivalence classes are created for each pi set
generating the classes of values that are common to all
the pi sets.</p>
        <p>All equivalent classes of pi sets are now passed to
calculate Г(p1, p2,…, p16) to generate overall defect
dependency metric D*
D* is now the metric standard for all the input pi set of
defect for a specific release. This activity needs to be
continued for every release to understand the
dependency of a defect over pi sets used to calculate D*
Post every release (including service pack and
maintenance pack), D* values are compared and
reviewed to identify the improvement.</p>
        <p>All the above steps are programmatically implemented using
.NET 4.0 and SQL. Additional details in this regard are provided
in the next section.</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>IV. IMPLEMENTATION SETUP</title>
      <p>In addition to the standard testing process, QA team and
product managers executed the below implementation and
evaluation plan for of the defect dependency metric. Fig. 1
shows the implementation flow of the study setup. JIRATM is
hosted against Microsoft SQL Server 2008 R2 at database level.
Below ‘D’ is the JIRA defect database which stores defects
raised by customers post product release and QA team during
sprint cycle.</p>
      <p>Using a data extract package (designed using Microsoft SQL
Server Integration Services 2008 R2), we extract desired defects
from available sub-products from the entire product suite. The
data extract package contains SQL query logic to extract the
defect dump for all the sub-products. This package pushes the
defect dump to a testing database (T). We use this testing
database to implement defect dependency metric. We construct
another package called metric package (M) that contains the
SQL query logic to construct equivalence relation and
equivalence classes of sub-products chosen for metric
calculation. Using .NET Code and SQL, D* is calculated and
stored in testing database.</p>
      <p>JIRA
Defect
Database</p>
      <p>(D)</p>
      <p>Data Extract Package (E)
Testing
Database
(T)</p>
      <p>Metric Package (M)</p>
      <p>Reporting Solution (R)</p>
      <p>The implementation cycle is repeated during every release
and every sprint cycle so that our QA teams can analyze and
compare the metric results for taking fair decisions on improving
product quality and defect prioritization. Product Managers and
QA teams depend on Reporting tool (R) to visualize the trend of
the metric periodically to understand and decide whether the
results are conflicting or making real sense in practice.</p>
    </sec>
    <sec id="sec-5">
      <title>V. RESULTS AND OBSERVATIONS</title>
      <sec id="sec-5-1">
        <title>A. Implementation Results</title>
        <p>We found interesting results across different version releases
of our integrated software product. Table II contains the detailed
trend data of metric values captured per product across entire
produce suite specific to the released versions. Here {V1, V2,
V3} being the service pack releases and {V1.1, V1.2, V1.3, V2.1,
V2.2, V3.1, V3.2, V3.3} are the maintenance pack releases. V1 is
the considered as major service pack release and V1.1, V1.2 and
V1.3 are its subsequent maintenance pack releases. Apart from
these values, our QA team captured the metric values for every
sprint release separately and for customer defects on weekly
basis.</p>
        <p>If we carefully observe, we can find the defect dependency
values to be high in initial version V1. This was the base version
of the implementation. We first calculated the metric value for
V1 version to analyze the health of the current integrated
software suite and found that it had high defect dependency
value of 6.78. Human Resource System. (HRS) product was
found to have high defect dependency value across overall
product suite whereas Web Service Manager (WSM) was found
to have low values. We started implementing the approach
across different releases and found a significant changes in the
quality of product and also a downtrend in the values of overall
metric result for every product within a given specific version
i.e. if we consider an example, in case of Learning Management
System (LMS) the metric dropped down from 1.84 to 0.99 from
service pack version V1 and by end of release of maintenance
pack V1.3 which signifies improvement and stability in the
product. Similar trend was identified across other product pillars
in the enterprise suite. Our QA team has found significant
improvement in terms of quality of product as the widespread of
defects are diminishing by end of stable release as observed by
the decrease in metric value for the products in below table.</p>
        <p>Fig. 2 is the graphical representation of values from Table II
highlighted in bold and italic, provides the trend analysis of the
metric values across all products across version. We find a
significant downtrend during the end of every version i.e. from
V1 to V1.3, V2 to V2.2 and V3 to V3.3. We were able to minimize
the various dependent issues across the integrated suite raising
the quality levels of the entire product. This methodology helped
QA teams and Product Managers to prioritize and de-prioritize
defects with developers. For example, the Sustenance
Engineering team responsible for providing fixes by end of
upcoming release of a service pack or maintenance pack was
able to select a particular defect that needed fix in a particular
release cycle.</p>
        <p>As per Fig. 2, from version V1 to version V3 we find a rise
in dependency issues on every standard service pack release i.e.
V2 and V3. We studied causes of this increase and found that rise
in metric is due to dependency among the new features
introduced in the respective pillar products. However, as the
maintenance pack(s) were released with subsequent fixes, we
found downtrend in metric results within a version, i.e., V2.1 and
V2.2. At the end of every version, we were able to determine the
impact of most of the defects. This led to prioritization of
addressing high defect modules thereby easing the dependency
of the defect to specific part of the product and decreasing it’s
widespread.</p>
      </sec>
      <sec id="sec-5-2">
        <title>B. Observations</title>
        <p>We present our observations partially based on the
retrospective session conducted between Product Managers and
QA teams for trend analysis.
 It became tough to gain confidence from Product managers
in initial sprint cycles, as the defect dependency was too
high which brought down initial confidence levels. Also as
the approach was mathematical (based on rough set theory),
the QA team didn’t seem to comprehend the methodology
in the beginning. As a result we had to spend some time
negotiating for adoption of the approach within the Quality
assurance team.
6.78
5.04
4.27
 QA teams have come up with improved test cases as part
of future integrating testing, as traditional test cases are
no longer contributing towards product quality.</p>
        <p>In summary, defect dependency metric was one of the key
contributors along with our standard processes for stabilizing
our integrated software product to a greater extent. The QA
team gave informal feedback that the metric was of great value
and product managers stated that it has helped improve
customer success across customer subscriptions.</p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>VI. THREATS TO VALIDITY</title>
      <p>Our approach to calculate degree of Defect dependency
metric is based on rough set theory. We implemented it
against a real time defect dataset to improve and evaluate the
quality of our large scale integrated software product during
every release cycle since September 2014 to July 2015. We
were successful in improving the integrated product suite. The
main concern with our case study just like other case study
papers is the possible extension and applicability of the work
to other defect datasets. Given that we have applied it only to
a single product suite, we can’t convincingly state that it’s
applicable to other product suites too. However, it needs to be
noted that our case study was based on an integrated software
product that is used by most of the fortune 500 companies. It
would be interesting to see if this methodology is adopted in
tools used to build integrated software from mid-size software
industries to large scale industries to understand its
significance in reality. We believe that apart from defect
dependency metric, heuristic approaches can also be used to
solve our day-to-day quality issues. However we suggest
fellow software practitioners to adopt our approach to
improve software quality of their products. The scope of
defect dependency metric is only to identify dependency of
defect i.e. it’s widespread; however an integrated software
product can still be un-stable with no defect dependency. This
can be because of poor functional and architectural design or
due to control/data flow issues.</p>
      <p>On the other hand, organizational constraints and its
corresponding influence on the accuracy of metric can be
questioned. However a series of evaluation by quality teams
and meetings with product manager and key stake-holders of
the project(s) helped us evaluate the efficiency of the metric
during every release. Influence of teams with lack of process
knowledge, skill set or technology used can be argued and the
results may be interpreted differently at times. To limit this
issue, the evaluation of this metric has to be attributed to only
key decision makers within the organization.</p>
    </sec>
    <sec id="sec-7">
      <title>VII. CONCLUSION AND FUTURE WORK</title>
      <p>In current study, we have implemented this metric only on
product &amp; sub-product defects. As an extension to this study,
we will be working on alternate methods to identify
dependencies and widespread of defect on various other
artifacts at different levels of software production like
requirement analysis, resource planning, integration strategy,
maintenance and design. This will help an integrated software
company to address quality issues at all levels. Lessons learnt
by conducting such studies can address some of the open
challenges and help take efficient decisions to produce better
complex products. As a future work, we will be assessing the
metric more comprehensively by getting feedback from
developers and quality teams on how significant this method
helps them to prioritize the defect as part of regular work. We
will have to work on testing strategies while adopting this
approach in real time so as to improve test cases and address
proactive defects especially during maintenance phase.</p>
    </sec>
    <sec id="sec-8">
      <title>ACKNOWLEDGMENTS</title>
      <p>We thank all the members of product management, quality
assurance and deployment teams at SumTotal Inc. for
providing the valuable assistance, suggestions and feedback
on implementing our research.</p>
      <p>REFERENCES</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          <string-name>
            <surname>Leupers</surname>
          </string-name>
          , Rainer; RWTH Aachen; When, Norbert; Leupers, Rainer; Roodzant, Marco; Stahl, Johannes; Fanucci, Luca; Cohen, Albert; Janson, Bernd, “
          <source>Technology transfer towards Horizon</source>
          <year>2020</year>
          ”,
          <source>In proceedings of Design, Automation and Test in Europe Conference and Exhibition (DATE)</source>
          ,
          <year>March 2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          <string-name>
            <surname>Laird</surname>
            ,
            <given-names>L</given-names>
          </string-name>
          ; Ye Yang, “Transferring Software Engineering Research into Industry:
          <article-title>The Stevens Way”</article-title>
          ,
          <source>In proceedings of IEEE/ACM 2nd International Workshop on Software Engineering Research and Industrial Practice (SER&amp;IP)</source>
          ,
          <source>May</source>
          <year>2015</year>
          , pp.
          <fpage>46</fpage>
          -
          <lpage>49</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          <string-name>
            <surname>Wohlin</surname>
            ,
            <given-names>C</given-names>
          </string-name>
          , “
          <article-title>Empirical software engineering research with industry: Top 10 challenges”</article-title>
          ,
          <source>In proceedings of 1st International Workshop on Conducting Empirical Studies in Industry (CESI)</source>
          ,
          <year>2013</year>
          , pp.
          <fpage>43</fpage>
          -
          <lpage>46</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          <string-name>
            <given-names>Massimo</given-names>
            <surname>Pazzini</surname>
          </string-name>
          ,
          <string-name>
            <surname>Yefin</surname>
            <given-names>V.</given-names>
          </string-name>
          <string-name>
            <surname>Natis</surname>
          </string-name>
          , Paolo Malinverno, Kimihiko Iijima, Jess Thompson, Eric Thoo and Keith Guttridge, “
          <article-title>Magic Quadrant for Enterprise Integration Platform as a Service, Worldwide”</article-title>
          , Gartner,
          <year>March 2015</year>
          , Report: G00270939.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          <string-name>
            <given-names>Sai</given-names>
            <surname>Anirudh Karre</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Raghu Reddy</surname>
          </string-name>
          ,
          <article-title>"A Defect Dependency approach to Improve Software Quality in Integrated Software products"</article-title>
          , International Conference on Evaluation of Novel Approaches to Software Engineering, Barcelona,
          <year>April 2015</year>
          , pp:
          <fpage>110</fpage>
          -
          <lpage>117</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          <string-name>
            <surname>Pawlak</surname>
            <given-names>Z</given-names>
          </string-name>
          , “
          <article-title>Rough classification”</article-title>
          ,
          <source>In International Journal of Human-Computer Studies</source>
          ,
          <year>1999</year>
          , pp.
          <fpage>369</fpage>
          -
          <lpage>383</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          <string-name>
            <surname>Jim-Min Lin</surname>
          </string-name>
          ,
          <article-title>"Cross-platform software reuse by functional integration approach"</article-title>
          ,
          <source>In proceedings of 21st International conference on Computer Software and Application Conference</source>
          , Washington DC, USA,
          <year>Aug 1997</year>
          , pp:
          <fpage>402</fpage>
          -
          <lpage>408</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          <string-name>
            <given-names>Daniil</given-names>
            <surname>Yakimovich</surname>
          </string-name>
          ,
          <string-name>
            <surname>James M. Bieman</surname>
          </string-name>
          , and
          <string-name>
            <surname>Victor R. Basili</surname>
          </string-name>
          ,
          <article-title>"Software architecture classification for estimating the cost of COTS integration"</article-title>
          ,
          <source>International Conference on Software Engineering</source>
          , Los Angeles, USA, May
          <year>1999</year>
          , pp:
          <fpage>296</fpage>
          -
          <lpage>302</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          <string-name>
            <given-names>Fedrik</given-names>
            <surname>Ekdahl and Ivica Crnkovic</surname>
          </string-name>
          ,
          <article-title>"How to Improve Software Integration"</article-title>
          ,
          <source>Information &amp; Software Technology Journal, Elsevier</source>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>Stig</given-names>
            <surname>Larsson</surname>
          </string-name>
          and
          <string-name>
            <given-names>Ivica</given-names>
            <surname>Crnkovic</surname>
          </string-name>
          ,
          <article-title>"</article-title>
          <source>Product Integration Improvement Based on Analysis of Build Statistics"</source>
          , European Software Engineering Conference, Dubrovnik, Croatia, Sept 2007
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <surname>Chih-Hung</surname>
            <given-names>Chang</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chih-Wei</surname>
            <given-names>Lu</given-names>
          </string-name>
          , and Chu W.C,
          <article-title>"Improving Software Integration from Requirement Process with a Model-Based Object-Oriented Approach"</article-title>
          ,
          <source>International Conference on Secure System Integration and Reliability Improvement</source>
          , Yokohama, Japan,
          <year>July 2008</year>
          , pp:
          <fpage>175</fpage>
          -
          <lpage>176</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <surname>Gotel</surname>
            <given-names>O</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kulkarni</surname>
            <given-names>V</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Scharff</surname>
            <given-names>C</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Neak</surname>
            <given-names>L</given-names>
          </string-name>
          ,
          <article-title>"Integration Starts on Day One in Global Software Development Projects"</article-title>
          ,
          <source>IEEE International Conference on Global Software Engineering</source>
          , Bangalore, India,
          <year>Aug 2008</year>
          , pp:
          <fpage>244</fpage>
          -
          <lpage>248</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>Hongyu</given-names>
            <surname>Pei</surname>
          </string-name>
          and
          <string-name>
            <given-names>Ivica</given-names>
            <surname>Crnkovic</surname>
          </string-name>
          ,
          <article-title>"Using dependency model to support software architecture evolution"</article-title>
          ,
          <source>23rd IEEE/ACM International Conference Automated Software EngineeringWorkshops</source>
          , L'Aquila, Italy,
          <year>Sept 2008</year>
          , pp:
          <fpage>82</fpage>
          -
          <lpage>91</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>Pengfei</given-names>
            <surname>Zeng</surname>
          </string-name>
          and
          <string-name>
            <given-names>Yongping</given-names>
            <surname>Hao</surname>
          </string-name>
          ,
          <article-title>"Towards a Software Integration Framework in Product Collaborative Design Environment"</article-title>
          , International Conference on Computer Science and Software Engineering, Wuhan, Hubei,
          <year>Dec 2008</year>
          , pp:
          <fpage>527</fpage>
          -
          <lpage>530</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <surname>Campbell</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <article-title>"The Future of Test-Product Integration and its Impact on Test"</article-title>
          ,
          <source>24th IEEE International Symposium on Defect and Fault Tolerance in VLSI Systems</source>
          , Chicago, USA, Oct
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <surname>Rognerud</surname>
            <given-names>H.J</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hannay</surname>
            <given-names>J.E</given-names>
          </string-name>
          ,
          <article-title>"Challenges in enterprise software integration: An industrial study using repertory grids"</article-title>
          ,
          <source>International Symposium on Empirical Software Engineering and Measurement</source>
          , Lake Buena Vista, USA,
          <year>Oct 2009</year>
          , pp:
          <fpage>11</fpage>
          -
          <lpage>22</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <article-title>Chong-chong Zhao and Li-yong Zhao, "The research about software integration oriented heterogeneous architecture style"</article-title>
          ,
          <source>International Conference on Software Engineering and Data Mining</source>
          , Chengdu,
          <source>China June</source>
          <year>2010</year>
          , pp:
          <fpage>311</fpage>
          -
          <lpage>315</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <surname>Steindl</surname>
            <given-names>M</given-names>
          </string-name>
          and
          <string-name>
            <surname>Mottok</surname>
            <given-names>J</given-names>
          </string-name>
          ,
          <article-title>"Optimizing software integration by considering integration test complexity and test effort"</article-title>
          ,
          <source>In proceedings of 10th Workshop on Intelligent Solutions in Embedded Systems</source>
          , Klagenfurt, Austria,
          <year>July 2012</year>
          , pp:
          <fpage>63</fpage>
          -
          <lpage>68</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <surname>Junjie</surname>
            <given-names>Wang</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>Juan</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <article-title>Qing Wang "Can requirements dependency network be used as early indicator of software integration bugs?"</article-title>
          , Rio De Janeiro, Brazil,
          <year>July 2013</year>
          , pp:
          <fpage>185</fpage>
          -
          <lpage>194</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>Jun</given-names>
            <surname>He</surname>
          </string-name>
          and
          <article-title>Chandler, "Package reliability and performance trends in an era of product integration"</article-title>
          ,
          <source>2014 IEEE International Reliability Physics Symposium</source>
          , Waikoloa, Hawaii,
          <year>June 2014</year>
          , pp:
          <source>2F.1.1- 2F.1.5</source>
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <surname>Yujuan</surname>
            <given-names>Jiang</given-names>
          </string-name>
          ,
          <article-title>"Improving the integration process of large software systems"</article-title>
          ,
          <source>IEEE 22nd International Conference on Software Analysis</source>
          , Evolution and Re-engineering, Montreal, Canada,
          <year>March 2015</year>
          , pp:
          <fpage>598</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <surname>Yuan</surname>
            <given-names>Tian</given-names>
          </string-name>
          , David Lo, Chengnian Sun: “DRONE:
          <article-title>Predicting Priority of Reported Bugs by Multi-factor Analysis</article-title>
          ”
          <source>In proceedings of International Conference on Software Maintaince (ICSM)</source>
          , Netherlands,
          <year>Sept 2013</year>
          , pp.
          <fpage>200</fpage>
          -
          <lpage>209</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <surname>Halxuan</surname>
          </string-name>
          , Irwin, Michael, “
          <article-title>Generalized Dependency Degree Between attributes”</article-title>
          ,
          <source>In proceedings of Journal of the American Society for Information Science and Technology, Sept</source>
          <year>2007</year>
          , pp:
          <fpage>2280</fpage>
          -
          <lpage>2294</lpage>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>