SlideShare a Scribd company logo
IWSM Mensura 2014
Muhammet Ali SAĞ &
Ayça TARHAN
Department of Computer Engineering
Hacettepe University, Ankara / Turkey
Functional Size Measurement (FSM)
 Measures software size by quantifying its functional
user requirements
 Mk II Function Point Analysis (FPA)
 International Function Point Users Group (IFPUG) FPA
 Common Software Measurement International
Consortium (COSMIC) Measurement Method
 Functional software size in Cosmic Function Points (CFP)
Measuring COSMIC Software Size from
Functional Execution Traces of Java Business Applications
Study Aim and Scope
 Automatic measurement of COSMIC functional size from
source or binary code
 via a prototype of a target tool called ‘COSMIC Solver’
 Using UML Sequence Diagrams derived from functional
execution traces of Java Business Applications at runtime
Measuring COSMIC Software Size from
Functional Execution Traces of Java Business Applications
Why to Automate FSM?
 To eliminate the judgment on the part of the measurer
 To reduce the cost of measurement
 e.g. for building organizational repository of functional software size
 To ease instant project management;
 by tracking the size of developed functionality and accuracy of the estimation,
especially during the execution of large-scale projects
Measuring COSMIC Software Size from
Functional Execution Traces of Java Business Applications
Related Work on FSM Automation
 Measurement via mapping of UML (Unified Modeling Language)
diagrams onto COSMIC measurement model
 Use-case
 Class diagrams
 Sequence diagrams
 Measurement from source code directly
 By static and dynamic analysis
 Measurement via mapping of source code to data-flow charts from
where FSM is carried out
Measuring COSMIC Software Size from
Functional Execution Traces of Java Business Applications
COSMIC Solver - Method
 Catch and tag UML Sequence Diagrams from functional execution traces of use-
case scenarios run in a Java application, with the help of AspectJ technology
 Apply COSMIC FSM rules on tagged diagrams to measure the size of the use-
case scenarios run
Measuring COSMIC Software Size from
Functional Execution Traces of Java Business Applications
Software Code
(Source or Binary)
Traces Output
From Execution
Execute
Behavioral
Specification
Dynamic Analysis
COSMIC Solver – Measurement Process
Measuring COSMIC Software Size from
Functional Execution Traces of Java Business Applications
Javaagent &
AspectJ pointcuts;
Application software
Mapping Phase Tagged (textual)
sequence diagram
Measurement
Phase
Functional size of the
software in units of CFP
Tracer Component
Cosmic Calculator
Component
UML Sequence Diagram
Measuring COSMIC Software Size from
Functional Execution Traces of Java Business Applications
Applicationboundary
Aspect Oriented Programming & AspectJ
 Addresses the ‘cross-cutting concerns’ (e.g. security or logging) that
compromise the modularity of Object-Oriented systems
Measuring COSMIC Software Size from
Functional Execution Traces of Java Business Applications
Service a;
Service b;
public void doSomething(){
Instrument.beforeNormalCall();
a.callService();
Instrument.afterNormalCall();
Instrument.beforeNormalCall();
b.callService();
Instrument.afterNormalCall();
}
doSomething();
beforeNormalCall();
afterNormalCall();
callService();
AspectJ: The implementation of AOP in Java environment
Tracer Component
 Captures all join point executions and calls in order to construct the
structured text representation of a sequence diagram
Measuring COSMIC Software Size from
Functional Execution Traces of Java Business Applications
TAG POINTCUT
SWING: execution(* java.awt.event.ActionListener+.actionPerformed (..))
DIALOG: call(* javax.swing.JComponent+.show*(..))
JDBC: execution(* java.sql.Statement.exec*(..))
call(* java.sql.Statement.exec*(..))
JPA: execution(* java.sql.Connection.prepareStatement(..))
call(* java.sql.Connection.prepareStatement(..))
JAX-RPC: call(* javax.xml.rpc.Service+.createCall(..))
OTHER: execution(* <PackageName>..*(..)) ||
call(* <PackageName>.<methodName>(..))
POINTCUT PATTERNS TO CATCH DATA MOVEMENTS
before() : jdbcCall() || jdbcExecution() {
[Start:{tag}>] <print signature>
}
after() : jdbcCall() || jdbcExecution() {
[End:{tag}>] <print signature>
}
Cosmic Calculator Component
 Calculates the functional size of the application by applying COSMIC
measurement rules to tagged (textual) UML sequence diagrams
 Analyze Candidate FURs (Functional User Requirements)
 Identify Application Boundary
 Evaluate Functional Processes
