SlideShare a Scribd company logo
1 of 26
Download to read offline
CRASH Special Report
                    Impact of JEE frameworks on the
                    structural quality of applications




CAST Confidential                 1
Content

1.      CRASH Special Report – JEE Framework Analysis Overview
2.      Approach and Terminology
3.      Data Summary
4.      JEE Frameworks Analysis – Key Findings
5.      JEE Technology Mix Analysis – Key Findings
6.      Conclusions




CAST Confidential
CRASH Special Report – JEE Framework Analysis Overview
     Objective:
      – Understand the impact of frameworks on structural quality – reliability, security and
        performance of applications
      – Understand the impact on structural quality of combining JEE applications with other
        technology
     Data Sample:
      – Source: CAST Appmarq benchmarking database
      – 496 JEE-based business applications
      – 152 million lines of code
      – Frameworks analyzed: Hibernate, Spring, Struts
     Findings:
      – Applications with only Hibernate tend to be of higher quality
      – Applications with Hibernate + Spring tend be of larger size
      – Huge variation in quality of applications with no frameworks
      – Majority of JEE applications don’t use frameworks
      – Overall quality tends to degrade for JEE applications when combined with C/C++
      – Pure JEE applications tend to be of higher quality
CAST Confidential
Content

1.      CRASH Special Report – JEE Framework Analysis Overview
2.      Approach and Terminology
3.      Data Summary
4.      JEE Frameworks Analysis – Key Findings
5.      JEE Technology Mix Analysis – Key Findings
6.      Conclusions




CAST Confidential
Appmarq benchmarking repository – largest database of its kind
with structural quality data from source code analysis

                                       Application Quality   Central Benchmarking
                                       Data From CASTAIP           Database

                                                                                    Benchmarking
    Application Source Code Analyzed




                                        Across Industries




                                            Across                                    Industry
                                          Technologies                                 Trends




                                            Across                                      Best
                                          Development           Anonymized /        Practices &
                                            Regions              Normalized          Standards
                                                                                    Development




CAST Confidential
All data gathered from the automated analysis of business
applications using CAST Application Intelligence Platform (AIP)
 CAST AIP - Leading Software Analysis and Measurement Platform
        The CAST Application Intelligence Center

                                                                     Actionable visibility &
                                                                      measures for all:
                             Compliance
                               Checks


                                                                  Reports on application
                     Quality &
                      Sizing                                      health, team
                     Measures                                     performance,
                                     Code,                        benchmarking …
                                 Architecture &                                          CxOs and VPs
                                 Data structure
                                    Analysis
                                                                               … Dashboard featuring
                                                                              software characteristics,
     CAST Application Intelligence Platform                                  cost and risk drivers, root
                                                                                     cause analysis…
                                                                  Management

          WEB       RDBMS        .NET          DB2       Cobol
                                                                  … and feedback & advice
                     C++                  Oracle                  on software quality and
                                                                  engineering
                                                             BI
          SAP       Siebel       Java              EAI                                  Dev Teams

CAST Confidential
                                                                                          Copyright CAST 2011   6
CAST AIP: Structural Quality Characteristics

1.      Robustness: the stability of an application and the likelihood of
        introducing defects when modifying it
2.      Performance: the responsiveness of an application
3.      Security: an application’s ability to prevent unauthorized
        intrusions
4.      Transferability: the ease with which a new team can
        understand the application and quickly become productive
        working on it
5.      Changeability: an application’s ability to be easily modified
6.      Total Quality Index: a composite score computed from the five
        Quality Characteristics listed above




CAST Confidential
Content

1.      CRASH Special Report – JEE Framework Analysis Overview
2.      Approach and Terminology
3.      Data Summary
4.      JEE Frameworks Analysis – Key Findings
5.      JEE Technology Mix Analysis – Key Findings
6.      Conclusions




CAST Confidential
Data Sample for this Report
             JEE Applications by
             different frameworks
 JEE Frameworks                          Sum of
     Groups            # Apps   # Cos     KLoC
Struts 1.x              64       33     11,713.39

Hibernate               24       13     3,265.23

Hibernate-Spring        29       20     14,439.43
                                                    JEE Applications in combination
Hibernate-Struts 1.x    37       19     10,319.72       with other technologies
No Frameworks           170      49     31,323.39        JEE                           Sum of
                                                    Technology Mix   # Apps   # Cos     KLoC
Grand Total             324       -     71,061.16
                                                    JEE-.NET          18       11      9,343.66

                                                    JEE-C             19       9       8,186.32

                                                    JEE-C++           17       7      15,247.45

                                                    JEE-Cobol         50       9      20,975.09

                                                    JEE-Mixed         29       16     17,689.99

                                                    JEE               120      20     16,914.93

                                                    JEE-DB            243      56     63,992.35

                                                    Grand Total       496       -     152,349.79


CAST Confidential
JEE Frameworks: Wide range by application size

 Wide range of applications: 10 KLOC to > 2,4 MLOC




CAST Confidential
JEE Frameworks: Primarily from 6 industry segments




                                              Hibernate-   Hibernate-   No Frame-   Grand
Industry Segment     Struts 1.x   Hibernate     Spring     Struts 1.x    works      Total
Financial Services       9           3           10            5           67        94
Government               5           3            2            2           9         21
Insurance                9           4            2            7           13        35
Manufacturing           11           7            2            2           12        34
Telecommunications      13           3            8            9           32        65
Utilities                5           0            1            1           13        20
Other                   12           4            1           11           17        45
Grand Total             64           24          29           37          170       324




