<!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>September</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>Automated COSMIC Measurement of Java Swing Applications throughout their Development Life Cycle</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Nadia Chamkha</string-name>
          <email>nadia.chamkha@gmail.com</email>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Asma Sellami</string-name>
          <email>asma.sellami@isims.usf.tn</email>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Alain Abran</string-name>
          <email>alain.abran@etsmtl.ca</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Department of Software Engineering and I.T., ETS -University of Quebec</institution>
          ,
          <country country="CA">Canada</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2018</year>
      </pub-date>
      <volume>1</volume>
      <fpage>8</fpage>
      <lpage>20</lpage>
      <abstract>
        <p>In highly competitive organizations, measurement is crucial to control projects to meet customer requirements. Despite some successes in software, there are few mechanisms for the developers to rapidly and objectively verify and track the amount of functionality to be delivered. COSMIC - ISO 19761 functional size measurement can be used to keep track of software through its development life cycle. In this paper, we propose a “JavaCFP” plugin tool for measuring the COSMIC functional size of java source code being developed. This JavaCFP tool can be used for controlling the completeness of implemented functionality against specified requirements, for identifying deviations and for generating progress reports on the implementation of new functions. JavaCFP was developed in NetBeans IDE and the “C-REG” case study is used as an example to illustrate this plugin.</p>
      </abstract>
      <kwd-group>
        <kwd>COSMIC method</kwd>
        <kwd>Functional size measurement</kwd>
        <kwd>Java swing application</kwd>
        <kwd>Automated measurement</kwd>
        <kwd>Plugin</kwd>
        <kwd>ISO 19761</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        A crucial task for software project management is to evaluate what percent of the