Measuring COSMIC Software Size from
Functional Execution Traces of Java Business Applications
Example Measurement
Measuring COSMIC Software Size from
Functional Execution Traces of Java Business Applications
Example Measurement – “Delete”
Measuring COSMIC Software Size from
Functional Execution Traces of Java Business Applications
Start:SWING>void gui.testGUI2.5.actionPerformed(ActionEvent)
…
Start:>String Model.Model.removePerson(String)
Start:>boolean Data.DataController.deletePerson(Person)
…
Start:JPA>PreparedStatement
java.sql.Connection.prepareStatement(String)
SELECT ID, BORNPLACE, NAME, SURNAME FROM PERSON
WHERE (ID = ?)
End:JPA>PreparedStatement
java.sql.Connection.prepareStatement(String)
Start:JPA>PreparedStatement
java.sql.Connection.prepareStatement(String)
DELETE FROM PERSON WHERE (ID = ?)
End:JPA>PreparedStatement
java.sql.Connection.prepareStatement(String)
…
End:>boolean Data.DataController.deletePerson(Person)
End:>String Model.Model.removePerson(String)
…
End:SWING>void gui.testGUI2.5.actionPerformed(ActionEvent)
Textual representation
Example Measurement - Results
Measuring COSMIC Software Size from
Functional Execution Traces of Java Business Applications
Functional Process E R W X Total
Add Person 1 1 1 1 4
Find Person 1 1 - 1 3
Update Person 1 2 1 1 5
Delete Person 1 1 1 1 4
List Person 1 1 - 1 3
Make Payment 1 2 1 1 5
List Payment 1 2 1 1 5
Get Weather Info 1 - - 1 2
Total: 8 10 5 8 31
Functional Process E R W X Total
Make Payment 2 2 1 1 6
Total: 9 10 5 8 32
Difference in Manual Calculation
Prototype Demo
http://youtu.be/pPnlR6hCPnc
Measuring COSMIC Software Size from
Functional Execution Traces of Java Business Applications
Prototype - Constraints
 AspectJ works with Java 1.5+ versions -- previous versions not supported
 To handle technologies other than implemented ones, developer should
modify Tracer and Calculator components -- necessity of domain knowledge
 Defined constraints for functional size measurement
 3-tier application architecture is required
 Reporting with multi-level aggregations is not handled
 Multi-thread operations are not handled
 Caching mechanism of the persistence API must be disabled
Measuring COSMIC Software Size from
Functional Execution Traces of Java Business Applications
Prototype - Benefits
 Measurement process automation
 Measurement from source or binary code at runtime
 Minimizing the measurer’s influence on the results
 No need for any code additions to the target application
 Possibility for customization and extensibility
 Likely elimination of effort and cost (e.g., for training people on size
measurement, and for manual size measurement)
Measuring COSMIC Software Size from
Functional Execution Traces of Java Business Applications
Future Work
 Development of the prototype into a robust tool
 Application of a published framework to verify the accuracy
of the results measured by the tool
 E.g. Verifying the accuracy of automation tools for the measurement of
COSMIC – ISO 19761 (Soubra et al, 2014)
 Conduct of empirical work (e.g. case studies) to evaluate the
usability and usefulness of the tool
Measuring COSMIC Software Size from
Functional Execution Traces of Java Business Applications
Contact:
ayca.tarhan@gmail.com
muhammetalisag@gmail.com

More Related Content

What's hot

software project management Cocomo model
software project management Cocomo modelsoftware project management Cocomo model
software project management Cocomo model
REHMAT ULLAH
 
Automated functional size measurement for three tier object relational mappin...
Automated functional size measurement for three tier object relational mappin...Automated functional size measurement for three tier object relational mappin...
Automated functional size measurement for three tier object relational mappin...
IWSM Mensura
 
Maximizing Efficiency Using Simulation
Maximizing Efficiency Using SimulationMaximizing Efficiency Using Simulation
Maximizing Efficiency Using Simulationjason_cov
 
Software process and project metrics
Software process and project metricsSoftware process and project metrics
Software process and project metrics
Indu Sharma Bhardwaj
 
Cost estimation using cocomo model
Cost estimation using cocomo modelCost estimation using cocomo model
Cost estimation using cocomo model
Nitesh Bichwani
 
Automatic measurements of use cases with cosmic thomas fehlmann
Automatic measurements of use cases with cosmic   thomas fehlmannAutomatic measurements of use cases with cosmic   thomas fehlmann
Automatic measurements of use cases with cosmic thomas fehlmann
IWSM Mensura
 
Cocomo model
Cocomo modelCocomo model
Cocomo model
Baskarkncet
 
Cocomo
CocomoCocomo
Cocomo
Yunis Lone
 
Cocomo
CocomoCocomo
Software Estimation Part II
Software Estimation Part IISoftware Estimation Part II
Software Estimation Part IIsslovepk
 
Software metrics by Dr. B. J. Mohite
Software metrics by Dr. B. J. MohiteSoftware metrics by Dr. B. J. Mohite
Software metrics by Dr. B. J. Mohite
Zeal Education Society, Pune
 
COCOMO Model
COCOMO ModelCOCOMO Model
COCOMO Model
Dev Kishan Bairwa
 
Computer-Aided Engineering
Computer-Aided EngineeringComputer-Aided Engineering
Computer-Aided Engineering
Adesanya Adebayo
 
CS8494 SOFTWARE ENGINEERING Unit-4
CS8494 SOFTWARE ENGINEERING Unit-4CS8494 SOFTWARE ENGINEERING Unit-4
CS8494 SOFTWARE ENGINEERING Unit-4
SIMONTHOMAS S
 
ITFT - Cocomo model
ITFT -  Cocomo modelITFT -  Cocomo model
ITFT - Cocomo model
Shruti Kunwar
 
Software Estimation Part I
Software Estimation Part ISoftware Estimation Part I
Software Estimation Part Isslovepk
 
FPA for Dummies
FPA for DummiesFPA for Dummies
FPA for Dummies
Frank Vogelezang
 

What's hot (20)

software project management Cocomo model
software project management Cocomo modelsoftware project management Cocomo model
software project management Cocomo model
 