CAST Confidential
JEE Frameworks: Good representation of shoring & sourcing type



                                                Hibernate-   Hibernate-   No Frame-   Grand
Sourcing Type          Struts 1.x   Hibernate     Spring     Struts 1.x    works      Total
Primarily In-House         29           9           10           18          62        128
Primarily Outsourced       34          15           15           19          85        168
Grand Total                63          24           25           37          147       324




                                                Hibernate-   Hibernate-   No Frame-   Grand
Shoring Type           Struts 1.x   Hibernate     Spring     Struts 1.x    works      Total
Primarily Offshore        16           3            7            8           30        64
Primarily Onshore         47           21          16           29          117       230
Grand Total               64           24          29           37          170       324




CAST Confidential
JEE with Technology Mix: Primarily from 6 industry segments



                     JEE -   JEE –   JEE –    JEE –   JEE –         JEE –   Grand
Industry Segment     .NET      C      C++    COBOL    Mixed   JEE    DB     Total

Financial Services    9       1       7       44       10     37     70     178
Government            0       0       0        0       0      12     9       21
Insurance             4       1       0        3       1       8     30      47
Manufacturing         0       2       0        0       3      20     26      51
Telecommunications    1       3       8        0       10     14     57      93
Utilities             3       6       1        0       1      10     10      31
Other                 1       6       1        3       4      19     32      66
Grand Total           18      19      17      50       29     120   243     496




CAST Confidential
JEE Technology Mix: Good representation of shoring &
sourcing type

                       JEE-           JEE-   JEE-    JEE-          JEE-   Grand
Sourcing Type          .NET   JEE-C   C++    Cobol   Mixed   JEE    DB    Total
Primarily In-House      6      6      12      29      16     37    112    218
Primarily Outsourced   10      12      5      20      12     66    120    245
Unknown                 2      1       0      1       1      17    11      33
Grand Total            16      18     17      49      28     103   232    496



                       JEE-           JEE-   JEE-    JEE-          JEE-   Grand
Shoring Type           .NET   JEE-C   C++    Cobol   Mixed   JEE    DB    Total
Primarily Offshore      7      1       8      7       8      26    48     105
Primarily Onshore       9      17      8      41      20     77    180    352
Unknown                 2      1       1      2       1      17    15      39
Grand Total            16      18     16      48      28     103   228    496




CAST Confidential
Content

1.      CRASH Special Report – JEE Framework Analysis Overview
2.      Approach and Terminology
3.      Data Summary
4.      JEE Frameworks Analysis – Key Findings
5.      JEE Technology Mix Analysis – Key Findings
6.      Conclusions




CAST Confidential
Sample indicates that majority of JEE applications still don’t use
frameworks
                         JEE Applications by different frameworks
                                                             Combined
                      JEE Frameworks                         Size of all   Average App
                          Groups           # Apps   # Cos   Apps (KLoC)    Size (KLoC)

                    Struts 1.x              64       33       11,713          183
                    Hibernate               24       13        3,265          136
                    Hibernate-Spring        29       20       14,439          498
                    Hibernate-Struts 1.x    37       19       10,320          279
                    No Frameworks           170      49       31,323          184

                    Grand Total             324       -       71,061          219


     Majority of the applications that don’t use frameworks could be part of older
      generation applications
     As one of the first frameworks, Struts could be used on more applications than
      other frameworks
     Applications with Hibernate-Spring combination are significantly larger in size
      than other JEE applications
CAST Confidential
Applications that use Hibernate have higher quality scores than
other frameworks




CAST Confidential
JEE applications that don’t use Hibernate or Spring have big
variance in quality




            Reasons for this variation could be:
             – These application tend to be of older generation, as discussed earlier (or)
             – Hibernate and Spring enable developers to build applications in a more
               consistent manner
CAST Confidential
Content

1.      CRASH Special Report – JEE Framework Analysis Overview
2.      Approach and Terminology
3.      Data Summary
4.      JEE Frameworks Analysis – Key Findings
5.      JEE Technology Mix Analysis – Key Findings
6.      Conclusions




CAST Confidential
Applications with cross technology components are larger than
pure JEE applications

                        JEE                                  Average
                     Technology                    Sum of    App Size
                       Groups     # Apps   # Cos    KLoC      KLoC
                    JEE-.NET       18       11      9,344      519
                    JEE-C          19       9       8,186      431
                    JEE-C++        17       7      15,247      897
                    JEE-Cobol      50       9      20,975      420
                    JEE-Mixed      29       16     17,690      610
                    JEE            120      20     16,915      141
                    JEE-DB         243      56     63,992      263
                    Grand Total    496             152,350     307

      Applications with C++ components are significantly larger than other
       combinations of technologies



CAST Confidential
JEE-Technology Mix: Distribution across industries

                         JEE-              JEE-    JEE-     JEE-              JEE-    Grand
 Industry Segment        .NET     JEE-C    C++     Cobol    Mixed     JEE      DB     Total
 Financial Services        9        1        7       44       10       37       70      178
 Government                0        0        0        0        0       12       9       21
 Insurance                 4        1        0        3        1       8        30      47
 Manufacturing             0        2        0        0        3       20       26      51
 Telecommunications        1        3        8        0       10       14       57      93
 Utilities                 3        6        1        0        1       10       10      31
 Grand Total               17       13      16       47       25      101      202      421

     Pure JEE applications are spread across industries
     As expected, JEE-Cobol apps are concentrated in the Financial Services sector
     C, C++ are more popular in Financial Services and Telecom industries
      – They are frequently used in embedded systems in telecom equipment
      – They are also the language of choice for low-level programming needed for speed in
        trading systems

