SlideShare una empresa de Scribd logo
1 de 20
A Quality Model for Spreadsheet


Jácome Cunha,João P.Fernandes,Christophe Peixoto,
                   João Saraiva


1
    HASLab / INESC TEC & Universidade do Minho,
                     Portugal



                  QUATIC 2012
Why do Spreadsheets matter?




     95% of all U.S. firms
90% of all analysts in industry
50% of all SSs are the basis for
            decisions              2
Still...




Economy losses of $10
    billion/year!




                        3
A recent spreadsheet error...




                                4
A Portuguese horror story...




                               5
Many more horror stories...




•   EuSpriG Original Horror Stories

     ●
         http://www.eusprig.org/stories.htm
SpreadSheets as SW Languages

In fact Spreadsheets lack advanced mechanisms
found in modern languages, namely:

   Type and Modular Systems

   Abstractions

   Debuggers/Profilers/Refactors

   Mechanisms for Model-Driven
 Engineering and Software Evolution!

   Best Practice Rules...
                                                7
This paper

  We propose a quality model for
spreadsheets based on the widely
accepted ISO/IEC 9126 standard for
software product quality.

  We introduce a set of domain specific
metrics for spreadsheets used to measure
concrete spreadsheet characteristics.

  We calibrate our quality model using a
large repository of real-world
spreadsheets (EUSES corpus)

                                           8
Spreadsheets Quality Model:
        Definition




                              9
SpreadSheet Quality Model: Definition

 We have adapted the ISO/IEC 9126 to
 Spreadsheets




                                       10
SpreadSheet Quality Model: Definition


 For example:

 Understandability: There are many ways to
 make a spreadsheet more understandable

 1- the separation of the input, computation
 and output components of the spreadsheet.
 2- the use of different background colors
 for different types of data cells.
 3- a large number of cells makes a
 spreadsheet hard to understand.

                                               11
SpreadSheet Quality Model: Calibration

To calibrate our model we need to consider a
large repository of spreadsheets: The EUSES
corpus (5606 spreadsheets, organized in 6
categories)




                                               12
SpreadSheet Quality Model: Calibration

The Metrics: we reused SIG Spreadsheets
metrics suite




                                          13
SpreadSheet Quality Model: Calibration

The idea is to compute the metrics in a large
set of real-word spreadsheet in order to
define metric values that allow us to assign
a five star ranking to a spreadsheet.


Repository: EUSES

Metric: Number of
   Cells


                                            14
SpreadSheet Quality Model: Calibration

The graphics that represent the aggregation
based on the central tendency of the results
of computing the metric “number of cells”




                                          15
SpreadSheet Quality Model: Calibration


Finally, we are able to define the star
ranking intervals for each of the
characteristics considered:




                                          16
SpreadSheet Smells: Catalog Validation

We have implemented both a batch and web-
based spreadsheet quality analyzer tools:




                                            17
SpreadSheet Quality Model: Evaluation

We have developed an equivalent android-based
application to assess quality of cloud stored
spreadsheets (google docs).




                                                18
Conclusions

●   We presented a quality model for spreadsheets.
●   We have implemented the quality model as three
    different tools.
●   We have calibrated our model using the tools a
    large repository containing real-world spreadsheets.
●   But,
    this is a preliminary result/model. We need to extend
         our metric suite and, thus, to consider more sub-
                       characteristics of the ISO 9126 std.
                                                        19
Research Material


●   SSaaPP – SpreadSheets as a Programmin
    Paradigm (FCT funded)
             http://ssaapp.di.uminho.pt
●   AutoSeer - Automated Test Oracles for
    Software Error Detection (FCT funded)
           http://www.fe.up.pt/AutoSeer


                                            20

Más contenido relacionado

Destacado

Evolution of the Spreadsheet
Evolution of the SpreadsheetEvolution of the Spreadsheet
Evolution of the SpreadsheetRumble Marketing
 
Reviewer grade 11 business math 1st quarter
Reviewer grade 11 business math 1st quarterReviewer grade 11 business math 1st quarter
Reviewer grade 11 business math 1st quarterrolando jr. seguro
 
Business Math Chapter 3
Business Math Chapter 3Business Math Chapter 3
Business Math Chapter 3Nazrin Nazdri
 
Application of Mathematics in Business : F 107 - Group K
Application of Mathematics in Business : F 107 - Group KApplication of Mathematics in Business : F 107 - Group K
Application of Mathematics in Business : F 107 - Group Kjafar_sadik
 
