Tenure Lecture Presentation
Sonia M. Pascua
Faculty
School of Library and Information Studies
Biography
Sonia M. Pascua
Faculty
School of Library and
Information Studies
Academic Background
B. S. in Library and
Information Science,
School of Library and
Information Science
University of the
Philippines – UP
Diliman
Academic Background
Master of Science in
Computer Science,
Department of
Computer Science,
College of Engineering
University of the
Philippines – UP
Diliman. (June 26,
2016)
Academic Background
Certified Librarian – Board for Librarian (November
2007)
One Year Full-Time Certificate in Information
Technology, Specialization: Applications
Development, University of the Philippines
Information Technology Training Center – UP
Diliman
• UPITTC Scholar
Professional Experiences in the
Academe
Faculty, University of the
Philippines School of Library
and Information Studies (UP
SLIS), June 2013 – Present
QMS Lead, eUP Project, March
2016 - December 2016
Program Developer Associate,
eUP Project, June 2015 - July
2017
Project Manager, UPITDC –
CHED Project, January 7, 2013
– March 7, 2013
Project Manager, UP ITDC -
Technical and Professional
Services for the Rehabilitation
of CHED’s Internet, Website
and Email Services, April 10 –
27, 2012
Software Analyst, UP ITDC -
CATT
CSharpMigration_ChartGui
Project of Fujitsu Ten
Solutions Philippines, UP ITTC,
February 2012 - April 2012
Project Manager, Youth
Conference in IT (YCIT) 2010.
February 17 and 18 2010
Professional Experiences in the
Academe
Sr. Applications Development
Training Officer, University of
the Philippines IT Training
Center (UPITTC), February
2010 – May 2013
Deputy Training Manager,
University of the Philippines IT
Training Center (UPITTC),
February 2009 – May 2013
Deputy Quality Management
Representative, ISO 9001-2008
QMS, University of the
Philippines IT Training Center,
February 2010 – April 2013
Speaker and Trainer
• Software Quality Assurance
• Systems Thinking
• Project Management
• Embedded Indexing
• Understanding Digital
Preservation
• Cloud Computing: Web
Technologies
• Careers in IT
Professional Experiences in the
Corporate Industry
Faculty, University of the
Philippines School of Library
and Information Studies (UP
SLIS), June 2013 – Present
IT Project Manager, Telus
House McKinley West Buildout
Telus International Philippines,
January 2016 - Present
QMS Lead, eUP Project, March
2016 - December 2016
Program Developer Associate,
eUP Project, June 2015 - July
2017
Project Manager, UPITDC –
CHED Project, January 7, 2013
– March 7, 2013
Project Manager, UP ITDC -
Technical and Professional
Services for the Rehabilitation
of CHED’s Internet, Website
and Email Services, April 10 –
27, 2012
Software Analyst, UP ITDC -
CATT
CSharpMigration_ChartGui
Project of Fujitsu Ten
Solutions Philippines, UP ITTC,
February 2012 - April 2012
A Control Structure - Token Based Metric for Software
Functional Cohesion, Entropy and Re-engineering
A Control Structure - Token Based Metric for Software
Functional Cohesion, Entropy and Re-engineering
Theoretical Framework
Theoretical Framework
My study is categorized
under the field of Software
Engineering
Theoretical Framework
My topic falls under the
Software Configuration
Management.
Theoretical Framework
In software engineering, software configuration
management (SCM) is the task of tracking and
controlling changes in the software
Theoretical Framework
In softwar
A field under Software Quality Assurance (SQA)
which is task to measure and maintain the
quality of the software.
Evoke Technologies
Background of the Study
• When companies use technology such as
software in process control and management,
two of many possible objectives for
continuous growth they have are
(1) efficiency in resource utilization and
productivity, and
(2) an overhead amount of time and related cost
in updating and managing this technology.
Background of the Study
• When companies use
technology such as software
in process control and
management, two of many
possible objectives for
continuous growth they have
are
(1) efficiency in resource
utilization and productivity,
and
(2) an overhead amount of time
and related cost in updating
and managing this technology.
Sometimes the
existence of the second
may be contradictory
to achieving the first
one
Background of the Study
• When companies use
technology such as software
in process control and
management, two of many
possible objectives for
continuous growth they have
are
(1) efficiency in resource
utilization and productivity,
and
(2) an overhead amount of time
and related cost in updating
and managing this technology.
Proper and pro-active
environment on
enterprise
management maintains
that the cost of the
overhead does not
supersede overall
system (enterprise)
efficiency.
Background of the Study
• When companies use
technology such as software
in process control and
management, two of many
possible objectives for
continuous growth they have
are
(1) efficiency in resource
utilization and productivity,
and
(2) an overhead amount of time
and related cost in updating
and managing this technology.
Furthermore
unfortunate it may be
but it is readily
recognizable in
companies when their
software eventually
becomes hindrance,
sometimes the cause of
paralysis, in achieving
overall enterprise
efficiency.
Introduction
A work on software engineering by IVAR
JOCOBSON describes software entropy as
follows…
The second law of thermodynamics, in principle,
states that a closed system's disorder cannot
be reduced, it can only remain unchanged or
increased.
A measure of this disorder is entropy.
Introduction
A work on software engineering
by IVAR JOCOBSON
describes software entropy
as follows…
The second law of
thermodynamics, in
principle, states that a closed
system's disorder cannot be
reduced, it can only remain
unchanged or increased.
A measure of this disorder is
entropy.
This law also seems plausible
for software systems;
as a system is modified, its disorder,
or entropy, always increases.
This is known as
software entropy.
Topic
This paper proposes a quantification of
software entropy in terms of
measuring control structures to
variables cohesion.
Introduction
Within software development, there are similar theories;
Lehman (1985) suggested a number of laws, of which aid
in the quantification of software entropy
• A computer program that is used will be modified
• When a program is modified, its complexity will
increase, provided that one does not actively work
against this.
The process of code refactoring can result in stepwise
reductions in software entropy.
Introduction
Within software development, there
are similar theories;
Lehman (1985) suggested a number
of laws, of which aid in the
quantification of software
entropy
• A computer program that is
used will be modified
• When a program is modified, its
complexity will increase,
provided that one does not
actively work against this.
The process of code refactoring
can result in stepwise reductions
in software entropy.
Topic
This paper proposes a
quantification of
software entropy in
terms of measuring
control structures to
variables
cohesion.
Cohesion
• is the measure of the strength of functional
association of elements within a procedure
We strive for the highest possible cohesion
– i.e. make elements of a procedure as strongly
related to one another as possible source
Why High Cohesion
• High cohesion usually means low coupling –
the degree to which each program module
relies on each other
• It insures that the functional breakdown of
the program reflects the functional
organization of the original problem
• High cohesion has been shown to be a good
predictor of maintainability
Correlations this study traces
Correlations this study traces
Correlations this study traces
Correlations this study traces
Correlations this study traces
Thermodynamics –
Closed System
Topics Covered
• Rationalization for quantification of software entropy
• Related studies and researches on quantification of software entropy
– Chidamber and Kemerer 1991 , Quantifying Methods Complexity by introducing
Cyclomatic Complexity
– Chidamber and Kemerer 1994, Lack of Cohesion of Methods (LCOM)
– Beiman and Ott 1994, examined functional cohesion of procedures using data
slice abstraction
– Derived measurements from these study is Yourdon and Constantine’s
• Strong Functional Cohesion (SFC)
• Weak Functional Cohesion (WFC)
– Beiman and Kang 1997, introduced Measuring Design-Level Cohesion by using
association-based and sliced-based approaches
• Code-level Cohesion Measurement
A CONTROL STRUCTURE-TOKEN-BASED METRIC FOR SOFTWARE
FUNCTIONAL COHESION, ENTROPY AND RE-ENGINEERING
My
Paper
METHODOLOGY
Enhancement of Existing Works
Related Works
• As a related study, the Measuring Design-Level
Cohesion of Beiman and Kang showed that an
analytical and empirical analysis on the design
level measurement corresponded closely with the
code-level cohesion measurement.
• Therefore Input Output Dependence Graph
(IODG) which was adapted from Lakhotia’s
variable dependence graph defined the
relationship between input and output
components of a module causal to cohesion
measurement.
Related Works
• Aside from deriving calculation for cohesion, Steven, Myers, and
Constantine introduced module cohesion (SMC Cohesion) that is
measurement of cohesiveness represented on an ordinal scale
approach
• In this study modules are categorized among
– Coincidental cohesion
– Logical cohesion
– Temporal cohesion
– Procedural cohesion
– Communicational cohesion
– Sequential cohesion
– Functional cohesion
• Thus stating coincidental cohesion regarded as the weakest and
functional cohesion the strongest cohesion
SMC Ordinal Types of Cohesion
The Objective
• The contribution of this study, therefore,
focuses on building a metric to enhance the
real world implementation of sound
engineering theories and practices by
formulating and quantitatively measuring the
concept known as Software Entropy by
measuring control structures to variables
cohesion.
The Objective
•This aims to help software designers,
developers, and system managers to
pinpoint when their update in LOCs
causes entropy to the stability and
robustness of their current software.
The Objective
•This could also help in rationalizing
software update, partial or total
re-engineering and /or migration.
The Methodology
• This study will run both the IODG methods
and the SMC ordinal cohesion scale but
– Unlike IODG that accounts Input and Output
variables only
– Unlike Data Slices approach that accounts all
variables only
• This research will consider all variables and
control structures in a module in computing
cohesion
The Methodology
• Then the computed cohesion will be
compared against the SMC ordinal cohesion
scale to determine the COHESION METRIC
Visualization
Visualization
CONTROL STRUCTURE – TOKEN
DEPENDENCIES
Definition of Terms
• Token
Let component y be a variable or a constant,
• Control Structure
Let control structure c be either if, while or
do-while,
ALGORITHMS
NINE (9) DATA DEFINITIONS
Data Definition
Data Definition
Data Definition
Data Definition
Data Definition
CONTROL STRUCTURE – TOKEN
DEPENDENCE GRAPH
CSTDG
CSTDG
Control Structure
COMPUTING COHESION
EMPIRICAL DATA
Data Slice Profile for IF
Data Slice Profile for IF
• Functional Cohesion is
measured based from
the procedure output
and the components of
the procedure that
contribute to the said
output.
Data Slice Profile for IF
• Using this approach, it is
ensured that maximum
functional cohesiveness is
achieved.
• For the cases of multiple
outputs in a procedure,
each components
contributing to different
outputs will be
considered together with
how they are bound.
Results and Findings
• To apply the Data Slice Abstraction, the above
table shows several data tokens contributing
to a data slice, which is the Output z
• and where data tokens are the components or
the statements in the above tables.
Cohesion Computation
Table below shows Glueness of the
data token for IF procedure
Data Slice Profile for WHILE
Data Slice Profile for DO WHILE
Conclusions
• Clearly, by incorporating these 9 types of relationships
among control structures and tokens, we augment the
information we can derive regarding the cohesiveness
of the elements within a module m.
• However, knowing when and how to refactor codes is
an issue of the skill of the designer and/or
programmer to discern.
• This paper would measure cohesion within a
procedure and compare it to the SMC Cohesion
ordinal scale.
• However entire code should undergo repetitive
computation to really see the exact SMC Cohesion
level.
Future Works
• Automation of the computation of the
functional cohesion
• An Assembly-Level Procedural Cohesion
(Hardware)
Acknowledgements
This research work is a result of the
partnership of the University of the
Philippines Information Technology
Development Center (UP ITDC) and
Fujitsu Ten Limited represented by
Fujitsu Ten Solutions Philippines, Inc.
References
Upslis faculty tenure lecture presentation