Automated functional size measurement for three tier object relational mappin...
Automated functional size measurement for three tier object relational mappin...Automated functional size measurement for three tier object relational mappin...
Automated functional size measurement for three tier object relational mappin...
 
Maximizing Efficiency Using Simulation
Maximizing Efficiency Using SimulationMaximizing Efficiency Using Simulation
Maximizing Efficiency Using Simulation
 
Software process and project metrics
Software process and project metricsSoftware process and project metrics
Software process and project metrics
 
Cost estimation using cocomo model
Cost estimation using cocomo modelCost estimation using cocomo model
Cost estimation using cocomo model
 
Automatic measurements of use cases with cosmic thomas fehlmann
Automatic measurements of use cases with cosmic   thomas fehlmannAutomatic measurements of use cases with cosmic   thomas fehlmann
Automatic measurements of use cases with cosmic thomas fehlmann
 
Cocomo model
Cocomo modelCocomo model
Cocomo model
 
Cocomo
CocomoCocomo
Cocomo
 
Cocomo
CocomoCocomo
Cocomo
 
Software Estimation Part II
Software Estimation Part IISoftware Estimation Part II
Software Estimation Part II
 
Software metrics by Dr. B. J. Mohite
Software metrics by Dr. B. J. MohiteSoftware metrics by Dr. B. J. Mohite
Software metrics by Dr. B. J. Mohite
 
Cocom ii
Cocom iiCocom ii
Cocom ii
 
COCOMO Model
COCOMO ModelCOCOMO Model
COCOMO Model
 
Computer-Aided Engineering
Computer-Aided EngineeringComputer-Aided Engineering
Computer-Aided Engineering
 
CS8494 SOFTWARE ENGINEERING Unit-4
CS8494 SOFTWARE ENGINEERING Unit-4CS8494 SOFTWARE ENGINEERING Unit-4
CS8494 SOFTWARE ENGINEERING Unit-4
 
RuaumokoSuite
RuaumokoSuiteRuaumokoSuite
RuaumokoSuite
 
ITFT - Cocomo model
ITFT -  Cocomo modelITFT -  Cocomo model
ITFT - Cocomo model
 
Software Estimation Part I
Software Estimation Part ISoftware Estimation Part I
Software Estimation Part I
 
Cocomo m odel
Cocomo m odelCocomo m odel
Cocomo m odel
 
FPA for Dummies
FPA for DummiesFPA for Dummies
FPA for Dummies
 

Similar to Iwsm2014 measuring cosmic software size from functional execution traces of java business applications (ayça tarhan - sag)

Functional point analysis
Functional point analysisFunctional point analysis
Functional point analysisDestinationQA
 
Mirabilis design Inc - Brochure
Mirabilis design Inc - BrochureMirabilis design Inc - Brochure
Mirabilis design Inc - Brochure
Deepak Shankar
 
Just-in-Time Bug Prediction in Mobile Applications: The Domain Matters!
Just-in-Time Bug Prediction in Mobile Applications: The Domain Matters!Just-in-Time Bug Prediction in Mobile Applications: The Domain Matters!
Just-in-Time Bug Prediction in Mobile Applications: The Domain Matters!
Gemma Catolino
 
Comparative Evaluation of Timing Model Extraction Methodologies at EAST-ADL...
Comparative Evaluation of  Timing Model Extraction Methodologies  at EAST-ADL...Comparative Evaluation of  Timing Model Extraction Methodologies  at EAST-ADL...
Comparative Evaluation of Timing Model Extraction Methodologies at EAST-ADL...
Alessio Bucaioni
 
Cost xpert
Cost xpertCost xpert
Cost xpert
Madeha Arif
 
Coml Psg Automation Approach
Coml Psg Automation ApproachComl Psg Automation Approach
Coml Psg Automation Approachroopavani
 
Bindu Chintalapudi - Software Testing -latest (1)
Bindu Chintalapudi - Software Testing -latest (1)Bindu Chintalapudi - Software Testing -latest (1)
Bindu Chintalapudi - Software Testing -latest (1)bindu chintalapudi
 
CIM unit-1
CIM  unit-1CIM  unit-1
CIM unit-1
Dr.PERIASAMY K
 
CS8494 SOFTWARE ENGINEERING Unit-5
CS8494 SOFTWARE ENGINEERING Unit-5CS8494 SOFTWARE ENGINEERING Unit-5
CS8494 SOFTWARE ENGINEERING Unit-5
SIMONTHOMAS S
 
Amq Overview Continuous Quality Assurance
Amq Overview Continuous Quality AssuranceAmq Overview Continuous Quality Assurance
Amq Overview Continuous Quality Assurance
Sofandre Sya'banu, S.E., M.T.I.
 
Applying Machine Learning to Boost Digital Business Performance
Applying Machine Learning to Boost Digital Business PerformanceApplying Machine Learning to Boost Digital Business Performance
Applying Machine Learning to Boost Digital Business Performance
Cognizant
 
CS8494 SOFTWARE ENGINEERING Unit-1
CS8494 SOFTWARE ENGINEERING Unit-1CS8494 SOFTWARE ENGINEERING Unit-1
CS8494 SOFTWARE ENGINEERING Unit-1
SIMONTHOMAS S
 
Shuvam dutta
Shuvam duttaShuvam dutta
Shuvam dutta
Shuvam Dutta
 
Shuvam dutta | Performance tester
Shuvam dutta | Performance testerShuvam dutta | Performance tester
Shuvam dutta | Performance tester
Shuvam Dutta
 
