<!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>
      <journal-title-group>
        <journal-title>A. Chatzigeorgiou and G. Stephanides, Energy Metric for
Software Systems. In Software Quality Journal</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>A Learning based approach for Green Software Measurements</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Sarah Dahab</string-name>
          <email>Sarah.Dahab@telecom-sudparis.eu</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Stephane Maag</string-name>
          <email>Stephane.Maag@telecom-sudparis.eu</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Alessandra Bagnato and Marcos Aurélio Almeida da Silva</institution>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Softeam Research &amp; Development Division 8, Parc Ariane</institution>
          ,
          <addr-line>78284 Guyancourt</addr-line>
          ,
          <country country="FR">France</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Telecom SudParis</institution>
          ,
          <addr-line>CNRS UMR 5157, Univ. Paris-Saclay 9, rue Charles Fourier 91011 Evry</addr-line>
          ,
          <country country="FR">France</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2002</year>
      </pub-date>
      <volume>10</volume>
      <issue>4</issue>
      <abstract>
        <p>-Measuring specific software quality requirements in a continuous way and at runtime all along the development processes is crucial. Moreover, considering principles of measurement theory, it is still very complex to integrate green metrics in a common standardized and autonomous framework. In our approach, we propose an automated solution based on continuous analysis of SW green measurements, using at runtime a machine learning algorithm. The method allows to suggest and aid in the decision of the use of new or updated green metrics during the software measurement processes. Experiments are performed on the greentrace datasets.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>I. INTRODUCTION</title>
    </sec>
    <sec id="sec-2">
      <title>Quality of software engineering is related to technical</title>
      <p>and management factoid that has to provide useful metrics
for quality requirements. Currently the assessment of these
quality requirements is not automated, not empirically
validated in real contexts, and the assessment is often defined
without considering principles of measurement theory.
Further, it is still very complex to integrate green metrics in a
common standardized framework. Besides, it is difficult to
understand where and how to improve the software (SW)
following obtained measurements and green requirements.
The main challenges are to define adequate and useful green
metrics for quality requirements, software design documents
and other SW artefacts (e.g., testing). Most of the time, the
obtained measures are manually analyzed to target the
specific requirements that have to be improved. Further, the
ways of designing/integrating green concepts in a system, or
to measure them on a SW, are often based on know-how and
best practices transmitted between specifiers or developers.</p>
      <p>The main scientific problematics that are tackled in our
work are: (i) formally defining metrics and its supporting
tools for measuring modern SW engineering activities with
respect to green concepts, (ii) automatically analyzing the
measurement results for identifying unexpected or undesired
SW data, and (iii) the measurement process automation in
order to reduce the development time. The herein approach
proposes a highly automated and easy-to-deploy solution
based on continuous analysis of SW green measurements,
using at runtime, a machine learning algorithm. It aims at
defining, in an autonomous manner, updated green SW
metrics or new ones that can be applied to the measured
software in a recursive process. The metrics are chosen from
the analysis of the measurements and the use of a runtime
machine learning approach. Our methodology allows to
improve the SW quality, to reduce the time to process, the
software greenability and to decrease the development costs.</p>
      <p>We summarize our main contributions as it follows : (i) a
formal description of a green SW metric using the standard
SMM, (ii) an autonomous SW green measurement
framework based on a machine learning methodology to
analyze the measures at runtime, and (iii) experiments based
on the greentrace dataset illustrated our approach.</p>
      <p>The paper is built as followed: Section II provides the
state of art on green SW measurements. Section III presents
the ITEA3 project MEASURE, Section IV defines our
methodology, Section V describes the OMG standard and
experiments in Section VI before concluding in Section VII.</p>
    </sec>
    <sec id="sec-3">
      <title>Software measurement researchers provide a rich</title>
      <p>
        literature for many years now. A measurement can be
defined as “single-point-in-time data on a specific factor to
be measured" produced as “results of data collection,
analysis, and reporting”. A metric is seen as a "descriptions
of data derived from measurements” [
        <xref ref-type="bibr" rid="ref4 ref5">4, 5</xref>
        ]. However, though