More Related Content

PDF
COMPARATIVE STUDY OF SOFTWARE ESTIMATION TECHNIQUES
PDF
EARLY STAGE SOFTWARE DEVELOPMENT EFFORT ESTIMATIONS – MAMDANI FIS VS NEURAL N...
PDF
Using Data Mining to Identify COSMIC Function Point Measurement Competence
PDF
Iceemas 119- state of art of metrics of aspect oriented programming
PDF
Ijetr011834
DOC
Preliminry report
PDF
Application of Genetic Algorithm in Software Engineering: A Review
PDF
50120130405029
COMPARATIVE STUDY OF SOFTWARE ESTIMATION TECHNIQUES
EARLY STAGE SOFTWARE DEVELOPMENT EFFORT ESTIMATIONS – MAMDANI FIS VS NEURAL N...
Using Data Mining to Identify COSMIC Function Point Measurement Competence
Iceemas 119- state of art of metrics of aspect oriented programming
Ijetr011834
Preliminry report
Application of Genetic Algorithm in Software Engineering: A Review
50120130405029

What's hot (14)

PDF
Test case prioritization using firefly algorithm for software testing
DOCX
216328327 nilesh-and-teams-project
PDF
A Novel Optimization towards Higher Reliability in Predictive Modelling towar...
PDF
The Impact of Software Complexity on Cost and Quality - A Comparative Analysi...
PDF
International Journal of Engineering and Science Invention (IJESI)
PDF
Model-Based Performance Prediction in Software Development: A Survey
PDF
D0365030036
PDF
Automated exam question set generator using utility based agent and learning ...
PDF
Software metrics sucess, failures and new directions
PDF
Ibm colloquium 070915_nyberg
PPTX
Program criteria-training 2018-19
PDF
International Journal of Computational Engineering Research(IJCER)
PDF
ONE HIDDEN LAYER ANFIS MODEL FOR OOS DEVELOPMENT EFFORT ESTIMATION
PDF
Function Point Software Cost Estimates using Neuro-Fuzzy technique
Test case prioritization using firefly algorithm for software testing
216328327 nilesh-and-teams-project
A Novel Optimization towards Higher Reliability in Predictive Modelling towar...
The Impact of Software Complexity on Cost and Quality - A Comparative Analysi...
International Journal of Engineering and Science Invention (IJESI)
Model-Based Performance Prediction in Software Development: A Survey
D0365030036
Automated exam question set generator using utility based agent and learning ...
Software metrics sucess, failures and new directions
Ibm colloquium 070915_nyberg
Program criteria-training 2018-19
International Journal of Computational Engineering Research(IJCER)
ONE HIDDEN LAYER ANFIS MODEL FOR OOS DEVELOPMENT EFFORT ESTIMATION
Function Point Software Cost Estimates using Neuro-Fuzzy technique
Ad