Business Math Chapter 1
Business Math Chapter 1Business Math Chapter 1
Business Math Chapter 1Nazrin Nazdri
 

Destacado (11)

Talk at EUSPRIG '11
Talk at EUSPRIG '11Talk at EUSPRIG '11
Talk at EUSPRIG '11
 
Talk at IS-EUD '11
Talk at IS-EUD '11Talk at IS-EUD '11
Talk at IS-EUD '11
 
Talk
TalkTalk
Talk
 
Talk at VL/HCC '11
Talk at VL/HCC '11Talk at VL/HCC '11
Talk at VL/HCC '11
 
Never event pp
Never event ppNever event pp
Never event pp
 
Evolution of the Spreadsheet
Evolution of the SpreadsheetEvolution of the Spreadsheet
Evolution of the Spreadsheet
 
Reviewer grade 11 business math 1st quarter
Reviewer grade 11 business math 1st quarterReviewer grade 11 business math 1st quarter
Reviewer grade 11 business math 1st quarter
 
Business Math Chapter 3
Business Math Chapter 3Business Math Chapter 3
Business Math Chapter 3
 
Basic Business Math - Study Notes
Basic Business Math - Study NotesBasic Business Math - Study Notes
Basic Business Math - Study Notes
 
Application of Mathematics in Business : F 107 - Group K
Application of Mathematics in Business : F 107 - Group KApplication of Mathematics in Business : F 107 - Group K
Application of Mathematics in Business : F 107 - Group K
 
Business Math Chapter 1
Business Math Chapter 1Business Math Chapter 1
Business Math Chapter 1
 

Similar a Talk at QUATIC '12

AnalyticOps: Lessons Learned Moving Machine-Learning Algorithms to Production...
AnalyticOps: Lessons Learned Moving Machine-Learning Algorithms to Production...AnalyticOps: Lessons Learned Moving Machine-Learning Algorithms to Production...
AnalyticOps: Lessons Learned Moving Machine-Learning Algorithms to Production...Robert Grossman
 
Model-Driven Spreadsheet Development
Model-Driven Spreadsheet DevelopmentModel-Driven Spreadsheet Development
Model-Driven Spreadsheet DevelopmentJácome Cunha
 
Crossing the Analytics Chasm and Getting the Models You Developed Deployed
Crossing the Analytics Chasm and Getting the Models You Developed DeployedCrossing the Analytics Chasm and Getting the Models You Developed Deployed
Crossing the Analytics Chasm and Getting the Models You Developed DeployedRobert Grossman
 
IBM Cognos Analytics Reporting vs. Dashboarding: Matching Tools to Business R...
IBM Cognos Analytics Reporting vs. Dashboarding: Matching Tools to Business R...IBM Cognos Analytics Reporting vs. Dashboarding: Matching Tools to Business R...
IBM Cognos Analytics Reporting vs. Dashboarding: Matching Tools to Business R...Senturus
 
Rajasekhar -Having 2.6 years of Exp in to Cognos
Rajasekhar -Having 2.6 years of Exp in to Cognos Rajasekhar -Having 2.6 years of Exp in to Cognos
Rajasekhar -Having 2.6 years of Exp in to Cognos Raja sekhar
 
Slicing Models of Real-time Embedded Systems (MDOELS2018)
Slicing Models of Real-time Embedded Systems (MDOELS2018)Slicing Models of Real-time Embedded Systems (MDOELS2018)
Slicing Models of Real-time Embedded Systems (MDOELS2018)Reza Ahmadi, PhD
 
Towards Design-space Exploration of Component Chains in Vehicle Software
Towards Design-space Exploration of Component Chains in Vehicle SoftwareTowards Design-space Exploration of Component Chains in Vehicle Software
Towards Design-space Exploration of Component Chains in Vehicle SoftwareAlessio Bucaioni
 
DA 592 - Term Project Report - Berker Kozan Can Koklu
DA 592 - Term Project Report - Berker Kozan Can KokluDA 592 - Term Project Report - Berker Kozan Can Koklu
DA 592 - Term Project Report - Berker Kozan Can KokluCan Köklü
 
Trenowanie i wdrażanie modeli uczenia maszynowego z wykorzystaniem Google Clo...
Trenowanie i wdrażanie modeli uczenia maszynowego z wykorzystaniem Google Clo...Trenowanie i wdrażanie modeli uczenia maszynowego z wykorzystaniem Google Clo...
Trenowanie i wdrażanie modeli uczenia maszynowego z wykorzystaniem Google Clo...Sotrender
 
