<!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>A Case of Industrial vs. Open-Source OCL: Not So Different After All</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Josh G.M. Mengerink Jeroen Noten Ramon R.H. Schiffelers</string-name>
          <email>j.g.m.mengerink@tue.nl</email>
          <email>j.g.m.mengerink@tue.nl j.f.h.noten@student.tue.nl r.r.h.schiffelers@tue.nl</email>
          <email>r.r.h.schiffelers@tue.nl</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Mark G.J. van den Brand</string-name>
          <email>m.g.j.v.d.brand@tue.nl</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Alexander Serebrenik</string-name>
          <email>a.serebrenik@tue.nl</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Dep. Mathematics &amp; Computer Science Dep. Mathematics &amp; Computer Science Dep. Mathematics &amp; Computer Science, Eindhoven University of Technology Eindhoven University of Technology Eindhoven University of Technology</institution>
          ,
          <country>The Netherlands The Netherlands The Netherlands</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Dep. Mathematics &amp; Computer Science, Eindhoven University of Technology</institution>
          ,
          <country country="NL">The Netherlands</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>-When studying model-driven engineering (MDE) in industry, generalization of studies is often hard, as most artifacts are proprietary and confidential in nature. A possible solution would be to study open-source artifacts. However, open-source artifacts are not necessarily representative for those found in the industry. As the first step towards investigating the viability of opensource MDE artifacts as an alternative to less accessible industrial ones, we use a large open-source dataset and several industrial meta-models to show that the complexity of OCL expressions in open-source and industry is similar.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>I. MOTIVATION AND GOALS</title>
      <p>
        Model-Driven Engineering (MDE) is being used in Industry