Pmo slides jun2010
Pmo slides jun2010Pmo slides jun2010
Pmo slides jun2010Steve Turner
 
Developing Tools for “What if…” Testing of Large-scale Software Systems
Developing Tools for “What if…” Testing of Large-scale Software SystemsDeveloping Tools for “What if…” Testing of Large-scale Software Systems
Developing Tools for “What if…” Testing of Large-scale Software Systems
James Hill
 
Estimation maturity model using function points
Estimation maturity  model using function pointsEstimation maturity  model using function points
Estimation maturity model using function points
Bhupinder Singh
 
A046010104
A046010104A046010104
A046010104
ijceronline
 
Agile testing approach
Agile testing approachAgile testing approach
Agile testing approach
Sanjay Verma MBA,PMI
 

Similar to Iwsm2014 measuring cosmic software size from functional execution traces of java business applications (ayça tarhan - sag) (20)

Functional point analysis
Functional point analysisFunctional point analysis
Functional point analysis
 
Mirabilis design Inc - Brochure
Mirabilis design Inc - BrochureMirabilis design Inc - Brochure
Mirabilis design Inc - Brochure
 
Just-in-Time Bug Prediction in Mobile Applications: The Domain Matters!
Just-in-Time Bug Prediction in Mobile Applications: The Domain Matters!Just-in-Time Bug Prediction in Mobile Applications: The Domain Matters!
Just-in-Time Bug Prediction in Mobile Applications: The Domain Matters!
 
Comparative Evaluation of Timing Model Extraction Methodologies at EAST-ADL...
Comparative Evaluation of  Timing Model Extraction Methodologies  at EAST-ADL...Comparative Evaluation of  Timing Model Extraction Methodologies  at EAST-ADL...
Comparative Evaluation of Timing Model Extraction Methodologies at EAST-ADL...
 
Cost xpert
Cost xpertCost xpert
Cost xpert
 
Coml Psg Automation Approach
Coml Psg Automation ApproachComl Psg Automation Approach
Coml Psg Automation Approach
 
Bindu Chintalapudi - Software Testing -latest (1)
Bindu Chintalapudi - Software Testing -latest (1)Bindu Chintalapudi - Software Testing -latest (1)
Bindu Chintalapudi - Software Testing -latest (1)
 
CIM unit-1
CIM  unit-1CIM  unit-1
CIM unit-1
 
CS8494 SOFTWARE ENGINEERING Unit-5
CS8494 SOFTWARE ENGINEERING Unit-5CS8494 SOFTWARE ENGINEERING Unit-5
CS8494 SOFTWARE ENGINEERING Unit-5
 
Amq Overview Continuous Quality Assurance
Amq Overview Continuous Quality AssuranceAmq Overview Continuous Quality Assurance
Amq Overview Continuous Quality Assurance
 
Applying Machine Learning to Boost Digital Business Performance
Applying Machine Learning to Boost Digital Business PerformanceApplying Machine Learning to Boost Digital Business Performance
Applying Machine Learning to Boost Digital Business Performance
 
CS8494 SOFTWARE ENGINEERING Unit-1
CS8494 SOFTWARE ENGINEERING Unit-1CS8494 SOFTWARE ENGINEERING Unit-1
CS8494 SOFTWARE ENGINEERING Unit-1
 
Shuvam dutta
Shuvam duttaShuvam dutta
Shuvam dutta
 
Shuvam dutta | Performance tester
Shuvam dutta | Performance testerShuvam dutta | Performance tester
Shuvam dutta | Performance tester
 
Pmo slides jun2010
Pmo slides jun2010Pmo slides jun2010
Pmo slides jun2010
 
Presentation
PresentationPresentation
Presentation
 
Developing Tools for “What if…” Testing of Large-scale Software Systems
Developing Tools for “What if…” Testing of Large-scale Software SystemsDeveloping Tools for “What if…” Testing of Large-scale Software Systems
Developing Tools for “What if…” Testing of Large-scale Software Systems
 
Estimation maturity model using function points
Estimation maturity  model using function pointsEstimation maturity  model using function points
Estimation maturity model using function points
 
A046010104
A046010104A046010104
A046010104
 
Agile testing approach
Agile testing approachAgile testing approach
Agile testing approach
 

More from COSMIC - Common Software Measurement International Consortium

Software Project Estimation - Critical knowledge for today and tomorrow
Software Project Estimation - Critical knowledge for today and tomorrowSoftware Project Estimation - Critical knowledge for today and tomorrow
Software Project Estimation - Critical knowledge for today and tomorrow
COSMIC - Common Software Measurement International Consortium
 
CNMES 2017 Software Cost Estimating with COSMIC - Critical knowledge for toda...
CNMES 2017 Software Cost Estimating with COSMIC - Critical knowledge for toda...CNMES 2017 Software Cost Estimating with COSMIC - Critical knowledge for toda...
CNMES 2017 Software Cost Estimating with COSMIC - Critical knowledge for toda...
COSMIC - Common Software Measurement International Consortium
 
CNMES17 - Acceptance of the COSMIC method and future developments
CNMES17 - Acceptance of the COSMIC method and future developmentsCNMES17 - Acceptance of the COSMIC method and future developments
CNMES17 - Acceptance of the COSMIC method and future developments
COSMIC - Common Software Measurement International Consortium
 
