SlideShare a Scribd company logo
03. static techniques
STATIC TECHNIQUES
• STATIC TEST TECHNIQUES PROVIDE A POWERFUL WAY TO IMPROVE THE QUALITY AND PRODUCTIVITY
OF SOFTWARE DEVELOPMENT. THIS CHAPTER DESCRIBES STATIC TEST TECHNIQUES, INCLUDING
REVIEWS, AND PROVIDES AN OVERVIEW OF HOW THEY ARE CONDUCTED. THE FUNDAMENTAL
OBJECTIVE OF STATIC TESTING IS TO IMPROVE THE QUALITY OF SOFTWARE WORK PRODUCTS BY
ASSISTING ENGINEERS TO RECOGNIZE AND FIX THEIR OWN DEFECTS EARLY IN THE SOFTWARE
DEVELOPMENT PROCESS. WHILE STATIC TESTING TECHNIQUES WILL NOT SOLVE ALL THE PROBLEMS,
THEY ARE ENORMOUSLY EFFECTIVE. STATIC TECHNIQUES CAN IMPROVE BOTH QUALITY AND
PRODUCTIVITY BY IMPRESSIVE FACTORS. STATIC TESTING IS NOT MAGIC AND IT SHOULD NOT BE
CONSIDERED A REPLACEMENT FOR DYNAMIC TESTING, BUT ALL SOFTWARE ORGANIZATIONS SHOULD
CONSIDER USING REVIEWS IN ALL MAJOR ASPECTS OF THEIR WORK INCLUDING REQUIREMENTS,
DESIGN, IMPLEMENTATION, TESTING, AND MAINTENANCE. STATIC ANALYSIS TOOLS IMPLEMENT
AUTOMATED CHECKS, E.G. ON CODE.
REVIEWS AND THE TEST PROCESS
THE DEFINITION OF TESTING OUTLINES OBJECTIVES THAT RELATE TO
EVALUATION, REVEALING DEFECTS AND QUALITY. AS INDICATED IN
THE DEFINITION TWO APPROACHES CAN BE USED TO ACHIEVE THESE
OBJECTIVES, STATIC TESTING AND DYNAMIC TESTING.
WITH DYNAMIC TESTING METHODS, SOFTWARE IS EXECUTED USING
A SET OF INPUT VALUES AND ITS OUTPUT IS THEN EXAMINED AND
COMPARED TO WHAT IS EXPECTED. DURING STATIC TESTING,
SOFTWARE WORK PRODUCTS ARE EXAMINED MANUALLY, OR WITH
A SET OF TOOLS, BUT NOT EXECUTED.
REVIEW PROCESS
• PHASES OF A FORMAL REVIEW
IN CONTRAST TO INFORMAL REVIEWS, FORMAL REVIEWS FOLLOW A FORMAL PROCESS. A TYPICAL
FORMAL REVIEW PROCESS CONSISTS OF SIX MAIN STEPS:
1. PLANNING
2. KICK-OFF
3. PREPARATION
4. REVIEW MEETING
5. REWORK
6. FOLLOW-UP.
• ROLES AND RESPONSIBILITIES
THE PARTICIPANTS IN ANY TYPE OF FORMAL REVIEW SHOULD HAVE ADEQUATE KNOWLEDGE OF THE REVIEW PROCESS. THE
BEST, AND MOST EFFICIENT, REVIEW SITUATION OCCURS WHEN THE PARTICIPANTS GAIN SOME KIND OF ADVANTAGE FOR THEIR
OWN WORK DURING REVIEWING. IN THE CASE OF AN INSPECTION OR TECHNICAL REVIEW, PARTICIPANTS SHOULD HAVE BEEN
PROPERLY TRAINED AS BOTH TYPES OF REVIEW HAVE PROVEN TO BE FAR LESS SUCCESSFUL WITHOUT TRAINED PARTICIPANTS.
THIS INDEED IS PERCEIVED AS BEING A CRITICAL SUCCESS FACTOR.
• THE MODERATOR
THE MODERATOR (OR REVIEW LEADER) LEADS THE REVIEW PROCESS. HE OR SHE DETERMINES, IN CO-OPERATION WITH THE
AUTHOR, THE TYPE OF REVIEW, APPROACH AND THE COMPOSITION OF THE REVIEW TEAM. THE MODERATOR PERFORMS THE
ENTRY CHECK AND THE FOLLOW-UP ON THE REWORK, IN ORDER TO CONTROL THE QUALITY OF THE INPUT AND OUTPUT OF THE
REVIEW PROCESS. THE MODERATOR ALSO SCHEDULES THE MEETING, DISSEMINATES DOCUMENTS BEFORE THE MEETING,
COACHES OTHER TEAM MEMBERS, PACES THE MEETING, LEADS POSSIBLE DISCUSSIONS AND STORES THE DATA THAT IS
COLLECTED.
• THE AUTHOR
AS THE WRITER OF THE DOCUMENT UNDER REVIEW, THE AUTHOR'S BASIC GOAL SHOULD BE TO LEARN AS MUCH AS POSSIBLE
WITH REGARD TO IMPROVING THE QUALITY OF THE DOCUMENT, BUT ALSO TO IMPROVE HIS OR HER ABILITY TO WRITE FUTURE
DOCUMENTS. THE AUTHOR'S TASK IS TO ILLUMINATE UNCLEAR AREAS AND TO UNDERSTAND THE DEFECTS FOUND.
• THE SCRIBE
DURING THE LOGGING MEETING, THE SCRIBE (OR RECORDER) HAS TO RECORD EACH DEFECT MENTIONED AND ANY
SUGGESTIONS FOR PROCESS IMPROVEMENT. IN PRACTICE IT IS OFTEN THE AUTHOR WHO PLAYS THIS ROLE, ENSURING THAT
THE LOG IS READABLE AND UNDERSTANDABLE. IF AUTHORS RECORD THEIR OWN DEFECTS, OR AT LEAST MAKE THEIR OWN
NOTES IN THEIR OWN WORDS, IT HELPS THEM TO UNDERSTAND THE LOG BETTER DURING REWORK. HOWEVER, HAVING
SOMEONE OTHER THAN THE AUTHOR TAKE THE ROLE OF THE SCRIBE (E.G. THE MODERATOR) CAN HAVE SIGNIFICANT
ADVANTAGES, SINCE THE AUTHOR IS FREED UP TO THINK ABOUT THE DOCUMENT RATHER THAN BEING TIED DOWN WITH LOTS
OF WRITING.
• THE REVIEWERS
THE TASK OF THE REVIEWERS (ALSO CALLED CHECKERS OR INSPECTORS) IS TO CHECK ANY MATERIAL FOR DEFECTS, MOSTLY
PRIOR TO THE MEETING. THE LEVEL OF THOROUGHNESS REQUIRED DEPENDS ON THE TYPE OF REVIEW. THE LEVEL OF DOMAIN
KNOWLEDGE OR TECHNICAL EXPERTISE NEEDED BY THE REVIEWERS ALSO DEPENDS ON THE TYPE OF REVIEW. REVIEWERS
SHOULD BE CHOSEN TO REPRESENT DIFFERENT PERSPECTIVES AND ROLES IN THE REVIEW PROCESS. IN ADDITION TO THE
DOCUMENT UNDER REVIEW, THE MATERIAL REVIEWERS RECEIVE INCLUDES SOURCE DOCUMENTS, STANDARDS, CHECKLISTS,
ETC. IN GENERAL, THE FEWER SOURCE AND REFERENCE DOCUMENTS PROVIDED, THE MORE DOMAIN EXPERTISE REGARDING
THE CONTENT OF THE DOCUMENT UNDER REVIEW IS NEEDED.
• THE MANAGER
THE MANAGER IS INVOLVED IN THE REVIEWS AS HE OR SHE DECIDES ON THE EXECUTION OF REVIEWS, ALLOCATES TIME IN
PROJECT SCHEDULES AND DETERMINES WHETHER REVIEW PROCESS OBJECTIVES HAVE BEEN MET. THE MANAGER WILL ALSO
TAKE CARE OF ANY REVIEW TRAINING REQUESTED BY THE PARTICIPANTS. OF COURSE A MANAGER CAN ALSO BE INVOLVED IN
THE REVIEW ITSELF DEPENDING ON HIS OR HER BACKGROUND, PLAYING THE ROLE OF A REVIEWER IF THIS WOULD BE
HELPFUL.
• TYPES OF REVIEW
A SINGLE DOCUMENT MAY BE THE SUBJECT OF MORE THAN ONE REVIEW. IF MORE THAN ONE
TYPE OF REVIEW IS USED, THE ORDER MAY VARY. FOR EXAMPLE, AN INFORMAL REVIEW MAY BE
CARRIED OUT BEFORE A TECHNICAL REVIEW, OR AN INSPECTION MAY BE CARRIED OUT ON A
REQUIREMENTS SPECIFICATION BEFORE A WALKTHROUGH WITH CUSTOMERS. IT IS APPARENT
THAT NONE OF THE FOLLOWING TYPES OF REVIEW IS THE 'WINNER', BUT THE DIFFERENT TYPES
SERVE DIFFERENT PURPOSES AT DIFFERENT STAGES IN THE LIFE CYCLE OF A DOCUMENT.
• SUCCESS FACTORS FOR REVIEWS
IMPLEMENTING (FORMAL) REVIEWS IS NOT EASYAS THERE IS NO ONE WAY TO SUCCESS AND
THERE ARE NUMEROUS WAYS TO FAIL. THE NEXT LIST CONTAINS A NUMBER OF CRITICAL
SUCCESS FACTORS THAT IMPROVE THE CHANCES OF SUCCESS WHEN IMPLEMENTING REVIEWS.
STATIC ANALYSIS BY TOOLS
CODING STANDARDS
CHECKING FOR ADHERENCE TO CODING STANDARDS IS CERTAINLY THE MOST WELL-KNOWN OF ALL FEATURES. THE
FIRST ACTION TO BE TAKEN IS TO DEFINE OR ADOPT A CODING STANDARD. USUALLY A CODING STANDARD CONSISTS
OF A SET OF PROGRAMMING RULES (E.G. 'ALWAYS CHECK BOUNDARIES ON AN ARRAY WHEN COPYING TO THAT
ARRAY'), NAMING CONVENTIONS (E.G. 'CLASSES SHOULD START WITH CAPITAL C) AND LAYOUT SPECIFICATIONS (E.G.
'INDENT 4 SPACES'). IT IS RECOMMENDED THAT EXISTING STANDARDS ARE ADOPTED. THE MAIN ADVANTAGE OF THIS IS
THAT IT SAVES A LOT OF EFFORT. AN EXTRA REASON FOR ADOPTING THIS APPROACH IS THAT IF YOU TAKE A WELL-
KNOWN CODING STANDARD THERE WILL PROBABLY BE CHECKING TOOLS AVAILABLE THAT SUPPORT THIS STANDARD.
IT CAN EVEN BE PUT THE OTHER WAY AROUND: PURCHASE A STATIC CODE ANALYZER AND DECLARE (A SELECTION OF)
THE RULES IN IT AS YOUR CODING STANDARD. WITHOUT SUCH TOOLS, THE ENFORCEMENT OF A CODING STANDARD IN
AN ORGANIZATION IS LIKELY TO FAIL. THERE ARE THREE MAIN CAUSES FOR THIS: THE NUMBER OF RULES IN A CODING
STANDARD IS USUALLY SO LARGE THAT NOBODY CAN REMEMBER THEM ALL; SOME CONTEXT-SENSITIVE RULES THAT
DEMAND REVIEWS OF SEVERAL FILES ARE VERY HARD TO CHECK BY HUMAN BEINGS; AND IF PEOPLE SPEND TIME
CHECKING CODING STANDARDS IN REVIEWS, THAT WILL DISTRACT THEM FROM OTHER DEFECTS THEY MIGHT
OTHERWISE FIND, MAKING THE REVIEW PROCESS LESS EFFECTIVE.
• CODE METRICS
AS STATED, WHEN PERFORMING STATIC CODE ANALYSIS, USUALLY INFORMATION
IS CALCULATED ABOUT STRUCTURAL ATTRIBUTES OF THE CODE, SUCH AS
COMMENT FREQUENCY, DEPTH OF NESTING, CYCLOMATIC NUMBER AND NUMBER
OF LINES OF CODE. THIS INFORMATION CAN BE COMPUTED NOT ONLY AS THE
DESIGN AND CODE ARE BEING CREATED BUT ALSO AS CHANGES ARE MADE TO A
SYSTEM, TO SEE IF THE DESIGN OR CODE IS BECOMING BIGGER, MORE COMPLEX
AND MORE DIFFICULT TO UNDERSTAND AND MAINTAIN. THE MEASUREMENTS
ALSO HELP US TO DECIDE AMONG SEVERAL DESIGN ALTERNATIVES, ESPECIALLY
WHEN REDESIGNING PORTIONS OF EXISTING CODE.
• CODE STRUCTURE
THERE ARE MANY DIFFERENT KINDS OF STRUCTURAL MEASURES, EACH OF WHICH
TELLS US SOMETHING ABOUT THE EFFORT REQUIRED TO WRITE THE CODE IN THE FIRST
PLACE, TO UNDERSTAND THE CODE WHEN MAKING A CHANGE, OR TO TEST THE CODE
USING PARTICULAR TOOLS OR TECHNIQUES. IT IS OFTEN ASSUMED THAT A LARGE
MODULE TAKES LONGER TO SPECIFY, DESIGN, CODE AND TEST THAN A SMALLER ONE.
BUT IN FACT THE CODE'S STRUCTURE PLAYS A BIG PART. THERE ARE SEVERAL ASPECTS
OF CODE STRUCTURE TO CONSIDER:
• CONTROL FLOW STRUCTURE;
• DATA FLOW STRUCTURE;
• DATA STRUCTURE.
03. static techniques