CAST Confidential
JEE applications with C/C++ tend to be of lower quality




     This finding is consistent with 2011 CRASH Report
     C/C++ programming languages tend to be lower level, closer to machine
      language, harder to program, and have more scope for making mistakes

CAST Confidential
JEE + .NET behave similar to pure JEE applications




     This may be because they both are newer generation languages with higher
      level of abstraction
     They also simplify development and the bulk of common development tasks are
      standardized
CAST Confidential
Content

1.      CRASH Special Report – JEE Framework Analysis Overview
2.      Approach and Terminology
3.      Data Summary
4.      JEE Frameworks Analysis – Key Findings
5.      JEE Technology Mix Analysis – Key Findings
6.      Conclusions




CAST Confidential
Conclusions

 In addition to ease of development, frameworks do enable higher
      quality of applications
 Larger more complex applications tend to use a combination of
      frameworks in their architecture (Hibernate + Spring)
 Special attention should be given to quality when mixing JEE
      with different technologies
      – Cross-technology applications tend to be more complex
      – Developers are often familiar with only one technology
      – Applications with older generation low-level languages like C, C++
           can be of lower quality to begin with




CAST Confidential
Contact Information


                           Pete Pizzutillo

                      p.pizzutillo@castsoftware.com


                         www.castsoftware.com


                         blog.castsoftware.com/


                       linkedin.com/company/cast


                              @OnQuality


                       slideshare.net/castsoftware


CAST Confidential

More Related Content

What's hot

What's hot (6)

Friedenthal.sandford
Friedenthal.sandfordFriedenthal.sandford
Friedenthal.sandford
 
The challenges and opportunities in open source reuse
The challenges and opportunities in open source reuseThe challenges and opportunities in open source reuse
The challenges and opportunities in open source reuse
 
Evento Sugar Crm 2009 - Talend
Evento Sugar Crm 2009 - TalendEvento Sugar Crm 2009 - Talend
Evento Sugar Crm 2009 - Talend
 
Modernize your-java ee-app-server-infrastructure
Modernize your-java ee-app-server-infrastructureModernize your-java ee-app-server-infrastructure
Modernize your-java ee-app-server-infrastructure
 
Integration
IntegrationIntegration
Integration
 
Madhava_Sr_JAVA_J2EE
Madhava_Sr_JAVA_J2EEMadhava_Sr_JAVA_J2EE
Madhava_Sr_JAVA_J2EE
 

Viewers also liked

HUMAN FACTOR CASES ANALYSIS
HUMAN FACTOR CASES ANALYSISHUMAN FACTOR CASES ANALYSIS
HUMAN FACTOR CASES ANALYSISfarahshafinaz
 
Project of Aircraft Structure Failure
Project of Aircraft Structure FailureProject of Aircraft Structure Failure
Project of Aircraft Structure FailureMal Mai
 
Aviation disasters due to mechanical failures
Aviation disasters due to mechanical failuresAviation disasters due to mechanical failures
Aviation disasters due to mechanical failuresCyril Sudip
 

Viewers also liked (6)

Blog3
Blog3Blog3
Blog3
 
HUMAN FACTOR CASES ANALYSIS
HUMAN FACTOR CASES ANALYSISHUMAN FACTOR CASES ANALYSIS
HUMAN FACTOR CASES ANALYSIS
 
Ageing of aircraft
Ageing of aircraftAgeing of aircraft
Ageing of aircraft
 
Corrosion
CorrosionCorrosion
Corrosion
 
Project of Aircraft Structure Failure
Project of Aircraft Structure FailureProject of Aircraft Structure Failure
Project of Aircraft Structure Failure
 
Aviation disasters due to mechanical failures
Aviation disasters due to mechanical failuresAviation disasters due to mechanical failures
Aviation disasters due to mechanical failures
 

Similar to CRASH Special Report - JEE

CISQ and Software Quality Measurement - Software Assurance Forum (March 2010)
CISQ and Software Quality Measurement - Software Assurance Forum (March 2010)CISQ and Software Quality Measurement - Software Assurance Forum (March 2010)
CISQ and Software Quality Measurement - Software Assurance Forum (March 2010)CISQ - Consortium for IT Software Quality
 
Jithin Eapen Curriculum- Vitae
Jithin Eapen Curriculum- VitaeJithin Eapen Curriculum- Vitae
Jithin Eapen Curriculum- VitaeJithin Eapen
 
Software Measurement for Lean Application Management
Software Measurement for Lean Application ManagementSoftware Measurement for Lean Application Management
Software Measurement for Lean Application ManagementCAST
 
Cast Application Intelligence Platform
Cast Application Intelligence PlatformCast Application Intelligence Platform
Cast Application Intelligence PlatformJohn Fotiadis ✔️
 
Omnikron Services 2009
Omnikron Services 2009Omnikron Services 2009
Omnikron Services 2009Robin Borough
 