Summer School DSL 2013 - SpreadSheet Engineering
Summer School DSL 2013 - SpreadSheet EngineeringSummer School DSL 2013 - SpreadSheet Engineering
Summer School DSL 2013 - SpreadSheet EngineeringJácome Cunha
 
Business Intelligence Portfolio
Business Intelligence PortfolioBusiness Intelligence Portfolio
Business Intelligence PortfolioDoug Armantrout
 
Slides-Артем Коваль-Cloud-Native MLOps Framework - DataFest 2021.pdf
Slides-Артем Коваль-Cloud-Native MLOps Framework - DataFest 2021.pdfSlides-Артем Коваль-Cloud-Native MLOps Framework - DataFest 2021.pdf
Slides-Артем Коваль-Cloud-Native MLOps Framework - DataFest 2021.pdfvitm11
 
Technical_Report_on_ML_Library
Technical_Report_on_ML_LibraryTechnical_Report_on_ML_Library
Technical_Report_on_ML_LibrarySaurabh Chauhan
 
Prespective analytics with DOcplex and pandas
Prespective analytics with DOcplex and pandasPrespective analytics with DOcplex and pandas
Prespective analytics with DOcplex and pandasPyDataParis
 

Similar a Talk at QUATIC '12 (20)

AnalyticOps: Lessons Learned Moving Machine-Learning Algorithms to Production...
AnalyticOps: Lessons Learned Moving Machine-Learning Algorithms to Production...AnalyticOps: Lessons Learned Moving Machine-Learning Algorithms to Production...
AnalyticOps: Lessons Learned Moving Machine-Learning Algorithms to Production...
 
Model-Driven Spreadsheet Development
Model-Driven Spreadsheet DevelopmentModel-Driven Spreadsheet Development
Model-Driven Spreadsheet Development
 
Crossing the Analytics Chasm and Getting the Models You Developed Deployed
Crossing the Analytics Chasm and Getting the Models You Developed DeployedCrossing the Analytics Chasm and Getting the Models You Developed Deployed
Crossing the Analytics Chasm and Getting the Models You Developed Deployed
 
Resume
ResumeResume
Resume
 
Krishnan Ramachandran
Krishnan RamachandranKrishnan Ramachandran
Krishnan Ramachandran
 
IBM Cognos Analytics Reporting vs. Dashboarding: Matching Tools to Business R...
IBM Cognos Analytics Reporting vs. Dashboarding: Matching Tools to Business R...IBM Cognos Analytics Reporting vs. Dashboarding: Matching Tools to Business R...
IBM Cognos Analytics Reporting vs. Dashboarding: Matching Tools to Business R...
 
Rajasekhar -Having 2.6 years of Exp in to Cognos
Rajasekhar -Having 2.6 years of Exp in to Cognos Rajasekhar -Having 2.6 years of Exp in to Cognos
Rajasekhar -Having 2.6 years of Exp in to Cognos
 
S&OP as a Service.pdf
S&OP as a Service.pdfS&OP as a Service.pdf
S&OP as a Service.pdf
 
Slicing Models of Real-time Embedded Systems (MDOELS2018)
Slicing Models of Real-time Embedded Systems (MDOELS2018)Slicing Models of Real-time Embedded Systems (MDOELS2018)
Slicing Models of Real-time Embedded Systems (MDOELS2018)
 
Towards Design-space Exploration of Component Chains in Vehicle Software
Towards Design-space Exploration of Component Chains in Vehicle SoftwareTowards Design-space Exploration of Component Chains in Vehicle Software
Towards Design-space Exploration of Component Chains in Vehicle Software
 
DA 592 - Term Project Report - Berker Kozan Can Koklu
DA 592 - Term Project Report - Berker Kozan Can KokluDA 592 - Term Project Report - Berker Kozan Can Koklu
DA 592 - Term Project Report - Berker Kozan Can Koklu
 
Ds for finance day 4
Ds for finance day 4Ds for finance day 4
Ds for finance day 4
 
Trenowanie i wdrażanie modeli uczenia maszynowego z wykorzystaniem Google Clo...
Trenowanie i wdrażanie modeli uczenia maszynowego z wykorzystaniem Google Clo...Trenowanie i wdrażanie modeli uczenia maszynowego z wykorzystaniem Google Clo...
Trenowanie i wdrażanie modeli uczenia maszynowego z wykorzystaniem Google Clo...
 