More Related Content

PPTX
3.static techniques
PDF
Fda validation inspections
PPTX
Presentasi static techniques
PPTX
PPTX
Static techniques
PPTX
Static nopri wahyudi
PPTX
Static techniques
PPTX
02. testing throughout the software life cycle
3.static techniques
Fda validation inspections
Presentasi static techniques
Static techniques
Static nopri wahyudi
Static techniques
02. testing throughout the software life cycle

What's hot (11)

PPTX
Testing 1 static techniques
PPTX
Static Techniques (Chapter 3)
PPTX
GDP Training NS
PPTX
Static techniques
PPT
03. static techniques
PPTX
Review Process
PDF
How Rocket Scientists Do It
PPT
CLINICAL TRIAL PROJECT MANAGEMENT
PDF
Basics of Failure Analysis
PDF
Importance of Development of Quality Checklists
PPTX
Static techniques software development - Testing & Implementation
Testing 1 static techniques
Static Techniques (Chapter 3)
GDP Training NS
Static techniques
03. static techniques
Review Process
How Rocket Scientists Do It
CLINICAL TRIAL PROJECT MANAGEMENT
Basics of Failure Analysis
Importance of Development of Quality Checklists
Static techniques software development - Testing & Implementation
Ad

Similar to 03. static techniques (20)