The Metrology Journey towards an 8th Base Quantity for Software: How Far or H...
The Metrology Journey towards an 8th Base Quantity for Software: How Far or H...The Metrology Journey towards an 8th Base Quantity for Software: How Far or H...
The Metrology Journey towards an 8th Base Quantity for Software: How Far or H...
COSMIC - Common Software Measurement International Consortium
 
CNMES'15 : Presentación AMMS - Francisco Valdès Souto
CNMES'15 : Presentación AMMS - Francisco Valdès SoutoCNMES'15 : Presentación AMMS - Francisco Valdès Souto
CNMES'15 : Presentación AMMS - Francisco Valdès Souto
COSMIC - Common Software Measurement International Consortium
 
CNMES'15 - Experiencias en la Implementación de COSMIC FP en una Empresa de A...
CNMES'15 - Experiencias en la Implementación de COSMIC FP en una Empresa de A...CNMES'15 - Experiencias en la Implementación de COSMIC FP en una Empresa de A...
CNMES'15 - Experiencias en la Implementación de COSMIC FP en una Empresa de A...
COSMIC - Common Software Measurement International Consortium
 
CNMES'15 - COSMIC en Mexico - Francisco Valdès Souto
CNMES'15 - COSMIC en Mexico - Francisco Valdès SoutoCNMES'15 - COSMIC en Mexico - Francisco Valdès Souto
CNMES'15 - COSMIC en Mexico - Francisco Valdès Souto
COSMIC - Common Software Measurement International Consortium
 
CNMES15 - Taxonomía de métricas - Carlos Gutiérrez Pérez
CNMES15 - Taxonomía de métricas - Carlos Gutiérrez PérezCNMES15 - Taxonomía de métricas - Carlos Gutiérrez Pérez
CNMES15 - Taxonomía de métricas - Carlos Gutiérrez Pérez
COSMIC - Common Software Measurement International Consortium
 
CNMES15 - Impacts and Benefits of using COSMIC - Frank Vogelezang
CNMES15 - Impacts and Benefits of using COSMIC - Frank VogelezangCNMES15 - Impacts and Benefits of using COSMIC - Frank Vogelezang
CNMES15 - Impacts and Benefits of using COSMIC - Frank Vogelezang
COSMIC - Common Software Measurement International Consortium
 
CNMES15 - Futuro de COSMIC - Frank Vogelezang & Alain Abran
CNMES15 - Futuro de COSMIC - Frank Vogelezang & Alain AbranCNMES15 - Futuro de COSMIC - Frank Vogelezang & Alain Abran
CNMES15 - Futuro de COSMIC - Frank Vogelezang & Alain Abran
COSMIC - Common Software Measurement International Consortium
 
CNMES15 - Estimation con COSMIC - Alain Abran
CNMES15 - Estimation con COSMIC - Alain AbranCNMES15 - Estimation con COSMIC - Alain Abran
CNMES15 - Estimation con COSMIC - Alain Abran
COSMIC - Common Software Measurement International Consortium
 
CNMES15 - Earned Scope Management - Alain Abran
CNMES15 - Earned Scope Management - Alain AbranCNMES15 - Earned Scope Management - Alain Abran
CNMES15 - Earned Scope Management - Alain Abran
COSMIC - Common Software Measurement International Consortium
 
CNMES15 - COSMIC approximate FSM - Frank Vogelezang
CNMES15 - COSMIC approximate FSM - Frank VogelezangCNMES15 - COSMIC approximate FSM - Frank Vogelezang
CNMES15 - COSMIC approximate FSM - Frank Vogelezang
COSMIC - Common Software Measurement International Consortium
 
COSMIC Annual Report 2014
COSMIC Annual Report 2014COSMIC Annual Report 2014
IWSM 2014 Overview of COSMIC related papers (Charles Symons)
IWSM 2014 Overview of COSMIC related papers (Charles Symons)IWSM 2014 Overview of COSMIC related papers (Charles Symons)
IWSM 2014 Overview of COSMIC related papers (Charles Symons)
COSMIC - Common Software Measurement International Consortium
 