to assist engineers in specifying systems [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. By using
MDE to create domain-specific languages (DSLs), engineers
can specify these systems in terms relative to their domain,
rather than encoding them into general-purpose languages.
However, the metamodels that underpin these DSLs are often
highly complex, and at some point their expressive power is
not sufficient to accurately model the domain. For instance,
type systems require extra expressive power [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
      </p>
      <p>
        To mitigate this deficiency in metamodels, more complex
mechanisms such as the Object Constraint Language (OCL)
[
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] have been proposed. OCL allows DSL engineers to write
down complex constraints on valid models, such that the
domain can be modeled more accurately. OCL has been
subject to many studies in a variety of contexts such as usage
[
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], verification [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ], [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], and maintenance [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. Several
of these studies have already concluded that lack of data
might threaten generalizability of their conclusions [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ].
In particular, this lack of data holds for studies on industrial
data, as most industrial applications of MDE (and thus OCL)
are proprietary (and thus confidential) in nature.
      </p>
      <p>
        We envision that open-source can be used as means to
demonstrate and evaluate practical limitations of techniques
proposed to analyze [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ], [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] and visualize OCL [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. For
open-source it is easier to create large and publicly available
datasets [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] to ensure generalization and replication of
results.
      </p>
      <p>
        In order to be able to evaluate techniques on open-source
artifacts and derive conclusions valid for the industry, there
should be sufficient evidence that open-source artifacts can
be seen as representative of industrial practice. While similar
observations have been made for non-MDE software [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ], it
is not a priori clear that this also the case for OCL. Hence,
a plethora of measurements should be performed to test for
differences between the open-source MDE artifacts and their
industrial counterparts. As a first step, in this work, we test
whether complexity of open-source OCL expressions differs
from complexity of the industrial ones. We have chosen to start
with complexity, as it encompasses various aspects of artifacts.
As such, it should serve as a good indication of similarity, or
difference between open-source and industry.
      </p>
      <p>
        In our previous work [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] we have constructed a publicly
available dataset of over 9000 OCL expressions. We compare
this dataset with the data obtained from the industry, and ask
the following research question:
      </p>
    </sec>
    <sec id="sec-2">
      <title>Do the complexities of open-source and industrial OCL code differ?</title>
    </sec>
    <sec id="sec-3">
      <title>II. DATA DESCRIPTION AND ANALYSIS</title>
      <p>
        We analyze a dataset of OCL expressions1 previously mined
from open source GitHub projects [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], and a dataset of OCL
expressions from industrial projects by ALTRAN. The GitHub
dataset includes .ocl and .ecore files (.ecore files are
included as they may have embedded OCL expressions). It
contains over 9000 OCL expressions obtained from those files,
i.e., more than ten times more than datasets used in previous
studies [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] and includes the dataset of Cabot2.
      </p>
      <p>1https://github.com/tue-mdse/ocl-dataset
2https://github.com/jcabot/ocl-repository</p>
      <p>
        The ALTRAN dataset is derived from seven metamodels
obtained from ALTRAN, a large company offering
thirdparty MDE services. Using EMMA, our EMF (Meta)Model
Analysis tool [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ], we extracted 73 OCL expressions.
      </p>
      <p>
        To compare the datasets we focus on complexity.
Complexity is one of the most studied aspects of software quality
both in MDE- and traditional software [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ], [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ], [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ]. For
OCL expressions complexity has been operationalized as “the
number of distinct properties” used by an expression [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. For
instance the expression “context Person inv: self.age &gt;=
0” has a complexity of one, as it only references the age
property of Person. On the other hand, the expression “context
Auto inv: self.registration &gt;= self.constructionYear” has a
complexity of two as it references both the registration, and
constructionYear.
      </p>
      <p>
        In order to determine whether the complexities of
opensource and industrial OCL code differ, we apply a
MannWhitney-Wilcoxon test [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ]. We opt for this test since it is
non-parametric [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ], i.e., does not make assumptions about
the shape of the underlying distributions, and is robust in
presence of populations of unequal sizes [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ]. Moreover, it
is commonly used in software engineering research [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ]. As
null-hypothesis (H0) we take therefore: “The distributions of
complexity of the samples of industrial and open-source OCL
expressions represent two populations with the same median
values” , leaving the alternative hypothesis (Ha) to be: “The
distributions of complexity of the samples of industrial and
open-source OCL expressions represent two populations with
different median values”. To reject the null hypothesis we use
the traditional threshold of 0.05.
      </p>
    </sec>
    <sec id="sec-4">
      <title>III. RESULTS AND DISCUSSION</title>
      <p>
        We start by inspecting Figure 1. It shows a violin plot [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ]
of the computed complexities. The median, Q3, and maximum
complexity of open-source OCL expressions from GitHub are
higher (2, 3, 36, respectively) than those of the industrial
expressions from the ALTRAN dataset (1, 2, 5, respectively).
      </p>
      <p>Statistical comparison of the distributions, however, results
in the p-value of the Mann-Whitney-Wilcoxon test being
0:05591, which slightly exceeds the traditional threshold of
0.05. Hence, as far as expression complexity is concerned, the
differences observed above are not enough to claim that the
complexity distributions are statistically different. There is no
reason to assume that the industrial OCL expressions differ
from open-source OCL expressions.</p>
      <p>We can conclude, thus, that future results obtained for
the open-source OCL expressions are likely to be valid for
industrial OCL expressions as well.</p>
      <p>Validity of the previous conclusion might have been
threatened by the limited size of the ALTRAN dataset that may not
be representative of industrial practice in general. Due to the
proprietary nature of industrial models, there is little we can
do about this. However, as the open-source dataset is publicly
available,3 we encourage the reader to replicate our study on
their proprietary datasets.</p>
      <p>3https://github.com/tue-mdse/ocl-dataset
Fig. 1: Open-source OCL expressions appear to be slightly
more complex than the industrial ones.</p>
      <p>
        A concern often raised with data mined from GitHub is that
some data may merely be examples rather than “real” artifacts
(cf. [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ]). We inherit this threat from the previous work of
Noten et al. [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. Of the 16502 Ecore files in this dataset, 3280
contained the word “example” in their path; for OCL files, 150
of 890. Circa 20% of the dataset files are, hence, examples.
      </p>
    </sec>
    <sec id="sec-5">
      <title>IV. CONCLUSIONS</title>
      <p>In this work we suggest applying MDE techniques to
(widely available) open-source data, rather than (scarce)
industrial data. In particular, we have focused on the Object
Constraint Language (OCL).</p>
      <p>As a first step to verifying whether open-source data can
be used as a proxy for industrial data, we have compared
the distributions of complexity among OCL expressions. We
have found that complexity of OCL expressions does not differ
between our industrial and open-source datasets.</p>
      <p>
        Complexity is only the first step in evaluating techniques
on open-source data. Thus, as future work, we envision
performing similar studies for a large variety of properties.
For instance, distribution of used constructs and multiplicities,
or their evolution. Additionally, we encourage the reader to
perform new experiments on the dataset of Noten et al. [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ].
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1] Herrmannsdo¨ rfer,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Benz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            ,
            <surname>Juergens</surname>
          </string-name>
          , E.:
          <article-title>Automatability of coupled evolution of metamodels and models in practice</article-title>
          .
          <source>In: MoDELS</source>
          . Springer (
          <year>2008</year>
          )
          <fpage>645</fpage>
          -
          <lpage>659</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <surname>Schiffelers</surname>
            ,
            <given-names>R.R.H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Alberts</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Voeten</surname>
            ,
            <given-names>J.P.M.</given-names>
          </string-name>
          :
          <article-title>Model-based specification, analysis and synthesis of servo controllers for lithoscanners</article-title>
          .
          <source>In: 6th International Workshop on Multi-Paradigm Modeling, ACM</source>
          (
          <year>2012</year>
          )
          <fpage>55</fpage>
          -
          <lpage>60</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3] van den Brand, M.G.J., van der Meer,
          <string-name>
            <given-names>A.P.</given-names>
            ,
            <surname>Serebrenik</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Hofkamp</surname>
          </string-name>
          ,
          <string-name>
            <surname>A.T.</surname>
          </string-name>
          :
          <article-title>Formally specified type checkers for domain specific languages: experience report</article-title>
          . In: LDTA,
          <string-name>
            <surname>ACM</surname>
          </string-name>
          (
          <year>2010</year>
          )
          <fpage>12</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <surname>Warmer</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kleppe</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>The Object Constraint Language: Getting Your Models Ready for MDA. 2 edn</article-title>
          . Addison-Wesley (
          <year>2003</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <surname>Cadavid</surname>
            ,
            <given-names>J.J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Combemale</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Baudry</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>An analysis of metamodeling practices for MOF and OCL</article-title>
          .
          <source>Computer Languages, Systems &amp; Structures</source>
          <volume>41</volume>
          (
          <year>2015</year>
          )
          <fpage>42</fpage>
          -
          <lpage>65</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <surname>Kolovos</surname>
            ,
            <given-names>D.S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Matragkas</surname>
            ,
            <given-names>N.D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Korkontzelos</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ananiadou</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Paige</surname>
            ,
            <given-names>R.F.</given-names>
          </string-name>
          :
          <article-title>Assessing the use of eclipse mde technologies in open-source software projects</article-title>
          .
          <source>In: OSS4MDE@ MoDELS</source>
          . (
          <year>2015</year>
          )
          <fpage>20</fpage>
          -
          <lpage>29</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <surname>Noten</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mengerink</surname>
            ,
            <given-names>J.G.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Serebrenik</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>A data set of OCL expressions on GitHub</article-title>
          . In: MSR. (
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8] Gonza´lez, C.A., B u¨ttner,
          <string-name>
            <given-names>F.</given-names>
            ,
            <surname>Claris</surname>
          </string-name>
          <string-name>
            <surname>o´</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            ,
            <surname>Cabot</surname>
          </string-name>
          ,
          <string-name>
            <surname>J.:</surname>
          </string-name>
          <article-title>EMFtoCSP: A tool for the lightweight verification of EMF models</article-title>
          .
          <source>In: Formal Methods in Software Engineering: Rigorous and Agile Approaches</source>
          , IEEE (
          <year>2012</year>
          )
          <fpage>44</fpage>
          -
          <lpage>50</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <surname>Richters</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gogolla</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>On formalizing the UML object constraint language OCL</article-title>
          . In: Conceptual Modeling. (
          <year>1998</year>
          )
          <fpage>449</fpage>
          -
          <lpage>464</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <surname>Khelladi</surname>
            ,
            <given-names>D.E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hebig</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bendraou</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Robin</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gervais</surname>
            ,
            <given-names>M.P.</given-names>
          </string-name>
          :
          <article-title>Metamodel and constraints co-evolution: A semi automatic maintenance of OCL constraints</article-title>
          .
          <source>In: ICSR</source>
          , Springer (
          <year>2016</year>
          )
          <fpage>333</fpage>
          -
          <lpage>349</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <surname>Anastasakis</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bordbar</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Georg</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ray</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          :
          <article-title>On challenges of model transformation from UML to Alloy</article-title>
          .
          <source>Software &amp; Systems Modeling</source>
          <volume>9</volume>
          (
          <issue>1</issue>
          ) (
          <year>2008</year>
          )
          <fpage>69</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <surname>Kuhlmann</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          , Hamann, L.,
          <string-name>
            <surname>Gogolla</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Extensive validation of OCL models by integrating SAT solving into USE</article-title>
          . In: TOOLS, Springer (
          <year>2011</year>
          )
          <fpage>290</fpage>
          -
          <lpage>306</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <surname>Bottoni</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Koch</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Parisi-Presicce</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Taentzer</surname>
          </string-name>
          , G.:
          <article-title>A visualization of ocl using collaborations</article-title>
          . In Gogolla,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Kobryn</surname>
          </string-name>
          , C., eds.
          <source>: UML</source>
          . Springer (
          <year>2001</year>
          )
          <fpage>257</fpage>
          -
          <lpage>271</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <surname>Hunsen</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zhang</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Siegmund</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          , Ka¨stner,
          <string-name>
            <given-names>C.</given-names>
            ,
            <surname>Leßenich</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            ,
            <surname>Becker</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Apel</surname>
          </string-name>
          ,
          <string-name>
            <surname>S.</surname>
          </string-name>
          :
          <article-title>Preprocessor-based variability in open-source and industrial software systems: An empirical study</article-title>
          .
          <source>Empirical Software Engineering</source>
          <volume>21</volume>
          (
          <issue>2</issue>
          ) (
          <year>2016</year>
          )
          <fpage>449</fpage>
          -
          <lpage>482</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <surname>Mengerink</surname>
            ,
            <given-names>J.G.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Serebrenik</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schiffelers</surname>
            ,
            <given-names>R</given-names>
          </string-name>
          .R.H., van den Brand, M.G.J.:
          <article-title>Automated analyses of model-driven artifacts: Obtaining insights into real-life application of MDE</article-title>
          . In: IWSM Mensura.
          <article-title>(</article-title>
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <surname>Gerpheide</surname>
            ,
            <given-names>C.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schiffelers</surname>
            ,
            <given-names>R.R.H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Serebrenik</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Assessing and improving quality of QVTo model transformations</article-title>
          .
          <source>Software Quality Journal</source>
          <volume>24</volume>
          (
          <issue>3</issue>
          ) (
          <year>2016</year>
          )
          <fpage>797</fpage>
          -
          <lpage>834</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <surname>Landman</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Serebrenik</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bouwers</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vinju</surname>
            ,
            <given-names>J.J.</given-names>
          </string-name>
          :
          <article-title>Empirical analysis of the relationship between CC and SLOC in a large corpus of java methods and C functions</article-title>
          .
          <source>Journal of Software: Evolution and Process</source>
          <volume>28</volume>
          (
          <issue>7</issue>
          ) (
          <year>2016</year>
          )
          <fpage>589</fpage>
          -
          <lpage>618</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <surname>Olszewska</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dajsuren</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Altinger</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Serebrenik</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          , Walde´n, M.A., van den Brand, M.G.J.:
          <article-title>Tailoring complexity metrics for simulink models</article-title>
          .
          <source>In: ECSA Workshops</source>
          , ACM (
          <year>2016</year>
          )
          <fpage>5</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <surname>Mann</surname>
            ,
            <given-names>H.B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Whitney</surname>
            ,
            <given-names>D.R.</given-names>
          </string-name>
          :
          <article-title>On a test of whether one of two random variables is stochastically larger than the other</article-title>
          . Ann. Math. Statist.
          <volume>18</volume>
          (
          <issue>1</issue>
          ) (03
          <year>1947</year>
          )
          <fpage>50</fpage>
          -
          <lpage>60</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <surname>Sheskin</surname>
            ,
            <given-names>D.J.:</given-names>
          </string-name>
          <article-title>Handbook of parametric and nonparametric statistical procedures</article-title>
          . CRC Press (
          <year>2003</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21] Dyba˚,
          <string-name>
            <given-names>T.</given-names>
            ,
            <surname>Kampenes</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.B.</given-names>
            ,
            <surname>Sjøberg</surname>
          </string-name>
          ,
          <string-name>
            <surname>D.I.:</surname>
          </string-name>
          <article-title>A systematic review of statistical power in software engineering experiments</article-title>
          .
          <source>IST</source>
          <volume>48</volume>
          (
          <issue>8</issue>
          ) (
          <year>2006</year>
          )
          <fpage>745</fpage>
          -
          <lpage>755</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <surname>Hintze</surname>
            ,
            <given-names>J.L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nelson</surname>
          </string-name>
          , R.D.:
          <article-title>Violin plots: A box plot-density trace synergism</article-title>
          .
          <source>The American Statistician</source>
          <volume>52</volume>
          (
          <issue>2</issue>
          ) (
          <year>1998</year>
          )
          <fpage>181</fpage>
          -
          <lpage>184</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <surname>Kalliamvakou</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gousios</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Blincoe</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Singer</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          , Germa´n,
          <string-name>
            <given-names>D.M.</given-names>
            ,
            <surname>Damian</surname>
          </string-name>
          ,
          <string-name>
            <surname>D.</surname>
          </string-name>
          :
          <article-title>The promises and perils of mining GitHub</article-title>
          . In: MSR. (
          <year>2014</year>
          )
          <fpage>92</fpage>
          -
          <lpage>101</lpage>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>