PPTX
Static techniques
PPTX
Chapter 3 Static Techniques
PPTX
Static techniques
PPTX
Static Technique
PPTX
Static techniques
PPTX
Static techniques
PPTX
Marjuni.
PPTX
Static techniques
PDF
Static techniques
PPTX
Static techniques
PPTX
Reviews and the test process
PPTX
Chapter 3 Static Techniques
PPTX
Static techniques
PPTX
STATIC TECHNIQUES
PPTX
Static techniques
PPTX
Bab iii static techniques
PPTX
Static techniques
PPTX
Static techniques
PDF
55th세미나 발표자료
PPTX
Phases of a formal review
Static techniques
Chapter 3 Static Techniques
Static techniques
Static Technique
Static techniques
Static techniques
Marjuni.
Static techniques
Static techniques
Static techniques
Reviews and the test process
Chapter 3 Static Techniques
Static techniques
STATIC TECHNIQUES
Static techniques
Bab iii static techniques
Static techniques
Static techniques
55th세미나 발표자료
Phases of a formal review
Ad

Recently uploaded (20)

PPTX
Reimagine Home Health with the Power of Agentic AI​
DOCX
Greta — No-Code AI for Building Full-Stack Web & Mobile Apps
PPTX
Computer Software and OS of computer science of grade 11.pptx
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PPTX
CHAPTER 2 - PM Management and IT Context
PDF
wealthsignaloriginal-com-DS-text-... (1).pdf
PPTX
Weekly report ppt - harsh dattuprasad patel.pptx
PPTX
Monitoring Stack: Grafana, Loki & Promtail
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PDF
iTop VPN Crack Latest Version Full Key 2025
PDF
iTop VPN Free 5.6.0.5262 Crack latest version 2025
PDF
AI-Powered Threat Modeling: The Future of Cybersecurity by Arun Kumar Elengov...
PPTX
Oracle Fusion HCM Cloud Demo for Beginners
PPTX
AMADEUS TRAVEL AGENT SOFTWARE | AMADEUS TICKETING SYSTEM
PDF
AutoCAD Professional Crack 2025 With License Key
PDF
CapCut Video Editor 6.8.1 Crack for PC Latest Download (Fully Activated) 2025
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PDF
Odoo Companies in India – Driving Business Transformation.pdf
PPTX
Log360_SIEM_Solutions Overview PPT_Feb 2020.pptx
PDF
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
Reimagine Home Health with the Power of Agentic AI​
Greta — No-Code AI for Building Full-Stack Web & Mobile Apps
Computer Software and OS of computer science of grade 11.pptx
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
CHAPTER 2 - PM Management and IT Context
wealthsignaloriginal-com-DS-text-... (1).pdf
Weekly report ppt - harsh dattuprasad patel.pptx
Monitoring Stack: Grafana, Loki & Promtail
Adobe Illustrator 28.6 Crack My Vision of Vector Design
iTop VPN Crack Latest Version Full Key 2025
iTop VPN Free 5.6.0.5262 Crack latest version 2025
AI-Powered Threat Modeling: The Future of Cybersecurity by Arun Kumar Elengov...
Oracle Fusion HCM Cloud Demo for Beginners
AMADEUS TRAVEL AGENT SOFTWARE | AMADEUS TICKETING SYSTEM
AutoCAD Professional Crack 2025 With License Key
CapCut Video Editor 6.8.1 Crack for PC Latest Download (Fully Activated) 2025
Design an Analysis of Algorithms II-SECS-1021-03
Odoo Companies in India – Driving Business Transformation.pdf
Log360_SIEM_Solutions Overview PPT_Feb 2020.pptx
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf

03. static techniques

  • 2. STATIC TECHNIQUES • STATIC TEST TECHNIQUES PROVIDE A POWERFUL WAY TO IMPROVE THE QUALITY AND PRODUCTIVITY OF SOFTWARE DEVELOPMENT. THIS CHAPTER DESCRIBES STATIC TEST TECHNIQUES, INCLUDING REVIEWS, AND PROVIDES AN OVERVIEW OF HOW THEY ARE CONDUCTED. THE FUNDAMENTAL OBJECTIVE OF STATIC TESTING IS TO IMPROVE THE QUALITY OF SOFTWARE WORK PRODUCTS BY ASSISTING ENGINEERS TO RECOGNIZE AND FIX THEIR OWN DEFECTS EARLY IN THE SOFTWARE DEVELOPMENT PROCESS. WHILE STATIC TESTING TECHNIQUES WILL NOT SOLVE ALL THE PROBLEMS, THEY ARE ENORMOUSLY EFFECTIVE. STATIC TECHNIQUES CAN IMPROVE BOTH QUALITY AND PRODUCTIVITY BY IMPRESSIVE FACTORS. STATIC TESTING IS NOT MAGIC AND IT SHOULD NOT BE CONSIDERED A REPLACEMENT FOR DYNAMIC TESTING, BUT ALL SOFTWARE ORGANIZATIONS SHOULD CONSIDER USING REVIEWS IN ALL MAJOR ASPECTS OF THEIR WORK INCLUDING REQUIREMENTS, DESIGN, IMPLEMENTATION, TESTING, AND MAINTENANCE. STATIC ANALYSIS TOOLS IMPLEMENT AUTOMATED CHECKS, E.G. ON CODE.
  • 3. REVIEWS AND THE TEST PROCESS THE DEFINITION OF TESTING OUTLINES OBJECTIVES THAT RELATE TO EVALUATION, REVEALING DEFECTS AND QUALITY. AS INDICATED IN THE DEFINITION TWO APPROACHES CAN BE USED TO ACHIEVE THESE OBJECTIVES, STATIC TESTING AND DYNAMIC TESTING. WITH DYNAMIC TESTING METHODS, SOFTWARE IS EXECUTED USING A SET OF INPUT VALUES AND ITS OUTPUT IS THEN EXAMINED AND COMPARED TO WHAT IS EXPECTED. DURING STATIC TESTING, SOFTWARE WORK PRODUCTS ARE EXAMINED MANUALLY, OR WITH A SET OF TOOLS, BUT NOT EXECUTED.
  • 4. REVIEW PROCESS • PHASES OF A FORMAL REVIEW IN CONTRAST TO INFORMAL REVIEWS, FORMAL REVIEWS FOLLOW A FORMAL PROCESS. A TYPICAL FORMAL REVIEW PROCESS CONSISTS OF SIX MAIN STEPS: 1. PLANNING 2. KICK-OFF 3. PREPARATION 4. REVIEW MEETING 5. REWORK 6. FOLLOW-UP.
  • 5. • ROLES AND RESPONSIBILITIES THE PARTICIPANTS IN ANY TYPE OF FORMAL REVIEW SHOULD HAVE ADEQUATE KNOWLEDGE OF THE REVIEW PROCESS. THE BEST, AND MOST EFFICIENT, REVIEW SITUATION OCCURS WHEN THE PARTICIPANTS GAIN SOME KIND OF ADVANTAGE FOR THEIR OWN WORK DURING REVIEWING. IN THE CASE OF AN INSPECTION OR TECHNICAL REVIEW, PARTICIPANTS SHOULD HAVE BEEN PROPERLY TRAINED AS BOTH TYPES OF REVIEW HAVE PROVEN TO BE FAR LESS SUCCESSFUL WITHOUT TRAINED PARTICIPANTS. THIS INDEED IS PERCEIVED AS BEING A CRITICAL SUCCESS FACTOR. • THE MODERATOR THE MODERATOR (OR REVIEW LEADER) LEADS THE REVIEW PROCESS. HE OR SHE DETERMINES, IN CO-OPERATION WITH THE AUTHOR, THE TYPE OF REVIEW, APPROACH AND THE COMPOSITION OF THE REVIEW TEAM. THE MODERATOR PERFORMS THE ENTRY CHECK AND THE FOLLOW-UP ON THE REWORK, IN ORDER TO CONTROL THE QUALITY OF THE INPUT AND OUTPUT OF THE REVIEW PROCESS. THE MODERATOR ALSO SCHEDULES THE MEETING, DISSEMINATES DOCUMENTS BEFORE THE MEETING, COACHES OTHER TEAM MEMBERS, PACES THE MEETING, LEADS POSSIBLE DISCUSSIONS AND STORES THE DATA THAT IS COLLECTED. • THE AUTHOR AS THE WRITER OF THE DOCUMENT UNDER REVIEW, THE AUTHOR'S BASIC GOAL SHOULD BE TO LEARN AS MUCH AS POSSIBLE WITH REGARD TO IMPROVING THE QUALITY OF THE DOCUMENT, BUT ALSO TO IMPROVE HIS OR HER ABILITY TO WRITE FUTURE DOCUMENTS. THE AUTHOR'S TASK IS TO ILLUMINATE UNCLEAR AREAS AND TO UNDERSTAND THE DEFECTS FOUND.
  • 6. • THE SCRIBE DURING THE LOGGING MEETING, THE SCRIBE (OR RECORDER) HAS TO RECORD EACH DEFECT MENTIONED AND ANY SUGGESTIONS FOR PROCESS IMPROVEMENT. IN PRACTICE IT IS OFTEN THE AUTHOR WHO PLAYS THIS ROLE, ENSURING THAT THE LOG IS READABLE AND UNDERSTANDABLE. IF AUTHORS RECORD THEIR OWN DEFECTS, OR AT LEAST MAKE THEIR OWN NOTES IN THEIR OWN WORDS, IT HELPS THEM TO UNDERSTAND THE LOG BETTER DURING REWORK. HOWEVER, HAVING SOMEONE OTHER THAN THE AUTHOR TAKE THE ROLE OF THE SCRIBE (E.G. THE MODERATOR) CAN HAVE SIGNIFICANT ADVANTAGES, SINCE THE AUTHOR IS FREED UP TO THINK ABOUT THE DOCUMENT RATHER THAN BEING TIED DOWN WITH LOTS OF WRITING. • THE REVIEWERS THE TASK OF THE REVIEWERS (ALSO CALLED CHECKERS OR INSPECTORS) IS TO CHECK ANY MATERIAL FOR DEFECTS, MOSTLY PRIOR TO THE MEETING. THE LEVEL OF THOROUGHNESS REQUIRED DEPENDS ON THE TYPE OF REVIEW. THE LEVEL OF DOMAIN KNOWLEDGE OR TECHNICAL EXPERTISE NEEDED BY THE REVIEWERS ALSO DEPENDS ON THE TYPE OF REVIEW. REVIEWERS SHOULD BE CHOSEN TO REPRESENT DIFFERENT PERSPECTIVES AND ROLES IN THE REVIEW PROCESS. IN ADDITION TO THE DOCUMENT UNDER REVIEW, THE MATERIAL REVIEWERS RECEIVE INCLUDES SOURCE DOCUMENTS, STANDARDS, CHECKLISTS, ETC. IN GENERAL, THE FEWER SOURCE AND REFERENCE DOCUMENTS PROVIDED, THE MORE DOMAIN EXPERTISE REGARDING THE CONTENT OF THE DOCUMENT UNDER REVIEW IS NEEDED. • THE MANAGER THE MANAGER IS INVOLVED IN THE REVIEWS AS HE OR SHE DECIDES ON THE EXECUTION OF REVIEWS, ALLOCATES TIME IN PROJECT SCHEDULES AND DETERMINES WHETHER REVIEW PROCESS OBJECTIVES HAVE BEEN MET. THE MANAGER WILL ALSO TAKE CARE OF ANY REVIEW TRAINING REQUESTED BY THE PARTICIPANTS. OF COURSE A MANAGER CAN ALSO BE INVOLVED IN THE REVIEW ITSELF DEPENDING ON HIS OR HER BACKGROUND, PLAYING THE ROLE OF A REVIEWER IF THIS WOULD BE HELPFUL.
  • 7. • TYPES OF REVIEW A SINGLE DOCUMENT MAY BE THE SUBJECT OF MORE THAN ONE REVIEW. IF MORE THAN ONE TYPE OF REVIEW IS USED, THE ORDER MAY VARY. FOR EXAMPLE, AN INFORMAL REVIEW MAY BE CARRIED OUT BEFORE A TECHNICAL REVIEW, OR AN INSPECTION MAY BE CARRIED OUT ON A REQUIREMENTS SPECIFICATION BEFORE A WALKTHROUGH WITH CUSTOMERS. IT IS APPARENT THAT NONE OF THE FOLLOWING TYPES OF REVIEW IS THE 'WINNER', BUT THE DIFFERENT TYPES SERVE DIFFERENT PURPOSES AT DIFFERENT STAGES IN THE LIFE CYCLE OF A DOCUMENT. • SUCCESS FACTORS FOR REVIEWS IMPLEMENTING (FORMAL) REVIEWS IS NOT EASYAS THERE IS NO ONE WAY TO SUCCESS AND THERE ARE NUMEROUS WAYS TO FAIL. THE NEXT LIST CONTAINS A NUMBER OF CRITICAL SUCCESS FACTORS THAT IMPROVE THE CHANCES OF SUCCESS WHEN IMPLEMENTING REVIEWS.
  • 8. STATIC ANALYSIS BY TOOLS CODING STANDARDS CHECKING FOR ADHERENCE TO CODING STANDARDS IS CERTAINLY THE MOST WELL-KNOWN OF ALL FEATURES. THE FIRST ACTION TO BE TAKEN IS TO DEFINE OR ADOPT A CODING STANDARD. USUALLY A CODING STANDARD CONSISTS OF A SET OF PROGRAMMING RULES (E.G. 'ALWAYS CHECK BOUNDARIES ON AN ARRAY WHEN COPYING TO THAT ARRAY'), NAMING CONVENTIONS (E.G. 'CLASSES SHOULD START WITH CAPITAL C) AND LAYOUT SPECIFICATIONS (E.G. 'INDENT 4 SPACES'). IT IS RECOMMENDED THAT EXISTING STANDARDS ARE ADOPTED. THE MAIN ADVANTAGE OF THIS IS THAT IT SAVES A LOT OF EFFORT. AN EXTRA REASON FOR ADOPTING THIS APPROACH IS THAT IF YOU TAKE A WELL- KNOWN CODING STANDARD THERE WILL PROBABLY BE CHECKING TOOLS AVAILABLE THAT SUPPORT THIS STANDARD. IT CAN EVEN BE PUT THE OTHER WAY AROUND: PURCHASE A STATIC CODE ANALYZER AND DECLARE (A SELECTION OF) THE RULES IN IT AS YOUR CODING STANDARD. WITHOUT SUCH TOOLS, THE ENFORCEMENT OF A CODING STANDARD IN AN ORGANIZATION IS LIKELY TO FAIL. THERE ARE THREE MAIN CAUSES FOR THIS: THE NUMBER OF RULES IN A CODING STANDARD IS USUALLY SO LARGE THAT NOBODY CAN REMEMBER THEM ALL; SOME CONTEXT-SENSITIVE RULES THAT DEMAND REVIEWS OF SEVERAL FILES ARE VERY HARD TO CHECK BY HUMAN BEINGS; AND IF PEOPLE SPEND TIME CHECKING CODING STANDARDS IN REVIEWS, THAT WILL DISTRACT THEM FROM OTHER DEFECTS THEY MIGHT OTHERWISE FIND, MAKING THE REVIEW PROCESS LESS EFFECTIVE.
  • 9. • CODE METRICS AS STATED, WHEN PERFORMING STATIC CODE ANALYSIS, USUALLY INFORMATION IS CALCULATED ABOUT STRUCTURAL ATTRIBUTES OF THE CODE, SUCH AS COMMENT FREQUENCY, DEPTH OF NESTING, CYCLOMATIC NUMBER AND NUMBER OF LINES OF CODE. THIS INFORMATION CAN BE COMPUTED NOT ONLY AS THE DESIGN AND CODE ARE BEING CREATED BUT ALSO AS CHANGES ARE MADE TO A SYSTEM, TO SEE IF THE DESIGN OR CODE IS BECOMING BIGGER, MORE COMPLEX AND MORE DIFFICULT TO UNDERSTAND AND MAINTAIN. THE MEASUREMENTS ALSO HELP US TO DECIDE AMONG SEVERAL DESIGN ALTERNATIVES, ESPECIALLY WHEN REDESIGNING PORTIONS OF EXISTING CODE.
  • 10. • CODE STRUCTURE THERE ARE MANY DIFFERENT KINDS OF STRUCTURAL MEASURES, EACH OF WHICH TELLS US SOMETHING ABOUT THE EFFORT REQUIRED TO WRITE THE CODE IN THE FIRST PLACE, TO UNDERSTAND THE CODE WHEN MAKING A CHANGE, OR TO TEST THE CODE USING PARTICULAR TOOLS OR TECHNIQUES. IT IS OFTEN ASSUMED THAT A LARGE MODULE TAKES LONGER TO SPECIFY, DESIGN, CODE AND TEST THAN A SMALLER ONE. BUT IN FACT THE CODE'S STRUCTURE PLAYS A BIG PART. THERE ARE SEVERAL ASPECTS OF CODE STRUCTURE TO CONSIDER: • CONTROL FLOW STRUCTURE; • DATA FLOW STRUCTURE; • DATA STRUCTURE.