Summer School DSL 2013 - SpreadSheet Engineering
Summer School DSL 2013 - SpreadSheet EngineeringSummer School DSL 2013 - SpreadSheet Engineering
Summer School DSL 2013 - SpreadSheet Engineering
 
Business Intelligence Portfolio
Business Intelligence PortfolioBusiness Intelligence Portfolio
Business Intelligence Portfolio
 
Slides-Артем Коваль-Cloud-Native MLOps Framework - DataFest 2021.pdf
Slides-Артем Коваль-Cloud-Native MLOps Framework - DataFest 2021.pdfSlides-Артем Коваль-Cloud-Native MLOps Framework - DataFest 2021.pdf
Slides-Артем Коваль-Cloud-Native MLOps Framework - DataFest 2021.pdf
 
Technical_Report_on_ML_Library
Technical_Report_on_ML_LibraryTechnical_Report_on_ML_Library
Technical_Report_on_ML_Library
 
Suresh Yenamareddy Resume
Suresh Yenamareddy ResumeSuresh Yenamareddy Resume
Suresh Yenamareddy Resume
 
DevOps for DataScience
DevOps for DataScienceDevOps for DataScience
DevOps for DataScience
 
Prespective analytics with DOcplex and pandas
Prespective analytics with DOcplex and pandasPrespective analytics with DOcplex and pandas
Prespective analytics with DOcplex and pandas
 

Más de Jácome Cunha

Spreadsheet Engineering
Spreadsheet EngineeringSpreadsheet Engineering
Spreadsheet EngineeringJácome Cunha
 
Model-driven Spreadsheets
Model-driven SpreadsheetsModel-driven Spreadsheets
Model-driven SpreadsheetsJácome Cunha
 
Energy Efficiency Across 
Programming Languages
Energy Efficiency Across 
Programming LanguagesEnergy Efficiency Across 
Programming Languages
Energy Efficiency Across 
Programming LanguagesJácome Cunha
 
Explaining Spreadsheets with Spreadsheets
Explaining Spreadsheets with SpreadsheetsExplaining Spreadsheets with Spreadsheets
Explaining Spreadsheets with SpreadsheetsJácome Cunha
 
Automatically Inferring ClassSheet Models from Spreadsheets
Automatically Inferring ClassSheet Models from SpreadsheetsAutomatically Inferring ClassSheet Models from Spreadsheets
Automatically Inferring ClassSheet Models from SpreadsheetsJácome Cunha
 
On Understanding Data Scientists
On Understanding  Data ScientistsOn Understanding  Data Scientists
On Understanding Data ScientistsJácome Cunha
 
Systematic Spreadsheet Construction Processes @ VL/HCC 2017
Systematic Spreadsheet Construction Processes @ VL/HCC 2017Systematic Spreadsheet Construction Processes @ VL/HCC 2017
Systematic Spreadsheet Construction Processes @ VL/HCC 2017Jácome Cunha
 
jStanley: Placing a Green Thumb on Java Collections
jStanley: Placing a Green Thumb on  Java CollectionsjStanley: Placing a Green Thumb on  Java Collections
jStanley: Placing a Green Thumb on Java CollectionsJácome Cunha
 
Type-Safe Evolution of 
Web Services
Type-Safe Evolution of 
Web ServicesType-Safe Evolution of 
Web Services
Type-Safe Evolution of 
Web ServicesJácome Cunha
 

Más de Jácome Cunha (10)

Spreadsheet Engineering
Spreadsheet EngineeringSpreadsheet Engineering
Spreadsheet Engineering
 
Model-driven Spreadsheets
Model-driven SpreadsheetsModel-driven Spreadsheets
Model-driven Spreadsheets
 
Energy Efficiency Across 
Programming Languages
Energy Efficiency Across 
Programming LanguagesEnergy Efficiency Across 
Programming Languages
Energy Efficiency Across 
Programming Languages
 
LMCC - 30 Anos
LMCC - 30 AnosLMCC - 30 Anos
LMCC - 30 Anos
 
Explaining Spreadsheets with Spreadsheets
Explaining Spreadsheets with SpreadsheetsExplaining Spreadsheets with Spreadsheets
Explaining Spreadsheets with Spreadsheets
 
Automatically Inferring ClassSheet Models from Spreadsheets
Automatically Inferring ClassSheet Models from SpreadsheetsAutomatically Inferring ClassSheet Models from Spreadsheets
Automatically Inferring ClassSheet Models from Spreadsheets
 