SW measurements and metrics have been standardized for a
while (e.g., ISO/IEC9126 software quality [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]), green SW
metrics have been recently studied. In the following, we may
cite the ones we get inspired in this position paper. In [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], the
authors present a method to measure energy consumption of
Java source codes. In a recent Journal paper [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], a conceptual
framework is proposed. It focuses on existing techniques and
provides a useful unit of measurement for estimating the
energy consumption of software. Another interesting work
[
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] proposes an extension of the quality model standardized
in the ISO/IEC25010 standard [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] with a new characteristic,
the greenability, composed of three aspects: efficiency
optimization, user’s environmental perception, and
minimization of environmental effects. We also get inspired
by [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] that propose an interesting survey of green SW
metrics from which we modeled ours.
      </p>
      <p>
        Besides, while there is a current need for providing valid
metrics, the literature still contains a highly diverse set of
opinions on what constitutes a valid and efficient metric [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]
and in particular from an industrial perspective [
        <xref ref-type="bibr" rid="ref11 ref13">11,13</xref>
        ]. For
that purpose, learning techniques are currently arising to
effectively refine, detail and improve the used metrics and to
target more relevant measurements data. Current works such
as [
        <xref ref-type="bibr" rid="ref14 ref15 ref16 ref17">14-17</xref>
        ] raise that issue by proposing diverse kinds of