Application Lifecycle Management & VSTS
Application Lifecycle Management & VSTSApplication Lifecycle Management & VSTS
Application Lifecycle Management & VSTSMicrosoft Iceland
 
A Machine learning based framework for Verification and Validation of Massive...
A Machine learning based framework for Verification and Validation of Massive...A Machine learning based framework for Verification and Validation of Massive...
A Machine learning based framework for Verification and Validation of Massive...IRJET Journal
 
Resume: DevOps/Technology Architect - Satya Prakash
Resume: DevOps/Technology Architect   -  Satya PrakashResume: DevOps/Technology Architect   -  Satya Prakash
Resume: DevOps/Technology Architect - Satya PrakashSatyaPrakash454
 
Big Data Needs Big Analytics
Big Data Needs Big AnalyticsBig Data Needs Big Analytics
Big Data Needs Big AnalyticsDeepak Ramanathan
 
CAST Imaging: Map & Master Your Software
CAST Imaging: Map & Master Your SoftwareCAST Imaging: Map & Master Your Software
CAST Imaging: Map & Master Your SoftwareNeo4j
 
David Adams - Linkedin Information Architect Business Analyst - Web / Social ...
David Adams - Linkedin Information Architect Business Analyst - Web / Social ...David Adams - Linkedin Information Architect Business Analyst - Web / Social ...
David Adams - Linkedin Information Architect Business Analyst - Web / Social ...David Adams
 
Rapid Portfolio Analysis powered by CAST Highlight
Rapid Portfolio Analysis powered by CAST HighlightRapid Portfolio Analysis powered by CAST Highlight
Rapid Portfolio Analysis powered by CAST HighlightCAST
 
Oak Systems - When you build Software, we build Quality in it
Oak Systems - When you build Software, we build Quality in it Oak Systems - When you build Software, we build Quality in it
Oak Systems - When you build Software, we build Quality in it Oak Systems
 
DICE & Cloudify – Quality Big Data Made Easy
DICE & Cloudify – Quality Big Data Made EasyDICE & Cloudify – Quality Big Data Made Easy
DICE & Cloudify – Quality Big Data Made EasyCloudify Community
 
Automated BI Modernizations
Automated BI ModernizationsAutomated BI Modernizations
Automated BI Modernizationsdlautzenheiser
 
Cast cloud april_2019
Cast cloud april_2019Cast cloud april_2019
Cast cloud april_2019SPIN Chennai
 
Model Driven Architecture (MDA): Motivations, Status & Future
Model Driven Architecture (MDA): Motivations, Status & FutureModel Driven Architecture (MDA): Motivations, Status & Future
Model Driven Architecture (MDA): Motivations, Status & Futureelliando dias
 
Struts & hibernate ppt
Struts & hibernate pptStruts & hibernate ppt
Struts & hibernate pptPankaj Patel
 

Similar to CRASH Special Report - JEE (20)

CISQ and Software Quality Measurement - Software Assurance Forum (March 2010)
CISQ and Software Quality Measurement - Software Assurance Forum (March 2010)CISQ and Software Quality Measurement - Software Assurance Forum (March 2010)
CISQ and Software Quality Measurement - Software Assurance Forum (March 2010)
 
Jithin Eapen Curriculum- Vitae
Jithin Eapen Curriculum- VitaeJithin Eapen Curriculum- Vitae
Jithin Eapen Curriculum- Vitae
 
Software Measurement for Lean Application Management
Software Measurement for Lean Application ManagementSoftware Measurement for Lean Application Management
Software Measurement for Lean Application Management
 
Feasible
FeasibleFeasible
Feasible
 
Cast Application Intelligence Platform
Cast Application Intelligence PlatformCast Application Intelligence Platform
Cast Application Intelligence Platform
 
Omnikron Services 2009
Omnikron Services 2009Omnikron Services 2009
Omnikron Services 2009
 
Application Lifecycle Management & VSTS
Application Lifecycle Management & VSTSApplication Lifecycle Management & VSTS
Application Lifecycle Management & VSTS
 
A Machine learning based framework for Verification and Validation of Massive...
A Machine learning based framework for Verification and Validation of Massive...A Machine learning based framework for Verification and Validation of Massive...
A Machine learning based framework for Verification and Validation of Massive...
 
Resume: DevOps/Technology Architect - Satya Prakash
Resume: DevOps/Technology Architect   -  Satya PrakashResume: DevOps/Technology Architect   -  Satya Prakash
Resume: DevOps/Technology Architect - Satya Prakash
 
Big Data Needs Big Analytics
Big Data Needs Big AnalyticsBig Data Needs Big Analytics
Big Data Needs Big Analytics
 
CAST Imaging: Map & Master Your Software
CAST Imaging: Map & Master Your SoftwareCAST Imaging: Map & Master Your Software
CAST Imaging: Map & Master Your Software
 
David Adams - Linkedin Information Architect Business Analyst - Web / Social ...
David Adams - Linkedin Information Architect Business Analyst - Web / Social ...David Adams - Linkedin Information Architect Business Analyst - Web / Social ...
David Adams - Linkedin Information Architect Business Analyst - Web / Social ...
 
Rapid Portfolio Analysis powered by CAST Highlight
Rapid Portfolio Analysis powered by CAST HighlightRapid Portfolio Analysis powered by CAST Highlight
Rapid Portfolio Analysis powered by CAST Highlight
 