Similar to Upslis faculty tenure lecture presentation (20)

PDF
An Approach of Improve Efficiencies through DevOps Adoption
PDF
Reduced Software Complexity for E-Government Applications with ZEF Framework
PDF
Academic Resources Architecture Framework Planning using ERP in Cloud Computing
PDF
Exploring the Efficiency of the Program using OOAD Metrics
PPTX
Issues in software cost estimation
PDF
Elements of legacy program complexity
PPTX
Software metrics
PDF
A MODEL TO COMPARE THE DEGREE OF REFACTORING OPPORTUNITIES OF THREE PROJECTS ...
PDF
A Model To Compare The Degree Of Refactoring Opportunities Of Three Projects ...
PDF
Abb case study 1
PDF
Remote interpreter API model for supporting computer programming adaptive lea...
PDF
2012 ieee projects software engineering @ Seabirds ( Trichy, Chennai, Pondich...
PDF
An Adjacent Analysis of the Parallel Programming Model Perspective: A Survey
PDF
A SURVEY ON ACCURACY OF REQUIREMENT TRACEABILITY LINKS DURING SOFTWARE DEVELO...
PDF
Comparison of available Methods to Estimate Effort, Performance and Cost with...
PDF
Re2018 Semios for Requirements
PDF
Integrated Analysis of Traditional Requirements Engineering Process with Agil...
DOCX
235429094 jobportal-documentation
PPTX
Software Engineering Fundamentals in Computer Science
PDF
Software evolution and maintenance
An Approach of Improve Efficiencies through DevOps Adoption
Reduced Software Complexity for E-Government Applications with ZEF Framework
Academic Resources Architecture Framework Planning using ERP in Cloud Computing
Exploring the Efficiency of the Program using OOAD Metrics
Issues in software cost estimation
Elements of legacy program complexity
Software metrics
A MODEL TO COMPARE THE DEGREE OF REFACTORING OPPORTUNITIES OF THREE PROJECTS ...
A Model To Compare The Degree Of Refactoring Opportunities Of Three Projects ...
Abb case study 1
Remote interpreter API model for supporting computer programming adaptive lea...
2012 ieee projects software engineering @ Seabirds ( Trichy, Chennai, Pondich...
An Adjacent Analysis of the Parallel Programming Model Perspective: A Survey
A SURVEY ON ACCURACY OF REQUIREMENT TRACEABILITY LINKS DURING SOFTWARE DEVELO...
Comparison of available Methods to Estimate Effort, Performance and Cost with...
Re2018 Semios for Requirements
Integrated Analysis of Traditional Requirements Engineering Process with Agil...
235429094 jobportal-documentation
Software Engineering Fundamentals in Computer Science
Software evolution and maintenance
Ad

Recently uploaded (20)

PDF
How AI/LLM recommend to you ? GDG meetup 16 Aug by Fariman Guliev
PDF
How Tridens DevSecOps Ensures Compliance, Security, and Agility
PPTX
Log360_SIEM_Solutions Overview PPT_Feb 2020.pptx
PPTX
GSA Content Generator Crack (2025 Latest)
PDF
Microsoft Office 365 Crack Download Free
PDF
DuckDuckGo Private Browser Premium APK for Android Crack Latest 2025
PDF
Multiverse AI Review 2025: Access All TOP AI Model-Versions!
PDF
MCP Security Tutorial - Beginner to Advanced
PDF
Visual explanation of Dijkstra's Algorithm using Python
PDF
Ableton Live Suite for MacOS Crack Full Download (Latest 2025)
PDF
CCleaner 6.39.11548 Crack 2025 License Key
PPTX
AMADEUS TRAVEL AGENT SOFTWARE | AMADEUS TICKETING SYSTEM
PDF
AI/ML Infra Meetup | Beyond S3's Basics: Architecting for AI-Native Data Access
PDF
Types of Token_ From Utility to Security.pdf
PPTX
CNN LeNet5 Architecture: Neural Networks
PDF
Cost to Outsource Software Development in 2025
PPTX
Computer Software and OS of computer science of grade 11.pptx
PPTX
assetexplorer- product-overview - presentation
PPTX
Patient Appointment Booking in Odoo with online payment
PDF
The Dynamic Duo Transforming Financial Accounting Systems Through Modern Expe...
How AI/LLM recommend to you ? GDG meetup 16 Aug by Fariman Guliev
How Tridens DevSecOps Ensures Compliance, Security, and Agility
Log360_SIEM_Solutions Overview PPT_Feb 2020.pptx
GSA Content Generator Crack (2025 Latest)
Microsoft Office 365 Crack Download Free
DuckDuckGo Private Browser Premium APK for Android Crack Latest 2025
Multiverse AI Review 2025: Access All TOP AI Model-Versions!
MCP Security Tutorial - Beginner to Advanced
Visual explanation of Dijkstra's Algorithm using Python
Ableton Live Suite for MacOS Crack Full Download (Latest 2025)
CCleaner 6.39.11548 Crack 2025 License Key
AMADEUS TRAVEL AGENT SOFTWARE | AMADEUS TICKETING SYSTEM
AI/ML Infra Meetup | Beyond S3's Basics: Architecting for AI-Native Data Access
Types of Token_ From Utility to Security.pdf
CNN LeNet5 Architecture: Neural Networks
Cost to Outsource Software Development in 2025
Computer Software and OS of computer science of grade 11.pptx
assetexplorer- product-overview - presentation
Patient Appointment Booking in Odoo with online payment
The Dynamic Duo Transforming Financial Accounting Systems Through Modern Expe...

Upslis faculty tenure lecture presentation

  • 1. Tenure Lecture Presentation Sonia M. Pascua Faculty School of Library and Information Studies
  • 2. Biography Sonia M. Pascua Faculty School of Library and Information Studies
  • 3. Academic Background B. S. in Library and Information Science, School of Library and Information Science University of the Philippines – UP Diliman
  • 4. Academic Background Master of Science in Computer Science, Department of Computer Science, College of Engineering University of the Philippines – UP Diliman. (June 26, 2016)
  • 5. Academic Background Certified Librarian – Board for Librarian (November 2007) One Year Full-Time Certificate in Information Technology, Specialization: Applications Development, University of the Philippines Information Technology Training Center – UP Diliman • UPITTC Scholar
  • 6. Professional Experiences in the Academe Faculty, University of the Philippines School of Library and Information Studies (UP SLIS), June 2013 – Present QMS Lead, eUP Project, March 2016 - December 2016 Program Developer Associate, eUP Project, June 2015 - July 2017 Project Manager, UPITDC – CHED Project, January 7, 2013 – March 7, 2013 Project Manager, UP ITDC - Technical and Professional Services for the Rehabilitation of CHED’s Internet, Website and Email Services, April 10 – 27, 2012 Software Analyst, UP ITDC - CATT CSharpMigration_ChartGui Project of Fujitsu Ten Solutions Philippines, UP ITTC, February 2012 - April 2012 Project Manager, Youth Conference in IT (YCIT) 2010. February 17 and 18 2010
  • 7. Professional Experiences in the Academe Sr. Applications Development Training Officer, University of the Philippines IT Training Center (UPITTC), February 2010 – May 2013 Deputy Training Manager, University of the Philippines IT Training Center (UPITTC), February 2009 – May 2013 Deputy Quality Management Representative, ISO 9001-2008 QMS, University of the Philippines IT Training Center, February 2010 – April 2013 Speaker and Trainer • Software Quality Assurance • Systems Thinking • Project Management • Embedded Indexing • Understanding Digital Preservation • Cloud Computing: Web Technologies • Careers in IT
  • 8. Professional Experiences in the Corporate Industry Faculty, University of the Philippines School of Library and Information Studies (UP SLIS), June 2013 – Present IT Project Manager, Telus House McKinley West Buildout Telus International Philippines, January 2016 - Present QMS Lead, eUP Project, March 2016 - December 2016 Program Developer Associate, eUP Project, June 2015 - July 2017 Project Manager, UPITDC – CHED Project, January 7, 2013 – March 7, 2013 Project Manager, UP ITDC - Technical and Professional Services for the Rehabilitation of CHED’s Internet, Website and Email Services, April 10 – 27, 2012 Software Analyst, UP ITDC - CATT CSharpMigration_ChartGui Project of Fujitsu Ten Solutions Philippines, UP ITTC, February 2012 - April 2012
  • 9. A Control Structure - Token Based Metric for Software Functional Cohesion, Entropy and Re-engineering
  • 10. A Control Structure - Token Based Metric for Software Functional Cohesion, Entropy and Re-engineering
  • 12. Theoretical Framework My study is categorized under the field of Software Engineering
  • 13. Theoretical Framework My topic falls under the Software Configuration Management.
  • 14. Theoretical Framework In software engineering, software configuration management (SCM) is the task of tracking and controlling changes in the software
  • 15. Theoretical Framework In softwar A field under Software Quality Assurance (SQA) which is task to measure and maintain the quality of the software. Evoke Technologies
  • 16. Background of the Study • When companies use technology such as software in process control and management, two of many possible objectives for continuous growth they have are (1) efficiency in resource utilization and productivity, and (2) an overhead amount of time and related cost in updating and managing this technology.
  • 17. Background of the Study • When companies use technology such as software in process control and management, two of many possible objectives for continuous growth they have are (1) efficiency in resource utilization and productivity, and (2) an overhead amount of time and related cost in updating and managing this technology. Sometimes the existence of the second may be contradictory to achieving the first one
  • 18. Background of the Study • When companies use technology such as software in process control and management, two of many possible objectives for continuous growth they have are (1) efficiency in resource utilization and productivity, and (2) an overhead amount of time and related cost in updating and managing this technology. Proper and pro-active environment on enterprise management maintains that the cost of the overhead does not supersede overall system (enterprise) efficiency.
  • 19. Background of the Study • When companies use technology such as software in process control and management, two of many possible objectives for continuous growth they have are (1) efficiency in resource utilization and productivity, and (2) an overhead amount of time and related cost in updating and managing this technology. Furthermore unfortunate it may be but it is readily recognizable in companies when their software eventually becomes hindrance, sometimes the cause of paralysis, in achieving overall enterprise efficiency.
  • 20. Introduction A work on software engineering by IVAR JOCOBSON describes software entropy as follows… The second law of thermodynamics, in principle, states that a closed system's disorder cannot be reduced, it can only remain unchanged or increased. A measure of this disorder is entropy.
  • 21. Introduction A work on software engineering by IVAR JOCOBSON describes software entropy as follows… The second law of thermodynamics, in principle, states that a closed system's disorder cannot be reduced, it can only remain unchanged or increased. A measure of this disorder is entropy. This law also seems plausible for software systems; as a system is modified, its disorder, or entropy, always increases. This is known as software entropy.
  • 22. Topic This paper proposes a quantification of software entropy in terms of measuring control structures to variables cohesion.
  • 23. Introduction Within software development, there are similar theories; Lehman (1985) suggested a number of laws, of which aid in the quantification of software entropy • A computer program that is used will be modified • When a program is modified, its complexity will increase, provided that one does not actively work against this. The process of code refactoring can result in stepwise reductions in software entropy.
  • 24. Introduction Within software development, there are similar theories; Lehman (1985) suggested a number of laws, of which aid in the quantification of software entropy • A computer program that is used will be modified • When a program is modified, its complexity will increase, provided that one does not actively work against this. The process of code refactoring can result in stepwise reductions in software entropy. Topic This paper proposes a quantification of software entropy in terms of measuring control structures to variables cohesion.
  • 25. Cohesion • is the measure of the strength of functional association of elements within a procedure We strive for the highest possible cohesion – i.e. make elements of a procedure as strongly related to one another as possible source
  • 26. Why High Cohesion • High cohesion usually means low coupling – the degree to which each program module relies on each other • It insures that the functional breakdown of the program reflects the functional organization of the original problem • High cohesion has been shown to be a good predictor of maintainability
  • 31. Correlations this study traces Thermodynamics – Closed System
  • 32. Topics Covered • Rationalization for quantification of software entropy • Related studies and researches on quantification of software entropy – Chidamber and Kemerer 1991 , Quantifying Methods Complexity by introducing Cyclomatic Complexity – Chidamber and Kemerer 1994, Lack of Cohesion of Methods (LCOM) – Beiman and Ott 1994, examined functional cohesion of procedures using data slice abstraction – Derived measurements from these study is Yourdon and Constantine’s • Strong Functional Cohesion (SFC) • Weak Functional Cohesion (WFC) – Beiman and Kang 1997, introduced Measuring Design-Level Cohesion by using association-based and sliced-based approaches • Code-level Cohesion Measurement A CONTROL STRUCTURE-TOKEN-BASED METRIC FOR SOFTWARE FUNCTIONAL COHESION, ENTROPY AND RE-ENGINEERING My Paper
  • 34. Related Works • As a related study, the Measuring Design-Level Cohesion of Beiman and Kang showed that an analytical and empirical analysis on the design level measurement corresponded closely with the code-level cohesion measurement. • Therefore Input Output Dependence Graph (IODG) which was adapted from Lakhotia’s variable dependence graph defined the relationship between input and output components of a module causal to cohesion measurement.
  • 35. Related Works • Aside from deriving calculation for cohesion, Steven, Myers, and Constantine introduced module cohesion (SMC Cohesion) that is measurement of cohesiveness represented on an ordinal scale approach • In this study modules are categorized among – Coincidental cohesion – Logical cohesion – Temporal cohesion – Procedural cohesion – Communicational cohesion – Sequential cohesion – Functional cohesion • Thus stating coincidental cohesion regarded as the weakest and functional cohesion the strongest cohesion
  • 36. SMC Ordinal Types of Cohesion
  • 37. The Objective • The contribution of this study, therefore, focuses on building a metric to enhance the real world implementation of sound engineering theories and practices by formulating and quantitatively measuring the concept known as Software Entropy by measuring control structures to variables cohesion.
  • 38. The Objective •This aims to help software designers, developers, and system managers to pinpoint when their update in LOCs causes entropy to the stability and robustness of their current software.
  • 39. The Objective •This could also help in rationalizing software update, partial or total re-engineering and /or migration.
  • 40. The Methodology • This study will run both the IODG methods and the SMC ordinal cohesion scale but – Unlike IODG that accounts Input and Output variables only – Unlike Data Slices approach that accounts all variables only • This research will consider all variables and control structures in a module in computing cohesion
  • 41. The Methodology • Then the computed cohesion will be compared against the SMC ordinal cohesion scale to determine the COHESION METRIC
  • 44. CONTROL STRUCTURE – TOKEN DEPENDENCIES
  • 45. Definition of Terms • Token Let component y be a variable or a constant, • Control Structure Let control structure c be either if, while or do-while,
  • 52. CONTROL STRUCTURE – TOKEN DEPENDENCE GRAPH CSTDG
  • 53. CSTDG
  • 57. Data Slice Profile for IF • Functional Cohesion is measured based from the procedure output and the components of the procedure that contribute to the said output.
  • 58. Data Slice Profile for IF • Using this approach, it is ensured that maximum functional cohesiveness is achieved. • For the cases of multiple outputs in a procedure, each components contributing to different outputs will be considered together with how they are bound.
  • 59. Results and Findings • To apply the Data Slice Abstraction, the above table shows several data tokens contributing to a data slice, which is the Output z • and where data tokens are the components or the statements in the above tables.
  • 61. Table below shows Glueness of the data token for IF procedure
  • 62. Data Slice Profile for WHILE
  • 63. Data Slice Profile for DO WHILE
  • 64. Conclusions • Clearly, by incorporating these 9 types of relationships among control structures and tokens, we augment the information we can derive regarding the cohesiveness of the elements within a module m. • However, knowing when and how to refactor codes is an issue of the skill of the designer and/or programmer to discern. • This paper would measure cohesion within a procedure and compare it to the SMC Cohesion ordinal scale. • However entire code should undergo repetitive computation to really see the exact SMC Cohesion level.
  • 65. Future Works • Automation of the computation of the functional cohesion • An Assembly-Level Procedural Cohesion (Hardware)
  • 66. Acknowledgements This research work is a result of the partnership of the University of the Philippines Information Technology Development Center (UP ITDC) and Fujitsu Ten Limited represented by Fujitsu Ten Solutions Philippines, Inc.