promised functionality has been completed or, while the code is being written, how
much functionality remains to be developed. A timely and objective evaluation is a
key factor for tracking project progress, decision making, monitoring, and so on. A
project might appear to be successful if it is within the ‘approved’ budget but, without
the ability to verify that all the promised functions have been delivered, there is
always a possibility that only a portion of the corresponding promised functions has
indeed been delivered for the budget approved for the full set of functions: therefore,
when less functions are delivered within the initially estimated budget, it is then
improper to claim that the budget estimates were correct [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. Many software projects
have been canceled after large investments of effort, time, and money because of both
inadequate initial estimating and no objective determination of the status of the work
products leading to a credible re-estimation of a completion date or the cost to
complete the project for its approved scope [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ].
      </p>
      <p>Thus, software developers need a rapid mean to objectively measure the amount of
work done. Such a measurement mean would provide all stakeholders (developers,
managers, suppliers, customers, etc.) with an objective basis to monitor and control
the completeness of functional requirements.</p>
      <p>
        For the measurement of functional requirements, many researchers have proposed
to automate the COSMIC Function Points (ISO 19761) method for the sake of less
human involvement, such as in [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], and high accuracy for the measurement
tool proposed by Soubra [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] in the context of software requirements documented
in a specification tool format, such as in [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ] [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ]
[
        <xref ref-type="bibr" rid="ref18">18</xref>
        ]. However, these studies did not tackle the on-going monitoring of projects
throughout the development lifecycle.
      </p>
      <p>This paper proposes a tool for sizing java swing applications while they are being
developed, and its use throughout the software development life cycle. This tool is
mainly based on the COSMIC measurement process. The remaining of this paper is
structured as follows. Section 2 presents an overview of the COSMIC method and
some related works on COSMIC automation. Section 3 presents the COSMIC
measurement process for sizing Java Swing applications. Section 4 illustrates our
measurement through the case study “C-REG” source code. Section 5 illustrates the
implementation of “JavaCFP” with a comparison among tools based on metrology
concepts. Finally, section 6 presents some conclusions and suggestions for further works.
2
2.1</p>
    </sec>
    <sec id="sec-2">
      <title>Background</title>
      <sec id="sec-2-1">
        <title>Overview of the COSMIC Method</title>
        <p>
          The COSMIC – ISO 19761 method offers a standard way of sizing the functional user
requirements (FUR) of all types of software developed in any type of environment. It
can be applied in any of the software life-cycle phases, from the requirements to their
implementation in code. Basically, COSMIC measures the software functional size
from the FUR representing the “user practices and procedures that the software must
perform” as mandated by ISO 14143 [
          <xref ref-type="bibr" rid="ref19">19</xref>
          ]. COSMIC defines a three-phase process for
measuring the functional size of software: the measurement strategy phase, the
mapping phase, and the measurement phase [
          <xref ref-type="bibr" rid="ref20">20</xref>
          ].
─ The measurement Strategy Phase: it includes the identification of a number of
measurement context parameters to ensure that the measurement results can be
correctly interpreted in the future. These parameters involve the Purpose of
measurement and the Scope of the software to be measured. The output of the strategy
phase is the “Software Context Model” including the identification of the software
Layers, their Functional users, the level of granularity of the documentation and the
identification of the Persistent storage of the piece of software to be measured.
─ The mapping phase: in this phase, the FUR are mapped to the COSMIC “Generic
Software Model”. Each FUR involves a number of functional processes (FP) where
each consists of a set of functional sub-processes that move data or manipulate
data. For instance, a data movement moves a single data group from/to a user
(respectively Entry and eXit data movement) or from/to a persistent storage
(respectively Read and Write data movement).
─ The Measurement phase: In this ISO standard, each data movement of a single data
group is assigned a measurement unit of 1 CFP (COSMIC Function Point). The
software functional size is computed by adding all data movements identified for
every functional process.
2.2
        </p>
      </sec>
      <sec id="sec-2-2">
        <title>Related work on COSMIC automation with Java</title>
        <p>
          The automation of COSMIC method has gained interest in managing software
projects: automation can help practitioners to measure objectively and quickly the size of
their software through the software life-cycle, from early development phase [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ] [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ]
[
          <xref ref-type="bibr" rid="ref4">4</xref>
          ] [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ] [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ] [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ] [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ] [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ] to the late coding phase ( [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ], [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ], [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ], [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ], [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ]). The
focus of this related work section is on FSM automation in the coding phase. For
instance:
─ Akca et al. [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ] proposed a semi-automated functional size measurement of the
source code in "three_tier java business application" using COSMIC version 3.0.1.
This measurement is achieved by the use of a self-developed "measurement
library" of functional processes that are triggered via the GUI of the application. The
measurement results led to 92% accuracy as compared to the manual measurement.
─ Akca et al. [
          <xref ref-type="bibr" rid="ref21">21</xref>
          ] proposed to compare the costs of semi-automatic and manual
measurements of three case studies. The results showed that the automatic process
can reduce measurement costs by up to 280% compared to the manual
measurement when integrated at the beginning of the coding phase.
─ Sag et al. [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ] [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ] proposed a COSMIC measurement tool (‘Cosmic Solver’) of
source or binary code. They proposed a number of rules to derive UML Sequence
Diagrams from the software execution at runtime with AspectJ technology.
‘Cosmic Solver’ was demonstrated using a three-tier Java business application sample.
The functional size extracted by the prototype was 96,8% convergent to the one
obtained by manual measurement.
─ Gonultas et al. [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ] proposed to automate COSMIC for GUI Web Java business
applications based on a three-tier architecture. Like [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ], the automation was
limited to developing a “Measurement Library” requiring the installation of Java
application code. The library can be used only for applications with a specific
architecture that use technologies of JSF, Spring and Hibernate. The automated
measurement converged by 94% to the manual measurement and also reduced
measurement duration by about 97% (e.g., 1/34 of manual measurement effort). Small
accuracy deviations were related to the technology and to the parsing method.
 Source_object is a “Swing Control”
 Evt_type ≡ Xxx is an event type attached to “Swing Control” (Action,
        </p>
        <p>Item, Text, Menu etc.)
 Listner_object is an instance of the class implementing XxxListener
─ Functional process: corresponds to the invoked event-handler or the invoked
callback method (e.g. NameOfMethodActionPerformed(),
NameOfMethodWindowClosing()). Once an event occurs for which there is a listener,
the source event calls the method which is provided in the listener. Such a method
is known as a callback method or event-handler method written as follows:
public void &lt;callback_method&gt; (&lt;Evt_type&gt;Event event)
{ &lt;invoked_callback_method&gt;(event); }
─ Object of interest: An object of interest could not have only one corresponding
object in Java. Assuming that each event listener interface is associated to an
invoked callback method (i.e. one FP), the object of interest will correspond to the
java object class. Else, it will correspond to a set of attributes derived from two or
more object classes. In Java Swing the object-class is declared as public class:
public class &lt;NameOfObject&gt; extends Object
─ Data Group: corresponds to the data fields (TextField, List,
Password</p>
        <p>Field, radioButton, etc.) describing the same object of interest.
─ Data attribute: corresponds to each data field of each object class (such as simple
object, inheritance, composition, aggregation) or derived attributes from two or
more object classes.</p>
        <p>The alignment of the COSMIC concepts with those of java swing applications as
described above is crucial for identifying a set of mapping rules (RP1 to RP10) in
Table 2. These rules could be applied in general and used to generate the
measurement rules (RM1 to RM 4) in Table 3 and (RM5 and RM6) in Table 4, and their
corresponding measurement formulae.
3.3</p>
      </sec>
      <sec id="sec-2-3">
        <title>The Measurement Phase</title>
        <p># Rule
RM1 Each java method such as getText(), getSelectedItem(),
showInputDialog(), getValueAt() should be classified as Entry data movement
when triggered by the same event listener.</p>
        <p>RM2 Each java method such as setText(), showOptionDialog(),
showInternalMessageDialog(),
showInternalOptionDialog(),showInternalConfirmDialog(), showMessageDialog(),
NotifyDescriptor.Message(), addItem(), Append(),
System.out.println() should be classified as eXit data movement and triggered by
the same event listener.</p>
        <p>RM3 Each java syntax [SELECT…executeQuery] should be classified as Read data
movement and triggered by the same event listener.</p>
        <p>RM4 Each java syntax such as INSERT…executeUpdate, delete from …
executeUpdate, update… executeUpdate should be classified as Write data
movement and triggered by the same event listener.
# Rule
RM5 The FS of the java Source code (or GUI with its FUR documentation) is equal to the
sum of the sizes of its functional processes (FP).</p>
        <p>RM6 For each Invoked Callback_Method (i.e. FP), the FS of the Invoked Callback_Method
is equal to the number of its data movements.
─ First, we implemented the FUR (Maintain Student Data) of “C-REG” in NetBeans.</p>
        <p>Due to space limitation, we present here only the GUI of the Functional Process
“Add Student’s details” (Fig. 1) and its corresponding piece of code (Fig. 2) in
which the extracted data movement types are presented.
─ Second, we present in details how to measure the Functional Size of the functional
process (FP) “Add Student’s details” manually from the code.</p>
        <p>
          By applying formula (2), the functional size of the FUR ‘Add student’s details is
equal to 4 CFP - see below formula (2) for FS(“ADD Student’s details”). This
measurement result is the same as provided in [
          <xref ref-type="bibr" rid="ref22">22</xref>
          ].
 (_()) =
        </p>
        <p>4
∑=1  1
=  11 +  12 +  13 +  14
=  1 ×  +  2 ×  +  3 ×  +  4 × 
= 1 + 2 + 0 + 1</p>
        <p>= 4 
 1 = 1 (four similar functions getText())
 2 = 2 (one setText() and two similar functions showMessageDilog())
 3 = 0 (no function associated to Read data movement)
 4 = 1 (one function insert into…executeUpdate)
5
5.1</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Sizing Automatically Java Swing Application</title>
      <sec id="sec-3-1">
        <title>Implementation</title>
        <p>This section illustrates the implementation of “JavaCFP” with a comparison among
tools based on metrology concepts. This tool is called “JavaCFP” which is a
NetBeans plugin that implements our proposed measurement formulae (section 3.3). By
using this tool, software developers will be able to generate:
─ The functional size of Java Swing applications being written and after their
development in the NetBeans environment (e.g., the functional sizes of each Entry, eXit,
Read and Write of any java Method triggered by an event).
─ The functional size of Java Swing applications after making a functional change
(i.e., the added/modified method).
─ Useful information to verify if the implemented functionality meets the COSMIC
rules. Examples:
 detection of missing Entry data movement in a functional process.;
 information on the development progress reflecting the development of a
new/modified functional process.</p>
        <p>
          To illustrate how our “JavaCFP” plug-in tool works, we use as an example the
piece of code associated with the “Maintain Student Data” in “C-REG” case study
[
          <xref ref-type="bibr" rid="ref22">22</xref>
          ]. Fig. 3 shows the screen where the GUI functional size is generated. Note that the
measurement results provided by “JavaCFP” tool are the same as those provided
manually in [
          <xref ref-type="bibr" rid="ref22">22</xref>
          ].
        </p>
        <p>Fig. 4 gives some snapshots of the “JavaCFP” tool. Only four interfaces are
presented.</p>
        <p>1
3
4</p>
        <p>2</p>
        <p>Interface 1 is used to select the piece of code to be measured. Of course, the code
should be implemented in NetBeans IDE. By clicking the icon “JavaCFP” plugin in
the toolbar, a dialog box appears in interface 2 asking whether the tool user wishes to
keep track or not of the previous measurement results (e.g., the software functional
size can be generated while the coding is in progress and after the coding is
completed). In interface 3, “JavaCFP” automatically generates the functional size of the piece
of code in terms of CFP units at a point in time during its development. Interface 3
also provides detailed information about the functional size of each data movement
type (E, X, R, and W). Note that the real execution time (processing time) per second
is provided as the program is executed. For instance, interface 3 exhibits the
processing time which is about 46 seconds for 15 CFP developed including 997 LOC.
These measurement results can be documented into Microsoft Excel format through
Interface 4.</p>
      </sec>
      <sec id="sec-3-2">
        <title>5.2 Comparison</title>
        <p>
          In this section, we use some of the concepts from the ISO International Vocabulary
on Metrology (e.g., measurement method, measurement procedure, devices
for measurement, accuracy of measuring devices, and indicating measuring
instrument) [
          <xref ref-type="bibr" rid="ref23">23</xref>
          ] [
          <xref ref-type="bibr" rid="ref24">24</xref>
          ] [
          <xref ref-type="bibr" rid="ref25">25</xref>
          ] as criteria for comparison among the proposed COSMIC-based
tools.
─ Measurement method: since the COSMIC method behind the tool is well-designed,
all the proposed tools [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ] [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ] [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ] should provide the adequate functional size of
swing applications.
─ Measurement procedure: it is necessary to run GUI for all the proposals [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ] [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ]
[
          <xref ref-type="bibr" rid="ref14">14</xref>
          ].
 In [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ], the measurement procedure is divided into three steps. The first step
consists of recording the data movement. The second one includes the
discovery of functional processes. The third step consists of counting the data
movements in each functional process to provide the code functional size.
 In [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ] the authors start with creating notifications for COSMIC data
movement sub-types. After that, they identify the functional processes and calculate
their CFP sizes.
 In [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ] four steps are proposed: (1) generate sequence diagrams from code
(Java source or binary), (2) get its text version to (3) capture data movements
and data manipulation through AspectJ, (4) extract the functional execution
traces from user execution.
 Our JavaCFP tool identifies the FUR of the selected Java Swing application
(without any execution) directly from the source code in the "Source
Packages". Then, for each .java file (JFrame form), we identify the triggering event
from Event listener attached to "Swing Controls". Then, we identify the
functional process (FP) from invoked callback_methods. For each FP, we identify
the different data attributes belonging to the data groups where each data
group describes the same object class. Finally, the details of measuring the
functional size of each FP are provided by using measurement formulae (1)
and (2).
─ Devices for measurement
 [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ] proposed a semi-automated measurement library for GUI Java
application.
 [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ] proposed an automated tool “static code installer” that used a library
component.
 [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ] proposed an automated instrument named “Cosmic Solver”.
 we proposed an automated JavaCFP tool that can be used directly either when
the code is being developed or after code completion.
─ Measurement accuracy: a measurement is said to be more accurate when it has a
smaller measurement error.
 In [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ], the authors reported that the use of the library from a “student
registration” system led to a corresponding ratio of 92% between the code functional
sizes calculated automatically against those calculated manually.
 In [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ] the automatic measurement converges by 94% compared to the manual
one.
 In [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ] numbers are quite similar with 96,8% convergence.
 In our proposal, the measurement results obtained manually and automatically
by “JavaCFP” are similar: it gives the details with 100% of measurement
accuracy, including the same functional processes with their detailed
descriptions. It guarantees the accuracy of measurement at any time during the code
implementation..
─ Indicating measuring instrument: compared to the other proposed tools in [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ] [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ]
[
          <xref ref-type="bibr" rid="ref16">16</xref>
          ], our JavaCFP tool provides an indication of deviations (e.g., programming
defects) when there is a “COSMIC rules violation” illustrating the part of the code
not yet completed, and the “development progress” that indicates the current
development of a new or modified functional process.
6
        </p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Conclusions</title>
      <p>This paper has presented the JavaCFP tool that can be used as a basis to assist the
developers in writing their java swing applications and generating the COSMIC
functional size of that application at any time during its development lifecycle. This
JavaCFP tool can be used by developers having different programming styles and even
when they are not familiar with COSMIC method. A condition is that each event
listener interface should be associated to only one object.</p>
      <p>Throughout this paper, we first extracted the java concepts that can be mapped
with COSMIC concepts, and generated the mapping rules, measurement rules and
formulae that allow measuring manually the COSMIC functional size of swing
application. After that from these formulae, we proposed the “JavaCFP” tool to help
developers generate automatically the COSMIC size of swing application while it is
being written. The benefits of using “JavaCFP” are not limited to generating
automatically the software functional size: JavaCFP also detects which functionalities are
omitted or added within a method (e.g. missing Entry), and identifies the current
development progress (new or modified functional process).</p>
      <p>Tool users can also verify the completeness of the implemented functionality
against specified FUR for tracking project progress purposes. The COSMIC size of
java swing application can be measured very precisely when the FUR are described
without uncertainty.</p>
      <p>In further works, we will use machine learning concepts for the identification of
the objects of interest in the swing code. We will investigate the variation of
measurement results when functional changes and improvements occurred in the code. We
will also investigate the benefits of the proposed tool in industry, including for
measuring the project productivity and the data collection for future estimation needs.
an MDA Environment. the international conference on Product-Focused Software Process
Improvement (PROFES '08), Andreas Jedlitschka and Outi Salo (Eds.). Springer-Verlag,
Berlin, Heidelberg, 2008.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>A.</given-names>
            <surname>Abran</surname>
          </string-name>
          ,
          <article-title>Software Project Estimation: The Fundamentals for Providing High Quality Information to Decision Makers, Wiley-</article-title>
          IEEE Press,
          <year>2015</year>
          , p.
          <fpage>261</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>R. E.</given-names>
            <surname>Fairley</surname>
          </string-name>
          , Managing and Leading Software Projects, Wiley-IEEE Computer Society (c) 2009
          <source>, ISBN 978-0470-29455-0</source>
          ,
          <issue>p510</issue>
          ,
          <year>February 2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>M. S.</given-names>
            <surname>Jenner</surname>
          </string-name>
          ,
          <article-title>"Automation of Counting of Functional Size Using COSMIC-FFP in UML,"</article-title>
          12th International Workshop Software Measurement- IWSM, Magdeburg, Germany,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>Z.</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Nonaka</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Kakurai</surname>
          </string-name>
          and
          <string-name>
            <given-names>M.</given-names>
            <surname>Azuma</surname>
          </string-name>
          ,
          <article-title>"Measuring functional size of interactive software: a support system based on XForms-format user interface specifications,"</article-title>
          <source>Third International Conference (QSIC'03)</source>
          , Dallas, Texas,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>N.</given-names>
            <surname>Condori-Fernandèz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Abrahão</surname>
          </string-name>
          and
          <string-name>
            <given-names>O.</given-names>
            <surname>Pastor</surname>
          </string-name>
          ,
          <article-title>"On the Estimation of Software Functional Size from Requirements Specifications,"</article-title>
          <source>Journal of Computer science and Technology</source>
          . Vol.
          <volume>22</volume>
          , pp.
          <fpage>358</fpage>
          -
          <lpage>370</lpage>
          . URL:http://citeseerx.ist.psu.edu/viewdoc/download?doi
          <source>=10.1.1.144.5364&amp;rep=rep1&amp;typ e=pdf, 1 Mai</source>
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>S.</given-names>
            <surname>Barkallah</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Gherbi</surname>
          </string-name>
          and
          <string-name>
            <given-names>A.</given-names>
            <surname>Abran</surname>
          </string-name>
          ,
          <article-title>"COSMIC Functional Size Measurement Using UML Models," in Software Engineering, Business Continuity, and</article-title>
          <string-name>
            <surname>Education</surname>
          </string-name>
          , Communications in Computer and Information Science,
          <source>International Conferences ASEA, DRBC and EL</source>
          <year>2011</year>
          ,
          <article-title>Held as Part of the Future Generation Information Technology Conference</article-title>
          ,
          <source>FGIT 2011</source>
          , Volume
          <volume>257</volume>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>H.</given-names>
            <surname>Soubra</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Abran</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Stern</surname>
          </string-name>
          and
          <string-name>
            <given-names>A.</given-names>
            <surname>Ramdan-Cherif</surname>
          </string-name>
          ,
          <article-title>"Design of a Functional Size Measurement Procedure for Real-Time Embedded Software Requirements Expressed using the Simulink Model,"</article-title>
          <source>Joint Conference of the 21st Int'l Workshop on Software Measurement and 6th Int'l Conference on Software Process and Product Measurement - IWSM-MENSURA</source>
          , Nara, Japan,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>H.</given-names>
            <surname>Soubra</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Abran</surname>
          </string-name>
          and
          <string-name>
            <given-names>A.</given-names>
            <surname>Ramdane-Cherif</surname>
          </string-name>
          ,
          <article-title>"Verifying the Accuracy of Automation Tools for the Measurement of Software with COSMIC -</article-title>
          -
          <source>ISO 19761 Including an AUTOSAR-Based Example and a Case Study," Joint Conference of the International Workshop on Software Measurement and the International Conference on Software Process and Product Measurement</source>
          , DOI: 10.1109/IWSM.Mensura.
          <year>2014</year>
          .
          <volume>26</volume>
          ,
          <string-name>
            <surname>Rotterdam</surname>
          </string-name>
          , The Netherlands,
          <fpage>6</fpage>
          -
          <lpage>8</lpage>
          Oct.
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>V.</given-names>
            <surname>Bévo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Lévesque</surname>
          </string-name>
          and
          <string-name>
            <given-names>A.</given-names>
            <surname>Abran</surname>
          </string-name>
          ,
          <article-title>"Application de la méthode FFP à partir d'une spécification selon la notation UML: compte rendu des premiers essais d'application et questions,"</article-title>
          <source>9th International Workshop Software Measurement - IWSM</source>
          , Lac Supérieur, Canada,
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <given-names>S.</given-names>
            <surname>Azzouz</surname>
          </string-name>
          and
          <string-name>
            <given-names>A.</given-names>
            <surname>Abran</surname>
          </string-name>
          ,
          <article-title>"A proposed measurement role in the Rational Unified Process (RUP) and its implementation with ISO 19761: COSMIC-FFP,"</article-title>
          <source>Software Measurement European Forum - SMEF</source>
          , Rome, Italy,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <given-names>G.</given-names>
            <surname>Grau</surname>
          </string-name>
          and
          <string-name>
            <given-names>X.</given-names>
            <surname>Franch</surname>
          </string-name>
          ,
          <article-title>"Using the PRiM method to Evaluate Requirements Models with COSMIC-FFP,"</article-title>
          <source>International Conference on Software Process and Product : Measurement -IWSM-Mensura</source>
          , Mallorca, Spain,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <given-names>B.</given-names>
            <surname>Marín</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Pastor</surname>
          </string-name>
          and
          <string-name>
            <given-names>G.</given-names>
            <surname>Giachetti</surname>
          </string-name>
          ,
          <article-title>"Automating the Measurement of Functional Size of Conceptual Models in an MDA Environment," Functional Size of Conceptual Models in</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <given-names>A.</given-names>
            <surname>Akca</surname>
          </string-name>
          and
          <string-name>
            <given-names>A.</given-names>
            <surname>Tarhan</surname>
          </string-name>
          ,
          <article-title>"Run-time Measurement of COSMIC Functional Size for Java Business Applications: Initial Results,"</article-title>
          <source>International workshop on software Measurement and 7th International Conference on Software Process and Product Measurement - IWSMMENSURA</source>
          , Assisi, Italy,
          <fpage>17</fpage>
          -
          <lpage>19</lpage>
          Oct.
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <given-names>M. A.</given-names>
            <surname>Sağ</surname>
          </string-name>
          and
          <string-name>
            <given-names>A.</given-names>
            <surname>Tarhan</surname>
          </string-name>
          ,
          <article-title>"Measuring COSMIC Software Size from Functional Execution Traces of Java Business Applications,"</article-title>
          <source>Joint Conference of the International Workshop on Software Measurement and the International Conference on Software Process and Product</source>
          Measurement - IWSM-MENSURA,
          <year>October 2014</year>
          , pp.
          <fpage>272</fpage>
          -
          <lpage>281</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>M.</surname>
          </string-name>
          <article-title>A. SAĞ and A. TARHAN, "COSMIC Solver: A Tool for Functional Sizing of Java Business Applications,"</article-title>
          <source>Balkan Journal of Electrical and Computer Engineering</source>
          , vol.
          <volume>6</volume>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>8</lpage>
          ,
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <given-names>R.</given-names>
            <surname>Gonultas</surname>
          </string-name>
          and
          <string-name>
            <given-names>A.</given-names>
            <surname>Tarhan</surname>
          </string-name>
          ,
          <article-title>"Run-Time Calculation of COSMIC Functional Size via Automatic Installment of Measurement Code into Java Business Applications,"</article-title>
          <source>41st Euromicro Conference on Software Engineering and Advanced Applications</source>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <given-names>S.</given-names>
            <surname>Bagriyanik</surname>
          </string-name>
          and
          <string-name>
            <given-names>A.</given-names>
            <surname>Karahoka</surname>
          </string-name>
          ,
          <article-title>"Automated COSMIC Function Point measurement using a requirements engineering ontology,"</article-title>
          <source>Information and Software Technology</source>
          ,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <given-names>A.</given-names>
            <surname>Tarhan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Özkan</surname>
          </string-name>
          and
          <string-name>
            <given-names>G. C.</given-names>
            <surname>İçöz</surname>
          </string-name>
          ,
          <article-title>"A Proposal on Requirements for COSMIC FSM Automation from Source Code,"</article-title>
          <source>Joint Conference of the International Workshop on Software Measurement and the International Conference on Software Process and Product Measurement -IWSM-MENSURA, 5-7 Oct</source>
          <year>2016</year>
          , Berlin. pp.
          <fpage>195</fpage>
          -
          <lpage>200</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19. ISO/IEC 14143-
          <issue>1</issue>
          , Information technology -
          <source>Software measurement - Functional size measurement - Part</source>
          <volume>1</volume>
          : Definition of concepts,
          <source>International Organization for Standardization, Geneva</source>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <surname>COSMIC</surname>
          </string-name>
          ,
          <source>The COSMIC Functtionall Size Measurementt Method: Measurementt Manuall Version 4.0</source>
          .2,
          <string-name>
            <given-names>C.</given-names>
            <surname>Symons</surname>
          </string-name>
          and
          <string-name>
            <surname>A</surname>
          </string-name>
          . Lesterhuis, Eds., The COSMIC group.
          <article-title>URL: www.cosmic-sizing</article-title>
          .org,
          <year>December 2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <string-name>
            <given-names>A.</given-names>
            <surname>Akca</surname>
          </string-name>
          and
          <string-name>
            <given-names>A.</given-names>
            <surname>Tarhan</surname>
          </string-name>
          ,
          <article-title>"Run-Time Measurement of COSMIC Functional Size for Java Business Applications: Is It Worth the Cost?,"</article-title>
          <source>Joint Conference of the 23rd International Workshop on Software Measurement and Eighth International Conference on Software Process and Product Measurement - IWSM-MENSURA</source>
          , Ankara, Turkey,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          22.
          <string-name>
            <given-names>A.</given-names>
            <surname>Lesterhuis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Abran</surname>
          </string-name>
          and
          <string-name>
            <given-names>C.</given-names>
            <surname>Symons</surname>
          </string-name>
          ,
          <article-title>"Course Registration ('C-REG'</article-title>
          )
          <source>System Case Study, Version</source>
          <volume>2</volume>
          .
          <fpage>0</fpage>
          .," https://cosmic-sizing.
          <article-title>org/publications/course-registration-c-regsystem-case-study/</article-title>
          ,
          <year>December 2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          23.
          <string-name>
            <given-names>A.</given-names>
            <surname>Abran</surname>
          </string-name>
          , Software Metrics and
          <string-name>
            <given-names>Software</given-names>
            <surname>Metrology</surname>
          </string-name>
          ,
          <string-name>
            <surname>J. W.</surname>
          </string-name>
          &amp;. Sons, Ed., Wiley-IEEE Computer Society Press,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          24.
          <string-name>
            <given-names>A.</given-names>
            <surname>Sellami</surname>
          </string-name>
          and
          <string-name>
            <given-names>A.</given-names>
            <surname>Abran</surname>
          </string-name>
          ,
          <article-title>"Measurement and metrology requirements for empirical studies in software engineering,"</article-title>
          <source>10th International Workshop on Software Technology and Engineering Practice</source>
          , pp
          <fpage>185</fpage>
          -
          <lpage>192</lpage>
          , doi={
          <volume>10</volume>
          .1109/STEP.
          <year>2002</year>
          .
          <volume>1267631</volume>
          },
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          25.
          <string-name>
            <given-names>A.</given-names>
            <surname>Sellami</surname>
          </string-name>
          ,
          <article-title>"Processus de vérification des mesures de logiciels selon la perspective de métrologie"</article-title>
          .
          <source>Doctoral thesis</source>
          , École de technologie supérieure, Montréal,
          <string-name>
            <surname>Canada</surname>
          </string-name>
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>