Oak Systems - When you build Software, we build Quality in it
Oak Systems - When you build Software, we build Quality in it Oak Systems - When you build Software, we build Quality in it
Oak Systems - When you build Software, we build Quality in it
 
DICE & Cloudify – Quality Big Data Made Easy
DICE & Cloudify – Quality Big Data Made EasyDICE & Cloudify – Quality Big Data Made Easy
DICE & Cloudify – Quality Big Data Made Easy
 
Automated BI Modernizations
Automated BI ModernizationsAutomated BI Modernizations
Automated BI Modernizations
 
Cast cloud april_2019
Cast cloud april_2019Cast cloud april_2019
Cast cloud april_2019
 
Model Driven Architecture (MDA): Motivations, Status & Future
Model Driven Architecture (MDA): Motivations, Status & FutureModel Driven Architecture (MDA): Motivations, Status & Future
Model Driven Architecture (MDA): Motivations, Status & Future
 
Keynote Day 1 2009
Keynote Day 1 2009Keynote Day 1 2009
Keynote Day 1 2009
 
Struts & hibernate ppt
Struts & hibernate pptStruts & hibernate ppt
Struts & hibernate ppt
 

More from CAST

Six steps-to-enhance-performance-of-critical-systems
Six steps-to-enhance-performance-of-critical-systemsSix steps-to-enhance-performance-of-critical-systems
Six steps-to-enhance-performance-of-critical-systemsCAST
 
Application Performance: 6 Steps to Enhance Performance of Critical Systems
Application Performance: 6 Steps to Enhance Performance of Critical SystemsApplication Performance: 6 Steps to Enhance Performance of Critical Systems
Application Performance: 6 Steps to Enhance Performance of Critical SystemsCAST
 
Application Assessment - Executive Summary Report
Application Assessment - Executive Summary ReportApplication Assessment - Executive Summary Report
Application Assessment - Executive Summary ReportCAST
 
Cloud Migration: Azure acceleration with CAST Highlight
Cloud Migration: Azure acceleration with CAST HighlightCloud Migration: Azure acceleration with CAST Highlight
Cloud Migration: Azure acceleration with CAST HighlightCAST
 
Cloud Readiness : CAST & Microsoft Azure Partnership Overview
Cloud Readiness : CAST & Microsoft Azure Partnership OverviewCloud Readiness : CAST & Microsoft Azure Partnership Overview
Cloud Readiness : CAST & Microsoft Azure Partnership OverviewCAST
 
Cloud Migration: Cloud Readiness Assessment Case Study
Cloud Migration: Cloud Readiness Assessment Case StudyCloud Migration: Cloud Readiness Assessment Case Study
Cloud Migration: Cloud Readiness Assessment Case StudyCAST
 
Digital Transformation e-book: Taking the 20X20n approach to accelerating Dig...
Digital Transformation e-book: Taking the 20X20n approach to accelerating Dig...Digital Transformation e-book: Taking the 20X20n approach to accelerating Dig...
Digital Transformation e-book: Taking the 20X20n approach to accelerating Dig...CAST
 
Why computers will never be safe
Why computers will never be safeWhy computers will never be safe
Why computers will never be safeCAST
 
Green indexes used in CAST to measure the energy consumption in code
Green indexes used in CAST to measure the energy consumption in codeGreen indexes used in CAST to measure the energy consumption in code
Green indexes used in CAST to measure the energy consumption in codeCAST
 
9 Steps to Creating ADM Budgets
9 Steps to Creating ADM Budgets9 Steps to Creating ADM Budgets
9 Steps to Creating ADM BudgetsCAST
 
Improving ADM Vendor Relationship through Outcome Based Contracts
Improving ADM Vendor Relationship through Outcome Based ContractsImproving ADM Vendor Relationship through Outcome Based Contracts
Improving ADM Vendor Relationship through Outcome Based ContractsCAST
 
Drive Business Excellence with Outcomes-Based Contracting: The OBC Toolkit
Drive Business Excellence with Outcomes-Based Contracting: The OBC ToolkitDrive Business Excellence with Outcomes-Based Contracting: The OBC Toolkit
Drive Business Excellence with Outcomes-Based Contracting: The OBC ToolkitCAST
 
CAST Highlight: Code-level portfolio analysis. FAST.
CAST Highlight: Code-level portfolio analysis. FAST.CAST Highlight: Code-level portfolio analysis. FAST.
CAST Highlight: Code-level portfolio analysis. FAST.CAST
 
Shifting Vendor Management Focus to Risk and Business Outcomes
Shifting Vendor Management Focus to Risk and Business OutcomesShifting Vendor Management Focus to Risk and Business Outcomes
Shifting Vendor Management Focus to Risk and Business OutcomesCAST
 
Applying Software Quality Models to Software Security
Applying Software Quality Models to Software SecurityApplying Software Quality Models to Software Security
Applying Software Quality Models to Software SecurityCAST
 
The business case for software analysis & measurement
The business case for software analysis & measurementThe business case for software analysis & measurement
The business case for software analysis & measurementCAST
 
Cast Highlight Software Maintenance Infographic
Cast Highlight Software Maintenance InfographicCast Highlight Software Maintenance Infographic
Cast Highlight Software Maintenance InfographicCAST
 
What is system level analysis
What is system level analysisWhat is system level analysis
What is system level analysisCAST
 
