SlideShare a Scribd company logo
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

PDF
ATI Professional Development Short Course Universal Arhitecture Description F...
PPTX
Persistent Analytical Instrumentation Expertise
PDF
Malone r12 upgrade-versus-reimplementation
DOCX
Divya Resume
DOCX
Parth-Resume_1-2[1]
PPTX
Connected vehicle highway network applications
PPT
Sa 004 quality_attributes
PDF
Pattern-based Evolution
ATI Professional Development Short Course Universal Arhitecture Description F...
Persistent Analytical Instrumentation Expertise
Malone r12 upgrade-versus-reimplementation
Divya Resume
Parth-Resume_1-2[1]
Connected vehicle highway network applications
Sa 004 quality_attributes
Pattern-based Evolution

What's hot (6)

PDF
Friedenthal.sandford
PDF
The challenges and opportunities in open source reuse
PDF
Evento Sugar Crm 2009 - Talend
PDF
Modernize your-java ee-app-server-infrastructure
PDF
Integration
DOC
Madhava_Sr_JAVA_J2EE
Friedenthal.sandford
The challenges and opportunities in open source reuse
Evento Sugar Crm 2009 - Talend
Modernize your-java ee-app-server-infrastructure
Integration
Madhava_Sr_JAVA_J2EE
Ad

Viewers also liked (6)

PPT
PPTX
HUMAN FACTOR CASES ANALYSIS
PPTX
Ageing of aircraft
PPT
Corrosion
PDF
Project of Aircraft Structure Failure
PPT
Aviation disasters due to mechanical failures
HUMAN FACTOR CASES ANALYSIS
Ageing of aircraft
Corrosion
Project of Aircraft Structure Failure
Aviation disasters due to mechanical failures
Ad

Similar to CRASH Special Report - JEE (20)

PDF
2011/2012 CAST report on Application Software Quality (CRASH)
PDF
Cast Application Intelligence Platform
PDF
1 jazz overview-karthik_k
 
PDF
Jazz Overview- Karthik K
PPSX
Why managing Requirements right is fundamental for your winning embedded prod...
PPTX
F4IT services overview
PDF
Paxcel Snapshot
PDF
From Requirements to high quality deliverables - Visure Solutions & Wind River
PDF
NessPRO Italy on CAST
DOC
Student copybca sem3-se
PPTX
Software project management
PPT
Software Factories in the Real World: How an IBM® WebSphere® Integration Fact...
PPTX
Software architecture
PPTX
Infopulse presentation
PPTX
SPEC INDIA Java Case Study
PDF
XP-Manchester 2013 Software Architecture for Agile Developers Intro
PDF
Aman kaur gandhi
PDF
Aman kaur gandhi
PPT
Smartere test og udvikling med virtualiserede miljøer, Mark Garcia, IBM US
PDF
New IDC Research on Software Analysis & Measurement
2011/2012 CAST report on Application Software Quality (CRASH)
Cast Application Intelligence Platform
1 jazz overview-karthik_k
 
Jazz Overview- Karthik K
Why managing Requirements right is fundamental for your winning embedded prod...
F4IT services overview
Paxcel Snapshot
From Requirements to high quality deliverables - Visure Solutions & Wind River
NessPRO Italy on CAST
Student copybca sem3-se
Software project management
Software Factories in the Real World: How an IBM® WebSphere® Integration Fact...
Software architecture
Infopulse presentation
SPEC INDIA Java Case Study
XP-Manchester 2013 Software Architecture for Agile Developers Intro
Aman kaur gandhi
Aman kaur gandhi
Smartere test og udvikling med virtualiserede miljøer, Mark Garcia, IBM US
New IDC Research on Software Analysis & Measurement

More from CAST (20)

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

Recently uploaded (20)

PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PPTX
A Presentation on Artificial Intelligence
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PPTX
Cloud computing and distributed systems.
PPT
Teaching material agriculture food technology
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Encapsulation theory and applications.pdf
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Electronic commerce courselecture one. Pdf
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Network Security Unit 5.pdf for BCA BBA.
Review of recent advances in non-invasive hemoglobin estimation
Building Integrated photovoltaic BIPV_UPV.pdf
A Presentation on Artificial Intelligence
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Dropbox Q2 2025 Financial Results & Investor Presentation
Cloud computing and distributed systems.
Teaching material agriculture food technology
Unlocking AI with Model Context Protocol (MCP)
Encapsulation theory and applications.pdf
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
NewMind AI Monthly Chronicles - July 2025
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Understanding_Digital_Forensics_Presentation.pptx
Electronic commerce courselecture one. Pdf
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Advanced methodologies resolving dimensionality complications for autism neur...

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