On Understanding Data Scientists
On Understanding  Data ScientistsOn Understanding  Data Scientists
On Understanding Data Scientists
 
Systematic Spreadsheet Construction Processes @ VL/HCC 2017
Systematic Spreadsheet Construction Processes @ VL/HCC 2017Systematic Spreadsheet Construction Processes @ VL/HCC 2017
Systematic Spreadsheet Construction Processes @ VL/HCC 2017
 
jStanley: Placing a Green Thumb on Java Collections
jStanley: Placing a Green Thumb on  Java CollectionsjStanley: Placing a Green Thumb on  Java Collections
jStanley: Placing a Green Thumb on Java Collections
 
Type-Safe Evolution of 
Web Services
Type-Safe Evolution of 
Web ServicesType-Safe Evolution of 
Web Services
Type-Safe Evolution of 
Web Services
 

Último

Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 

Último (20)

Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 

Talk at QUATIC '12

  • 1. A Quality Model for Spreadsheet Jácome Cunha,João P.Fernandes,Christophe Peixoto, João Saraiva 1 HASLab / INESC TEC & Universidade do Minho, Portugal QUATIC 2012
  • 2. Why do Spreadsheets matter? 95% of all U.S. firms 90% of all analysts in industry 50% of all SSs are the basis for decisions 2
  • 3. Still... Economy losses of $10 billion/year! 3
  • 4. A recent spreadsheet error... 4
  • 5. A Portuguese horror story... 5
  • 6. Many more horror stories... • EuSpriG Original Horror Stories ● http://www.eusprig.org/stories.htm
  • 7. SpreadSheets as SW Languages In fact Spreadsheets lack advanced mechanisms found in modern languages, namely: Type and Modular Systems Abstractions Debuggers/Profilers/Refactors Mechanisms for Model-Driven Engineering and Software Evolution! Best Practice Rules... 7
  • 8. This paper We propose a quality model for spreadsheets based on the widely accepted ISO/IEC 9126 standard for software product quality. We introduce a set of domain specific metrics for spreadsheets used to measure concrete spreadsheet characteristics. We calibrate our quality model using a large repository of real-world spreadsheets (EUSES corpus) 8
  • 10. SpreadSheet Quality Model: Definition We have adapted the ISO/IEC 9126 to Spreadsheets 10
  • 11. SpreadSheet Quality Model: Definition For example: Understandability: There are many ways to make a spreadsheet more understandable 1- the separation of the input, computation and output components of the spreadsheet. 2- the use of different background colors for different types of data cells. 3- a large number of cells makes a spreadsheet hard to understand. 11
  • 12. SpreadSheet Quality Model: Calibration To calibrate our model we need to consider a large repository of spreadsheets: The EUSES corpus (5606 spreadsheets, organized in 6 categories) 12
  • 13. SpreadSheet Quality Model: Calibration The Metrics: we reused SIG Spreadsheets metrics suite 13
  • 14. SpreadSheet Quality Model: Calibration The idea is to compute the metrics in a large set of real-word spreadsheet in order to define metric values that allow us to assign a five star ranking to a spreadsheet. Repository: EUSES Metric: Number of Cells 14
  • 15. SpreadSheet Quality Model: Calibration The graphics that represent the aggregation based on the central tendency of the results of computing the metric “number of cells” 15
  • 16. SpreadSheet Quality Model: Calibration Finally, we are able to define the star ranking intervals for each of the characteristics considered: 16
  • 17. SpreadSheet Smells: Catalog Validation We have implemented both a batch and web- based spreadsheet quality analyzer tools: 17
  • 18. SpreadSheet Quality Model: Evaluation We have developed an equivalent android-based application to assess quality of cloud stored spreadsheets (google docs). 18
  • 19. Conclusions ● We presented a quality model for spreadsheets. ● We have implemented the quality model as three different tools. ● We have calibrated our model using the tools a large repository containing real-world spreadsheets. ● But, this is a preliminary result/model. We need to extend our metric suite and, thus, to consider more sub- characteristics of the ISO 9126 std. 19
  • 20. Research Material ● SSaaPP – SpreadSheets as a Programmin Paradigm (FCT funded) http://ssaapp.di.uminho.pt ● AutoSeer - Automated Test Oracles for Software Error Detection (FCT funded) http://www.fe.up.pt/AutoSeer 20