Deloitte Tech Trends 2014 Technical Debt
Deloitte Tech Trends 2014 Technical DebtDeloitte Tech Trends 2014 Technical Debt
Deloitte Tech Trends 2014 Technical DebtCAST
 
What you should know about software measurement platforms
What you should know about software measurement platformsWhat you should know about software measurement platforms
What you should know about software measurement platformsCAST
 

More from CAST (20)

Six steps-to-enhance-performance-of-critical-systems
Six steps-to-enhance-performance-of-critical-systemsSix steps-to-enhance-performance-of-critical-systems
Six steps-to-enhance-performance-of-critical-systems
 
Application Performance: 6 Steps to Enhance Performance of Critical Systems
Application Performance: 6 Steps to Enhance Performance of Critical SystemsApplication Performance: 6 Steps to Enhance Performance of Critical Systems
Application Performance: 6 Steps to Enhance Performance of Critical Systems
 
Application Assessment - Executive Summary Report
Application Assessment - Executive Summary ReportApplication Assessment - Executive Summary Report
Application Assessment - Executive Summary Report
 
Cloud Migration: Azure acceleration with CAST Highlight
Cloud Migration: Azure acceleration with CAST HighlightCloud Migration: Azure acceleration with CAST Highlight
Cloud Migration: Azure acceleration with CAST Highlight
 
Cloud Readiness : CAST & Microsoft Azure Partnership Overview
Cloud Readiness : CAST & Microsoft Azure Partnership OverviewCloud Readiness : CAST & Microsoft Azure Partnership Overview
Cloud Readiness : CAST & Microsoft Azure Partnership Overview
 
Cloud Migration: Cloud Readiness Assessment Case Study
Cloud Migration: Cloud Readiness Assessment Case StudyCloud Migration: Cloud Readiness Assessment Case Study
Cloud Migration: Cloud Readiness Assessment Case Study
 
Digital Transformation e-book: Taking the 20X20n approach to accelerating Dig...
Digital Transformation e-book: Taking the 20X20n approach to accelerating Dig...Digital Transformation e-book: Taking the 20X20n approach to accelerating Dig...
Digital Transformation e-book: Taking the 20X20n approach to accelerating Dig...
 
Why computers will never be safe
Why computers will never be safeWhy computers will never be safe
Why computers will never be safe
 
Green indexes used in CAST to measure the energy consumption in code
Green indexes used in CAST to measure the energy consumption in codeGreen indexes used in CAST to measure the energy consumption in code
Green indexes used in CAST to measure the energy consumption in code
 
9 Steps to Creating ADM Budgets
9 Steps to Creating ADM Budgets9 Steps to Creating ADM Budgets
9 Steps to Creating ADM Budgets
 
Improving ADM Vendor Relationship through Outcome Based Contracts
Improving ADM Vendor Relationship through Outcome Based ContractsImproving ADM Vendor Relationship through Outcome Based Contracts
Improving ADM Vendor Relationship through Outcome Based Contracts
 
Drive Business Excellence with Outcomes-Based Contracting: The OBC Toolkit
Drive Business Excellence with Outcomes-Based Contracting: The OBC ToolkitDrive Business Excellence with Outcomes-Based Contracting: The OBC Toolkit
Drive Business Excellence with Outcomes-Based Contracting: The OBC Toolkit
 
CAST Highlight: Code-level portfolio analysis. FAST.
CAST Highlight: Code-level portfolio analysis. FAST.CAST Highlight: Code-level portfolio analysis. FAST.
CAST Highlight: Code-level portfolio analysis. FAST.
 
Shifting Vendor Management Focus to Risk and Business Outcomes
Shifting Vendor Management Focus to Risk and Business OutcomesShifting Vendor Management Focus to Risk and Business Outcomes
Shifting Vendor Management Focus to Risk and Business Outcomes
 
Applying Software Quality Models to Software Security
Applying Software Quality Models to Software SecurityApplying Software Quality Models to Software Security
Applying Software Quality Models to Software Security
 
The business case for software analysis & measurement
The business case for software analysis & measurementThe business case for software analysis & measurement
The business case for software analysis & measurement
 
Cast Highlight Software Maintenance Infographic
Cast Highlight Software Maintenance InfographicCast Highlight Software Maintenance Infographic
Cast Highlight Software Maintenance Infographic
 
What is system level analysis
What is system level analysisWhat is system level analysis
What is system level analysis
 
Deloitte Tech Trends 2014 Technical Debt
Deloitte Tech Trends 2014 Technical DebtDeloitte Tech Trends 2014 Technical Debt
Deloitte Tech Trends 2014 Technical Debt
 
What you should know about software measurement platforms
What you should know about software measurement platformsWhat you should know about software measurement platforms
What you should know about software measurement platforms
 

Recently uploaded

Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
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
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 

Recently uploaded (20)

Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
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...
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 