IWSM2014 COSMIC masterclass part 1 - What's new in version 4.0 (Charles Sym...
IWSM2014   COSMIC masterclass part 1 - What's new in version 4.0 (Charles Sym...IWSM2014   COSMIC masterclass part 1 - What's new in version 4.0 (Charles Sym...
IWSM2014 COSMIC masterclass part 1 - What's new in version 4.0 (Charles Sym...
COSMIC - Common Software Measurement International Consortium
 
IWSM2014 COSMIC masterclass part 2 - Dealing with NFR (Chris Woodward)
IWSM2014   COSMIC masterclass part 2 - Dealing with NFR (Chris Woodward)IWSM2014   COSMIC masterclass part 2 - Dealing with NFR (Chris Woodward)
IWSM2014 COSMIC masterclass part 2 - Dealing with NFR (Chris Woodward)
COSMIC - Common Software Measurement International Consortium
 
IWSM2014 COSMIC masterclass part 3 - Automatic measurement of UML specifica...
IWSM2014   COSMIC masterclass part 3 - Automatic measurement of UML specifica...IWSM2014   COSMIC masterclass part 3 - Automatic measurement of UML specifica...
IWSM2014 COSMIC masterclass part 3 - Automatic measurement of UML specifica...
COSMIC - Common Software Measurement International Consortium
 
IWSM2014 COSMIC masterclass part 4 - Estimating with COSMIC (Alain Abran)
IWSM2014 COSMIC masterclass part 4 - Estimating with COSMIC (Alain Abran)IWSM2014 COSMIC masterclass part 4 - Estimating with COSMIC (Alain Abran)
IWSM2014 COSMIC masterclass part 4 - Estimating with COSMIC (Alain Abran)
COSMIC - Common Software Measurement International Consortium
 
IWSM2014 - Manage the Automotive Embedded Software Development Cost & Product...
IWSM2014 - Manage the Automotive Embedded Software Development Cost & Product...IWSM2014 - Manage the Automotive Embedded Software Development Cost & Product...
IWSM2014 - Manage the Automotive Embedded Software Development Cost & Product...
COSMIC - Common Software Measurement International Consortium
 

More from COSMIC - Common Software Measurement International Consortium (20)

Software Project Estimation - Critical knowledge for today and tomorrow
Software Project Estimation - Critical knowledge for today and tomorrowSoftware Project Estimation - Critical knowledge for today and tomorrow
Software Project Estimation - Critical knowledge for today and tomorrow
 
CNMES 2017 Software Cost Estimating with COSMIC - Critical knowledge for toda...
CNMES 2017 Software Cost Estimating with COSMIC - Critical knowledge for toda...CNMES 2017 Software Cost Estimating with COSMIC - Critical knowledge for toda...
CNMES 2017 Software Cost Estimating with COSMIC - Critical knowledge for toda...
 
CNMES17 - Acceptance of the COSMIC method and future developments
CNMES17 - Acceptance of the COSMIC method and future developmentsCNMES17 - Acceptance of the COSMIC method and future developments
CNMES17 - Acceptance of the COSMIC method and future developments
 
The Metrology Journey towards an 8th Base Quantity for Software: How Far or H...
The Metrology Journey towards an 8th Base Quantity for Software: How Far or H...The Metrology Journey towards an 8th Base Quantity for Software: How Far or H...
The Metrology Journey towards an 8th Base Quantity for Software: How Far or H...
 
CNMES'15 : Presentación AMMS - Francisco Valdès Souto
CNMES'15 : Presentación AMMS - Francisco Valdès SoutoCNMES'15 : Presentación AMMS - Francisco Valdès Souto
CNMES'15 : Presentación AMMS - Francisco Valdès Souto
 
CNMES'15 - Experiencias en la Implementación de COSMIC FP en una Empresa de A...
CNMES'15 - Experiencias en la Implementación de COSMIC FP en una Empresa de A...CNMES'15 - Experiencias en la Implementación de COSMIC FP en una Empresa de A...
CNMES'15 - Experiencias en la Implementación de COSMIC FP en una Empresa de A...
 
CNMES'15 - COSMIC en Mexico - Francisco Valdès Souto
CNMES'15 - COSMIC en Mexico - Francisco Valdès SoutoCNMES'15 - COSMIC en Mexico - Francisco Valdès Souto
CNMES'15 - COSMIC en Mexico - Francisco Valdès Souto
 
CNMES15 - Taxonomía de métricas - Carlos Gutiérrez Pérez
CNMES15 - Taxonomía de métricas - Carlos Gutiérrez PérezCNMES15 - Taxonomía de métricas - Carlos Gutiérrez Pérez
CNMES15 - Taxonomía de métricas - Carlos Gutiérrez Pérez
 
CNMES15 - Impacts and Benefits of using COSMIC - Frank Vogelezang
CNMES15 - Impacts and Benefits of using COSMIC - Frank VogelezangCNMES15 - Impacts and Benefits of using COSMIC - Frank Vogelezang
CNMES15 - Impacts and Benefits of using COSMIC - Frank Vogelezang
 
CNMES15 - Futuro de COSMIC - Frank Vogelezang & Alain Abran
CNMES15 - Futuro de COSMIC - Frank Vogelezang & Alain AbranCNMES15 - Futuro de COSMIC - Frank Vogelezang & Alain Abran
CNMES15 - Futuro de COSMIC - Frank Vogelezang & Alain Abran
 
CNMES15 - Estimation con COSMIC - Alain Abran
CNMES15 - Estimation con COSMIC - Alain AbranCNMES15 - Estimation con COSMIC - Alain Abran
CNMES15 - Estimation con COSMIC - Alain Abran
 
CNMES15 - Earned Scope Management - Alain Abran
CNMES15 - Earned Scope Management - Alain AbranCNMES15 - Earned Scope Management - Alain Abran
CNMES15 - Earned Scope Management - Alain Abran
 
CNMES15 - COSMIC approximate FSM - Frank Vogelezang
CNMES15 - COSMIC approximate FSM - Frank VogelezangCNMES15 - COSMIC approximate FSM - Frank Vogelezang
CNMES15 - COSMIC approximate FSM - Frank Vogelezang
 
COSMIC Annual Report 2014
COSMIC Annual Report 2014COSMIC Annual Report 2014
COSMIC Annual Report 2014
 
IWSM 2014 Overview of COSMIC related papers (Charles Symons)
IWSM 2014 Overview of COSMIC related papers (Charles Symons)IWSM 2014 Overview of COSMIC related papers (Charles Symons)
IWSM 2014 Overview of COSMIC related papers (Charles Symons)
 
IWSM2014 COSMIC masterclass part 1 - What's new in version 4.0 (Charles Sym...
IWSM2014   COSMIC masterclass part 1 - What's new in version 4.0 (Charles Sym...IWSM2014   COSMIC masterclass part 1 - What's new in version 4.0 (Charles Sym...
IWSM2014 COSMIC masterclass part 1 - What's new in version 4.0 (Charles Sym...
 
IWSM2014 COSMIC masterclass part 2 - Dealing with NFR (Chris Woodward)
IWSM2014   COSMIC masterclass part 2 - Dealing with NFR (Chris Woodward)IWSM2014   COSMIC masterclass part 2 - Dealing with NFR (Chris Woodward)
IWSM2014 COSMIC masterclass part 2 - Dealing with NFR (Chris Woodward)
 
IWSM2014 COSMIC masterclass part 3 - Automatic measurement of UML specifica...
IWSM2014   COSMIC masterclass part 3 - Automatic measurement of UML specifica...IWSM2014   COSMIC masterclass part 3 - Automatic measurement of UML specifica...
IWSM2014 COSMIC masterclass part 3 - Automatic measurement of UML specifica...
 
IWSM2014 COSMIC masterclass part 4 - Estimating with COSMIC (Alain Abran)
IWSM2014 COSMIC masterclass part 4 - Estimating with COSMIC (Alain Abran)IWSM2014 COSMIC masterclass part 4 - Estimating with COSMIC (Alain Abran)
IWSM2014 COSMIC masterclass part 4 - Estimating with COSMIC (Alain Abran)
 
IWSM2014 - Manage the Automotive Embedded Software Development Cost & Product...
IWSM2014 - Manage the Automotive Embedded Software Development Cost & Product...IWSM2014 - Manage the Automotive Embedded Software Development Cost & Product...
IWSM2014 - Manage the Automotive Embedded Software Development Cost & Product...
 

Recently uploaded

How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good Practices
Globus
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Globus
 
Enterprise Software Development with No Code Solutions.pptx
Enterprise Software Development with No Code Solutions.pptxEnterprise Software Development with No Code Solutions.pptx
Enterprise Software Development with No Code Solutions.pptx
QuickwayInfoSystems3
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Mind IT Systems
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
Cyanic lab
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Natan Silnitsky
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus
 
Graphic Design Crash Course for beginners
Graphic Design Crash Course for beginnersGraphic Design Crash Course for beginners
Graphic Design Crash Course for beginners
e20449
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
Globus
 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Globus
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
rickgrimesss22
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
AMB-Review
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
abdulrafaychaudhry
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
Globus
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
XfilesPro
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Shahin Sheidaei
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
takuyayamamoto1800
 
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket ManagementUtilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate
 

Recently uploaded (20)

How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good Practices
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
 
Enterprise Software Development with No Code Solutions.pptx
Enterprise Software Development with No Code Solutions.pptxEnterprise Software Development with No Code Solutions.pptx
Enterprise Software Development with No Code Solutions.pptx
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
 
Graphic Design Crash Course for beginners
Graphic Design Crash Course for beginnersGraphic Design Crash Course for beginners
Graphic Design Crash Course for beginners
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
 
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket ManagementUtilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
 

Iwsm2014 measuring cosmic software size from functional execution traces of java business applications (ayça tarhan - sag)

  • 1. IWSM Mensura 2014 Muhammet Ali SAĞ & Ayça TARHAN Department of Computer Engineering Hacettepe University, Ankara / Turkey
  • 2. Functional Size Measurement (FSM)  Measures software size by quantifying its functional user requirements  Mk II Function Point Analysis (FPA)  International Function Point Users Group (IFPUG) FPA  Common Software Measurement International Consortium (COSMIC) Measurement Method  Functional software size in Cosmic Function Points (CFP) Measuring COSMIC Software Size from Functional Execution Traces of Java Business Applications
  • 3. Study Aim and Scope  Automatic measurement of COSMIC functional size from source or binary code  via a prototype of a target tool called ‘COSMIC Solver’  Using UML Sequence Diagrams derived from functional execution traces of Java Business Applications at runtime Measuring COSMIC Software Size from Functional Execution Traces of Java Business Applications
  • 4. Why to Automate FSM?  To eliminate the judgment on the part of the measurer  To reduce the cost of measurement  e.g. for building organizational repository of functional software size  To ease instant project management;  by tracking the size of developed functionality and accuracy of the estimation, especially during the execution of large-scale projects Measuring COSMIC Software Size from Functional Execution Traces of Java Business Applications
  • 5. Related Work on FSM Automation  Measurement via mapping of UML (Unified Modeling Language) diagrams onto COSMIC measurement model  Use-case  Class diagrams  Sequence diagrams  Measurement from source code directly  By static and dynamic analysis  Measurement via mapping of source code to data-flow charts from where FSM is carried out Measuring COSMIC Software Size from Functional Execution Traces of Java Business Applications
  • 6. COSMIC Solver - Method  Catch and tag UML Sequence Diagrams from functional execution traces of use- case scenarios run in a Java application, with the help of AspectJ technology  Apply COSMIC FSM rules on tagged diagrams to measure the size of the use- case scenarios run Measuring COSMIC Software Size from Functional Execution Traces of Java Business Applications Software Code (Source or Binary) Traces Output From Execution Execute Behavioral Specification Dynamic Analysis
  • 7. COSMIC Solver – Measurement Process Measuring COSMIC Software Size from Functional Execution Traces of Java Business Applications Javaagent & AspectJ pointcuts; Application software Mapping Phase Tagged (textual) sequence diagram Measurement Phase Functional size of the software in units of CFP Tracer Component Cosmic Calculator Component
  • 8. UML Sequence Diagram Measuring COSMIC Software Size from Functional Execution Traces of Java Business Applications Applicationboundary
  • 9. Aspect Oriented Programming & AspectJ  Addresses the ‘cross-cutting concerns’ (e.g. security or logging) that compromise the modularity of Object-Oriented systems Measuring COSMIC Software Size from Functional Execution Traces of Java Business Applications Service a; Service b; public void doSomething(){ Instrument.beforeNormalCall(); a.callService(); Instrument.afterNormalCall(); Instrument.beforeNormalCall(); b.callService(); Instrument.afterNormalCall(); } doSomething(); beforeNormalCall(); afterNormalCall(); callService(); AspectJ: The implementation of AOP in Java environment
  • 10. Tracer Component  Captures all join point executions and calls in order to construct the structured text representation of a sequence diagram Measuring COSMIC Software Size from Functional Execution Traces of Java Business Applications TAG POINTCUT SWING: execution(* java.awt.event.ActionListener+.actionPerformed (..)) DIALOG: call(* javax.swing.JComponent+.show*(..)) JDBC: execution(* java.sql.Statement.exec*(..)) call(* java.sql.Statement.exec*(..)) JPA: execution(* java.sql.Connection.prepareStatement(..)) call(* java.sql.Connection.prepareStatement(..)) JAX-RPC: call(* javax.xml.rpc.Service+.createCall(..)) OTHER: execution(* <PackageName>..*(..)) || call(* <PackageName>.<methodName>(..)) POINTCUT PATTERNS TO CATCH DATA MOVEMENTS before() : jdbcCall() || jdbcExecution() { [Start:{tag}>] <print signature> } after() : jdbcCall() || jdbcExecution() { [End:{tag}>] <print signature> }
  • 11. Cosmic Calculator Component  Calculates the functional size of the application by applying COSMIC measurement rules to tagged (textual) UML sequence diagrams  Analyze Candidate FURs (Functional User Requirements)  Identify Application Boundary  Evaluate Functional Processes Measuring COSMIC Software Size from Functional Execution Traces of Java Business Applications
  • 12. Example Measurement Measuring COSMIC Software Size from Functional Execution Traces of Java Business Applications
  • 13. Example Measurement – “Delete” Measuring COSMIC Software Size from Functional Execution Traces of Java Business Applications Start:SWING>void gui.testGUI2.5.actionPerformed(ActionEvent) … Start:>String Model.Model.removePerson(String) Start:>boolean Data.DataController.deletePerson(Person) … Start:JPA>PreparedStatement java.sql.Connection.prepareStatement(String) SELECT ID, BORNPLACE, NAME, SURNAME FROM PERSON WHERE (ID = ?) End:JPA>PreparedStatement java.sql.Connection.prepareStatement(String) Start:JPA>PreparedStatement java.sql.Connection.prepareStatement(String) DELETE FROM PERSON WHERE (ID = ?) End:JPA>PreparedStatement java.sql.Connection.prepareStatement(String) … End:>boolean Data.DataController.deletePerson(Person) End:>String Model.Model.removePerson(String) … End:SWING>void gui.testGUI2.5.actionPerformed(ActionEvent) Textual representation
  • 14. Example Measurement - Results Measuring COSMIC Software Size from Functional Execution Traces of Java Business Applications Functional Process E R W X Total Add Person 1 1 1 1 4 Find Person 1 1 - 1 3 Update Person 1 2 1 1 5 Delete Person 1 1 1 1 4 List Person 1 1 - 1 3 Make Payment 1 2 1 1 5 List Payment 1 2 1 1 5 Get Weather Info 1 - - 1 2 Total: 8 10 5 8 31 Functional Process E R W X Total Make Payment 2 2 1 1 6 Total: 9 10 5 8 32 Difference in Manual Calculation
  • 15. Prototype Demo http://youtu.be/pPnlR6hCPnc Measuring COSMIC Software Size from Functional Execution Traces of Java Business Applications
  • 16. Prototype - Constraints  AspectJ works with Java 1.5+ versions -- previous versions not supported  To handle technologies other than implemented ones, developer should modify Tracer and Calculator components -- necessity of domain knowledge  Defined constraints for functional size measurement  3-tier application architecture is required  Reporting with multi-level aggregations is not handled  Multi-thread operations are not handled  Caching mechanism of the persistence API must be disabled Measuring COSMIC Software Size from Functional Execution Traces of Java Business Applications
  • 17. Prototype - Benefits  Measurement process automation  Measurement from source or binary code at runtime  Minimizing the measurer’s influence on the results  No need for any code additions to the target application  Possibility for customization and extensibility  Likely elimination of effort and cost (e.g., for training people on size measurement, and for manual size measurement) Measuring COSMIC Software Size from Functional Execution Traces of Java Business Applications
  • 18. Future Work  Development of the prototype into a robust tool  Application of a published framework to verify the accuracy of the results measured by the tool  E.g. Verifying the accuracy of automation tools for the measurement of COSMIC – ISO 19761 (Soubra et al, 2014)  Conduct of empirical work (e.g. case studies) to evaluate the usability and usefulness of the tool Measuring COSMIC Software Size from Functional Execution Traces of Java Business Applications