machine learning approaches for SW defect prediction
through SW metrics. However, none of them tackle the green
SW metrics suggestion at runtime by using semi-supervised
machine learning methods. This is the objective of the
approach we herein propose.
      </p>
    </sec>
    <sec id="sec-4">
      <title>III. THE ITEA3 MEASURE PROJECT</title>
    </sec>
    <sec id="sec-5">
      <title>The MEASURE (Measuring Software Engineering)</title>
      <p>
        ITEA3 project has started in December 2015 [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. Its goal is
to increase the quality and efficiency as well as reduce the
costs and time-to-market of software engineering in Europe.
By implementing a comprehensive set of tools for automated
and continuous measurement, this project provides a toolset
for future projects to properly measure their impact. More
importantly, it opens a new field for innovation. The
innovation is in the advanced analytics of the measurement
data presented in that paper. Within the MEASURE project,
the OMG's Structured Metrics Meta-Model (SMM) has been
selected as a standard to model that.
      </p>
    </sec>
    <sec id="sec-6">
      <title>IV. OUR LEARNING BASED MEASUREMENT APPROACH</title>
      <p>
        As above mentioned, we aim at improving the software
measurement processes by focusing on an autonomous SW
green metric framework. This approach is based on a
learning methodology allowing to analyze the results at
runtime and during all along the software development
process. Indeed, the main objective is to guide the
measurements in a smart way by automatically refining it.
Based on the measurements analysis and its interpretation,
the next metric to be executed will be determined. It can be a
novel metric which is the intersection of several metrics or
one metric of the set initially defined. Then, they are
provided as inputs to a new SW measurement cycle
(containing notably the analysis and metric generation). By
that way, a continuous measurement process on the SW
architecture is defined, allowing, for each cycle, to execute
the refined metrics or other metric, and to target suspicious
failing aspects that could eventually cause green deficiencies.
The Fig. 1 illustrates our approach. To perform the
measurement cycle, our approach uses a machine learning
process. From well-defined measurements classifications,
based on expert decisions or known datasets, and obtained
experimented results, we intend to detect suspicious or faulty
values. We target specific quality aspects of the measured
SW by applying, at runtime, new updated sets of metrics.
The S3VM (Semi-Supervised Support Vector Machines)
learning method [23] is herein used. Semi-Supervised
techniques allow a smart analyze in real time and during all
the development process. The learning process occurs on the
results of measures (measurements) applied on the software
architecture. For that purpose, two datasets are needed: one
for training, one for working. Training data are labeled and
working data working are unlabeled. Based on training data,
a Semi-Supervised algorithm is learning on working data, to
provide a separating hyperplane that classifies data into
different categories. The S3VM features aim at adding two
constraints to each working data in order to minimize the
classification errors. In our approach, we aim at using a set
of green software metrics values, the “greentrace” dataset
from the PROMISE public repository [19]. Greentrace
contains the mean power consumption and the corresponding
invocation count of system calls [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ].
      </p>
    </sec>
    <sec id="sec-7">
      <title>V. THE SOFTWARE METRICS META-MODEL</title>
    </sec>
    <sec id="sec-8">
      <title>In our framework, our metrics will be specified in SMM</title>
      <p>using the tool Modelio [24]. One of our aims is to allow that
tool to refine the running metrics into a continuous
measurement process. We plan to obtain the green SW
measurements using specific SW tools such as MMT
provided by Montimage, a MEASURE partner.</p>
      <sec id="sec-8-1">
        <title>A. The OMG SMM standard</title>
        <p>
          The version 1.1.1 of the SMM specification [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ] defines a
meta-model for representing measurement information
related to any model structured information with an initial
focus on software, its operation, and its design. This
specification is an extensible meta-model for exchanging
both measures and measurement information concerning
artefacts contained or expressed by structured models, such
as MOF. SMM includes elements representing the concepts
needed to express a wide range of diversified measures. With
SMM, we can specify measures and their respective
measurement results. The measure definitions make up the
library of measures that serves to establish the specification
upon which all of the measurements will be based.
        </p>
        <p>As illustrated in the Fig. 2, the SMM meta-model allows
to represent abstract Measures and concrete Measurements.
For example, it would allow to represent a measure like
Lines of Code and a measurement like File X has 537 lines
of code. A SmmModel contains therefore MeasureLibraries
and Observations. Measures are grouped into
MeasureLibraries so that they can be shared among different
projects and tools. Each Observation represents an
observation performed by an observer, with a tool on a given
moment (whenObserved). An observation produces a set of
ObservedMeasures, each of them related to one specific
Measure, and for this measure, a set of Measurements.</p>
      </sec>
      <sec id="sec-8-2">
        <title>B. The Modelio Tool</title>
        <p>Modelio [24] is a modeling environment based on UML
(Unified Modeling Language). It defines all UML concepts
as mainly Interface, Class, Package, Attribute, Property,
etc., and relationships between those entities as inheritance,
implementation, association etc. Modelio allows to model
software and business architectures and to generate XMI
files from a model. From a model, it supports the code
generation to C or Java. Modelio supports several OMG’s
standards like SysML, MARTE, SoaML, UTP and SMM.
This environment offers the possibility to extend its
functionalities with the module addition which allows to
create a new concept by specifying existing concepts.</p>
      </sec>
    </sec>
    <sec id="sec-9">
      <title>VI. EXPERIMENTS AND RESULTS</title>
      <p>
        Our approach is applied on a real case study as defined in
[
        <xref ref-type="bibr" rid="ref18">18</xref>
        ], by using the Computational Energy Cost metric [20].
The experiments are performed on a Java-based SW. The
computational cost is determined by CPU processing,
memory access, and I/O operations costs.
      </p>
      <p>As defined in [20], to compute the Computational Energy
Cost of a Java-based software at component-level (public
interface), it is necessary to compute the energy costs of the
architecture JVM’s bytecodes, its native methods and its
monitor mechanism execution while the interface method is
invoked. The monitor mechanism, provided by the JVM, is
used to manage threads synchronization.</p>
      <p>To specify the Computational Energy Cost metric
(CECm) in SMM, we define three measures which refer to
those three cost types. One for the bytecodes execution cost
called BytecodesMeasure (BM), one for the cost of native
methods invoked called NativeMethodMeasure (NMM) and
one for the monitor mechanism cost called MonitorMeasure
(MM). We modeled the Computational Energy Cost metric
in SMM using Modelio. The model is illustrated in the Fig.
3. This model is made of two SMM packages: Measure
Library contains all aspects about measures and Observation
contains the measure results. For each measure, a
measurement is modeled by a UML class in the Observation
package. Each of them is linked to its associated measure by
an association UML link called ObservedMeasure.
Concerning the Measure Library package, the three measures
are modeling by a UML class and are associated to their unit
of measure class called Joule, by an association link called
UnitLink. Those are associated to a Scope element named
JVM that defines the domain of measurement. The three
measures compute different values of the same domain and
return the same unit of measure. That is the reason why they
are associated to the same Scope with a ScopeLink and Unit
element. We reason in a similar way for the Characteristic
element called EnergyConsumption. It computes the energy
consumption of elements of the same domain. The measure
elements are matched to their characteristic by the TraitLink.</p>
      <p>In our experiments, we aim at measuring the
computational energy cost of a Java-based application as a
mailbox call, which offers services such as sending,
removing and saving data. During its real use by a user and
as above-mentioned, our approach is learning on the
greentrace dataset and obtains the three values corresponding
to CECm measurements applied on that Java-based
application. Each value is classified by the S3VM algorithm
within two categories: suspicious value and not suspicious
value. This classification is based on expert decisions
concerning the threshold for this type of measurement.
Herein the threshold is set to 20. Results strictly higher than
20 may reveal an issue. When the classification is done, the
detected suspicious values are analyzed to determine the best
next metric to run: one already defined or a correlation of
several already existing metrics which is more specific to the
measure of the corresponding suspicious value.</p>
      <p>
        For instance, in our experiments, we obtained the
following CECm measurements as illustrated in the Table 1.
Based on [
        <xref ref-type="bibr" rid="ref18">18, 20</xref>
        ], we note that NMM and MM results are
higher than the threshold determined by the SV3M algorithm
applied on the greentrace dataset. They are then classified as
suspicious values. These two costs are closely related to
other green metrics. Indeed, NMM assesses the I/O
utilization energy consumption and MM the data memory
access energy consumption of the measured application.
Thereby, the analyzing step of our prototype will generate
two metrics whose their measurements focus on the concepts
that highlight the obtained suspicious values:
- The I/O Usage Metric [21] measures the percentage of
occupation of the I/O device and the number of messages
transferred by an application over a system component set.
- The Memory Access Count Measure [22] that measures the
number of memory accesses to the data memory.
      </p>
      <p>They are used to execute, recursively, a novel green software
measure process cycle to determine an application anomaly.</p>
    </sec>
    <sec id="sec-10">
      <title>VII. CONCLUSION AND PERSPECTIVES</title>
      <p>In this paper, we presented a novel autonomous software
green measurement framework based on a machine learning
methodology. It allows to improve the actual sequential and
trace measurement process by analyzing the measures results
in real time. We aim at improving the next measurement
cycle to have information of possible failure during the
development process. This smart measurement is then
applied to the measured application (or system, service,
embedded component, etc.) in an autonomous and recursive
manner. Experiments based on the greentrace dataset are also
performed to illustrate the feasibility of our approach.</p>
      <p>Currently, our approach is based on the greentrace
dataset while the common knowledge, good practices and
know-how of the practitioners are not available online
through a database or dataset. We plan to use such concepts
to allow a better and refined learning classification (&gt;2
classes) to improve the “metric management”. Further,
through the MEASURE project, we expect to integrate our
approach in a whole tool chain from the SMM modeling to
the metric execution and measurements analysis.</p>
    </sec>
    <sec id="sec-11">
      <title>ACKNOWLEDGMENT</title>
    </sec>
    <sec id="sec-12">
      <title>The research leading to these results was partially funded</title>
      <p>by the ITEA3 project 14009, MEASURE.
[19] PROMISE, greentrace dataset,
http://openscience.us/repo/greenmining/greentrace.html</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          <article-title>[1] ITEA3 MEASURE project</article-title>
          , http://measure.softeam-rd.
          <source>eu/</source>
          ,
          <year>2015</year>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>OMG</given-names>
            ,
            <surname>Structured Metrics</surname>
          </string-name>
          Meta-model
          <source>(SMM), version 1.1</source>
          .1, http://www.omg.org/spec/SMM/1.1.1/, April 2016
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          <source>[3] ISO/IEC 9126-1: Software engineering - Product quality - Part</source>
          <volume>1</volume>
          :
          <string-name>
            <surname>Quality</surname>
            <given-names>model</given-names>
          </string-name>
          , June, 2001
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <surname>R. M.</surname>
          </string-name>
          <article-title>Savola : A security metrics taxonomization model for software-intensive systems</article-title>
          .
          <source>Inf. Processing Systems</source>
          <volume>5</volume>
          (
          <issue>4</issue>
          ),
          <fpage>2009</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>R. B.</given-names>
            <surname>Vaughn</surname>
          </string-name>
          et al.,
          <article-title>Information assurance measures and metrics - state of practice and proposed taxonomy</article-title>
          .
          <source>In the Proc. of the 36th IEEE Hawaii International Conf. on System Sciences</source>
          ,
          <year>2003</year>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>J.</given-names>
            <surname>Rocheteau</surname>
          </string-name>
          et al.,
          <source>How Green Are Java Best Coding Practices</source>
          ,
          <source>In Proc. 3rd Int. Conf. SMARTGREENS</source>
          , Barcelona, Spain 2014
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>L.</given-names>
            <surname>Ardito</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Procaccianti</surname>
          </string-name>
          , et al.,
          <article-title>Understanding green software development: A conceptual framework</article-title>
          . IT Prof.,
          <volume>17</volume>
          (
          <issue>1</issue>
          ),
          <fpage>2015</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>C.</given-names>
            <surname>Calero</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.A.</given-names>
            <surname>Moraga</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.F.</given-names>
            <surname>Bertoa</surname>
          </string-name>
          and
          <string-name>
            <given-names>L.</given-names>
            <surname>Duboc</surname>
          </string-name>
          ,
          <article-title>Quality in Use and Software Greenability</article-title>
          ,
          <source>In Proc. RE4SuSy@RE</source>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          <article-title>[9] ISO/IEC25010: Systems and software engineering -- Systems and software Quality Requirements and Evaluation (SQuaRE) -- System and software quality models</article-title>
          ,
          <source>March</source>
          , 2011
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>P.</given-names>
            <surname>Bozzelli</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Q.</given-names>
            <surname>Gu</surname>
          </string-name>
          and
          <string-name>
            <given-names>P.</given-names>
            <surname>Lago</surname>
          </string-name>
          ,
          <article-title>A systematic literature review on green software metrics</article-title>
          . VU University, Amsterdam,
          <year>2013</year>
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>E.</given-names>
            <surname>Bouwers</surname>
          </string-name>
          et al.,
          <article-title>Evaluating usefulness of software metrics: an industrial experience report</article-title>
          .
          <source>In Proc. of the IEEE Int. Conf. on Software Engineering (ICSE)</source>
          . Piscataway, NJ, USA,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>A.</given-names>
            <surname>Meneely</surname>
          </string-name>
          et al.,
          <article-title>Validating software metrics: A spectrum of philosophies</article-title>
          .
          <source>ACM Trans. Softw. Eng. Methodol</source>
          .
          <volume>21</volume>
          ,
          <issue>4</issue>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <surname>Barbara</surname>
            <given-names>Kitchenham</given-names>
          </string-name>
          ,
          <article-title>What's up with software metrics ? - A preliminary mapping study</article-title>
          ,
          <source>J. Syst. Softw</source>
          .
          <volume>83</volume>
          ,
          <issue>1</issue>
          ,
          <fpage>37</fpage>
          -
          <lpage>51</lpage>
          ,
          <year>2010</year>
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>I.H.</given-names>
            <surname>Laradji</surname>
          </string-name>
          et al.,
          <article-title>Software defect prediction using ensemble learning on selected features</article-title>
          .
          <source>Inf. and Soft. Technology</source>
          ,
          <volume>58</volume>
          ,
          <year>2015</year>
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <surname>Wei</surname>
          </string-name>
          ,
          <string-name>
            <surname>Xiong</surname>
          </string-name>
          , et al.
          <source>An Embedded Software Power Consumption Model based on Software Architecture and Support Vector Machine Regression</source>
          ,
          <source>International Journal of Smart</source>
          Home Vol.
          <volume>10</volume>
          , No.
          <issue>3</issue>
          , pp.
          <fpage>191</fpage>
          -
          <lpage>200</lpage>
          ,
          <year>2016</year>
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <surname>Manjula.C.M. Prasad</surname>
          </string-name>
          , et al.,
          <source>A Study on Software Metrics based Software Defect Prediction using Data Mining and Machine Learning Techniques, Int. J. of Datab. Th. and App</source>
          .,
          <volume>8</volume>
          (
          <issue>3</issue>
          ),
          <fpage>2015</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>M.</given-names>
            <surname>Monperrus</surname>
          </string-name>
          , et al.,
          <article-title>Model-driven generative development of measurement software</article-title>
          ,
          <source>Softw &amp; Systems Modeling</source>
          ,
          <volume>10</volume>
          (
          <issue>4</issue>
          ),
          <fpage>2011</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>C.</given-names>
            <surname>Zhang</surname>
          </string-name>
          and
          <string-name>
            <given-names>A.</given-names>
            <surname>Hindle</surname>
          </string-name>
          ,
          <article-title>A green miner's dataset: mining the impact of software change on energy consumption</article-title>
          .
          <source>In : Proceedings of the 11th ACM Working Conf. on Mining Software Repositories</source>
          ,
          <year>2014</year>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>