CRASH Special Report - JEE

  • 1. CRASH Special Report Impact of JEE frameworks on the structural quality of applications CAST Confidential 1
  • 2. Content 1. CRASH Special Report – JEE Framework Analysis Overview 2. Approach and Terminology 3. Data Summary 4. JEE Frameworks Analysis – Key Findings 5. JEE Technology Mix Analysis – Key Findings 6. Conclusions CAST Confidential
  • 3. CRASH Special Report – JEE Framework Analysis Overview  Objective: – Understand the impact of frameworks on structural quality – reliability, security and performance of applications – Understand the impact on structural quality of combining JEE applications with other technology  Data Sample: – Source: CAST Appmarq benchmarking database – 496 JEE-based business applications – 152 million lines of code – Frameworks analyzed: Hibernate, Spring, Struts  Findings: – Applications with only Hibernate tend to be of higher quality – Applications with Hibernate + Spring tend be of larger size – Huge variation in quality of applications with no frameworks – Majority of JEE applications don’t use frameworks – Overall quality tends to degrade for JEE applications when combined with C/C++ – Pure JEE applications tend to be of higher quality CAST Confidential
  • 4. Content 1. CRASH Special Report – JEE Framework Analysis Overview 2. Approach and Terminology 3. Data Summary 4. JEE Frameworks Analysis – Key Findings 5. JEE Technology Mix Analysis – Key Findings 6. Conclusions CAST Confidential
  • 5. Appmarq benchmarking repository – largest database of its kind with structural quality data from source code analysis Application Quality Central Benchmarking Data From CASTAIP Database Benchmarking Application Source Code Analyzed Across Industries Across Industry Technologies Trends Across Best Development Anonymized / Practices & Regions Normalized Standards Development CAST Confidential
  • 6. All data gathered from the automated analysis of business applications using CAST Application Intelligence Platform (AIP) CAST AIP - Leading Software Analysis and Measurement Platform The CAST Application Intelligence Center Actionable visibility & measures for all: Compliance Checks Reports on application Quality & Sizing health, team Measures performance, Code, benchmarking … Architecture & CxOs and VPs Data structure Analysis … Dashboard featuring software characteristics, CAST Application Intelligence Platform cost and risk drivers, root cause analysis… Management WEB RDBMS .NET DB2 Cobol … and feedback & advice C++ Oracle on software quality and engineering BI SAP Siebel Java EAI Dev Teams CAST Confidential Copyright CAST 2011 6
  • 7. CAST AIP: Structural Quality Characteristics 1. Robustness: the stability of an application and the likelihood of introducing defects when modifying it 2. Performance: the responsiveness of an application 3. Security: an application’s ability to prevent unauthorized intrusions 4. Transferability: the ease with which a new team can understand the application and quickly become productive working on it 5. Changeability: an application’s ability to be easily modified 6. Total Quality Index: a composite score computed from the five Quality Characteristics listed above CAST Confidential
  • 8. Content 1. CRASH Special Report – JEE Framework Analysis Overview 2. Approach and Terminology 3. Data Summary 4. JEE Frameworks Analysis – Key Findings 5. JEE Technology Mix Analysis – Key Findings 6. Conclusions CAST Confidential
  • 9. Data Sample for this Report JEE Applications by different frameworks JEE Frameworks Sum of Groups # Apps # Cos KLoC Struts 1.x 64 33 11,713.39 Hibernate 24 13 3,265.23 Hibernate-Spring 29 20 14,439.43 JEE Applications in combination Hibernate-Struts 1.x 37 19 10,319.72 with other technologies No Frameworks 170 49 31,323.39 JEE Sum of Technology Mix # Apps # Cos KLoC Grand Total 324 - 71,061.16 JEE-.NET 18 11 9,343.66 JEE-C 19 9 8,186.32 JEE-C++ 17 7 15,247.45 JEE-Cobol 50 9 20,975.09 JEE-Mixed 29 16 17,689.99 JEE 120 20 16,914.93 JEE-DB 243 56 63,992.35 Grand Total 496 - 152,349.79 CAST Confidential
  • 10. JEE Frameworks: Wide range by application size  Wide range of applications: 10 KLOC to > 2,4 MLOC CAST Confidential
  • 11. JEE Frameworks: Primarily from 6 industry segments Hibernate- Hibernate- No Frame- Grand Industry Segment Struts 1.x Hibernate Spring Struts 1.x works Total Financial Services 9 3 10 5 67 94 Government 5 3 2 2 9 21 Insurance 9 4 2 7 13 35 Manufacturing 11 7 2 2 12 34 Telecommunications 13 3 8 9 32 65 Utilities 5 0 1 1 13 20 Other 12 4 1 11 17 45 Grand Total 64 24 29 37 170 324 CAST Confidential
  • 12. JEE Frameworks: Good representation of shoring & sourcing type Hibernate- Hibernate- No Frame- Grand Sourcing Type Struts 1.x Hibernate Spring Struts 1.x works Total Primarily In-House 29 9 10 18 62 128 Primarily Outsourced 34 15 15 19 85 168 Grand Total 63 24 25 37 147 324 Hibernate- Hibernate- No Frame- Grand Shoring Type Struts 1.x Hibernate Spring Struts 1.x works Total Primarily Offshore 16 3 7 8 30 64 Primarily Onshore 47 21 16 29 117 230 Grand Total 64 24 29 37 170 324 CAST Confidential
  • 13. JEE with Technology Mix: Primarily from 6 industry segments JEE - JEE – JEE – JEE – JEE – JEE – Grand Industry Segment .NET C C++ COBOL Mixed JEE DB Total Financial Services 9 1 7 44 10 37 70 178 Government 0 0 0 0 0 12 9 21 Insurance 4 1 0 3 1 8 30 47 Manufacturing 0 2 0 0 3 20 26 51 Telecommunications 1 3 8 0 10 14 57 93 Utilities 3 6 1 0 1 10 10 31 Other 1 6 1 3 4 19 32 66 Grand Total 18 19 17 50 29 120 243 496 CAST Confidential
  • 14. JEE Technology Mix: Good representation of shoring & sourcing type JEE- JEE- JEE- JEE- JEE- Grand Sourcing Type .NET JEE-C C++ Cobol Mixed JEE DB Total Primarily In-House 6 6 12 29 16 37 112 218 Primarily Outsourced 10 12 5 20 12 66 120 245 Unknown 2 1 0 1 1 17 11 33 Grand Total 16 18 17 49 28 103 232 496 JEE- JEE- JEE- JEE- JEE- Grand Shoring Type .NET JEE-C C++ Cobol Mixed JEE DB Total Primarily Offshore 7 1 8 7 8 26 48 105 Primarily Onshore 9 17 8 41 20 77 180 352 Unknown 2 1 1 2 1 17 15 39 Grand Total 16 18 16 48 28 103 228 496 CAST Confidential
  • 15. Content 1. CRASH Special Report – JEE Framework Analysis Overview 2. Approach and Terminology 3. Data Summary 4. JEE Frameworks Analysis – Key Findings 5. JEE Technology Mix Analysis – Key Findings 6. Conclusions CAST Confidential
  • 16. Sample indicates that majority of JEE applications still don’t use frameworks JEE Applications by different frameworks Combined JEE Frameworks Size of all Average App Groups # Apps # Cos Apps (KLoC) Size (KLoC) Struts 1.x 64 33 11,713 183 Hibernate 24 13 3,265 136 Hibernate-Spring 29 20 14,439 498 Hibernate-Struts 1.x 37 19 10,320 279 No Frameworks 170 49 31,323 184 Grand Total 324 - 71,061 219  Majority of the applications that don’t use frameworks could be part of older generation applications  As one of the first frameworks, Struts could be used on more applications than other frameworks  Applications with Hibernate-Spring combination are significantly larger in size than other JEE applications CAST Confidential
  • 17. Applications that use Hibernate have higher quality scores than other frameworks CAST Confidential
  • 18. JEE applications that don’t use Hibernate or Spring have big variance in quality  Reasons for this variation could be: – These application tend to be of older generation, as discussed earlier (or) – Hibernate and Spring enable developers to build applications in a more consistent manner CAST Confidential
  • 19. Content 1. CRASH Special Report – JEE Framework Analysis Overview 2. Approach and Terminology 3. Data Summary 4. JEE Frameworks Analysis – Key Findings 5. JEE Technology Mix Analysis – Key Findings 6. Conclusions CAST Confidential
  • 20. Applications with cross technology components are larger than pure JEE applications JEE Average Technology Sum of App Size Groups # Apps # Cos KLoC KLoC JEE-.NET 18 11 9,344 519 JEE-C 19 9 8,186 431 JEE-C++ 17 7 15,247 897 JEE-Cobol 50 9 20,975 420 JEE-Mixed 29 16 17,690 610 JEE 120 20 16,915 141 JEE-DB 243 56 63,992 263 Grand Total 496 152,350 307  Applications with C++ components are significantly larger than other combinations of technologies CAST Confidential
  • 21. JEE-Technology Mix: Distribution across industries JEE- JEE- JEE- JEE- JEE- Grand Industry Segment .NET JEE-C C++ Cobol Mixed JEE DB Total Financial Services 9 1 7 44 10 37 70 178 Government 0 0 0 0 0 12 9 21 Insurance 4 1 0 3 1 8 30 47 Manufacturing 0 2 0 0 3 20 26 51 Telecommunications 1 3 8 0 10 14 57 93 Utilities 3 6 1 0 1 10 10 31 Grand Total 17 13 16 47 25 101 202 421  Pure JEE applications are spread across industries  As expected, JEE-Cobol apps are concentrated in the Financial Services sector  C, C++ are more popular in Financial Services and Telecom industries – They are frequently used in embedded systems in telecom equipment – They are also the language of choice for low-level programming needed for speed in trading systems CAST Confidential
  • 22. JEE applications with C/C++ tend to be of lower quality  This finding is consistent with 2011 CRASH Report  C/C++ programming languages tend to be lower level, closer to machine language, harder to program, and have more scope for making mistakes CAST Confidential
  • 23. JEE + .NET behave similar to pure JEE applications  This may be because they both are newer generation languages with higher level of abstraction  They also simplify development and the bulk of common development tasks are standardized CAST Confidential
  • 24. Content 1. CRASH Special Report – JEE Framework Analysis Overview 2. Approach and Terminology 3. Data Summary 4. JEE Frameworks Analysis – Key Findings 5. JEE Technology Mix Analysis – Key Findings 6. Conclusions CAST Confidential
  • 25. Conclusions  In addition to ease of development, frameworks do enable higher quality of applications  Larger more complex applications tend to use a combination of frameworks in their architecture (Hibernate + Spring)  Special attention should be given to quality when mixing JEE with different technologies – Cross-technology applications tend to be more complex – Developers are often familiar with only one technology – Applications with older generation low-level languages like C, C++ can be of lower quality to begin with CAST Confidential
  • 26. Contact Information Pete Pizzutillo p.pizzutillo@castsoftware.com www.castsoftware.com blog.castsoftware.com/ linkedin.com/company/cast @OnQuality slideshare.net/castsoftware CAST Confidential