SlideShare a Scribd company logo
1 of 12
“Static Techniques”
Graham et al (2006)
Oleh :
Tricia karina (11453201712)
Program Studi S1 Sistem Informasi
Universitas Islam Negeri Sultan Syarif Kasim Riau
http://sif.uin-suska.ac.id/
http://fst.uin-suska.ac.id/
http://www.uin-suska.ac.id/
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 easy as 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.
• 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.
THANKYOUTHANKYOU

More Related Content

What's hot

Static testing techniques
Static testing techniquesStatic testing techniques
Static testing techniquesMazenetsolution
 
Testing 1 static techniques
Testing 1 static techniquesTesting 1 static techniques
Testing 1 static techniquesMini Marsiah
 
Chapter Three Static Techniques
Chapter Three Static TechniquesChapter Three Static Techniques
Chapter Three Static Techniqueselvira munanda
 
Static techniques software development - Testing & Implementation
Static techniques software development - Testing & ImplementationStatic techniques software development - Testing & Implementation
Static techniques software development - Testing & Implementationyogi syafrialdi
 
ISTQB Foundation - Chapter 3
ISTQB Foundation - Chapter 3ISTQB Foundation - Chapter 3
ISTQB Foundation - Chapter 3Chandukar
 
Static techniques
Static techniquesStatic techniques
Static techniquesadeafsa
 
Testing & implementation system 3-wm
Testing & implementation system 3-wmTesting & implementation system 3-wm
Testing & implementation system 3-wmWiwik Muslehatin
 
Chater 3 Static Technic (by Eva Normala)
Chater 3 Static Technic (by Eva Normala)Chater 3 Static Technic (by Eva Normala)
Chater 3 Static Technic (by Eva Normala)EvaNormala
 
Software Testing-Dynamic testing technique-Mazenet solution
Software Testing-Dynamic testing technique-Mazenet solutionSoftware Testing-Dynamic testing technique-Mazenet solution
Software Testing-Dynamic testing technique-Mazenet solutionMazenetsolution
 

What's hot (20)

Static testing techniques
Static testing techniquesStatic testing techniques
Static testing techniques
 
Testing 1 static techniques
Testing 1 static techniquesTesting 1 static techniques
Testing 1 static techniques
 
Chapter Three Static Techniques
Chapter Three Static TechniquesChapter Three Static Techniques
Chapter Three Static Techniques
 
Static techniques software development - Testing & Implementation
Static techniques software development - Testing & ImplementationStatic techniques software development - Testing & Implementation
Static techniques software development - Testing & Implementation
 
STATIC TECHNIQUES
STATIC TECHNIQUESSTATIC TECHNIQUES
STATIC TECHNIQUES
 
Review Process
Review ProcessReview Process
Review Process
 
Static Techniques (Chapter 3)
Static Techniques (Chapter 3)Static Techniques (Chapter 3)
Static Techniques (Chapter 3)
 
ISTQB Foundation - Chapter 3
ISTQB Foundation - Chapter 3ISTQB Foundation - Chapter 3
ISTQB Foundation - Chapter 3
 
Static techniques
Static techniquesStatic techniques
Static techniques
 
Testing & implementation system 3-wm
Testing & implementation system 3-wmTesting & implementation system 3-wm
Testing & implementation system 3-wm
 
Chater 3 Static Technic (by Eva Normala)
Chater 3 Static Technic (by Eva Normala)Chater 3 Static Technic (by Eva Normala)
Chater 3 Static Technic (by Eva Normala)
 
Astqb Slayb
Astqb SlaybAstqb Slayb
Astqb Slayb
 
Software Testing-Dynamic testing technique-Mazenet solution
Software Testing-Dynamic testing technique-Mazenet solutionSoftware Testing-Dynamic testing technique-Mazenet solution
Software Testing-Dynamic testing technique-Mazenet solution
 
STATIC TECHNIQUES
STATIC TECHNIQUESSTATIC TECHNIQUES
STATIC TECHNIQUES
 
Static techniques
Static techniquesStatic techniques
Static techniques
 
Chapter 3 - Static Testing
Chapter 3 - Static TestingChapter 3 - Static Testing
Chapter 3 - Static Testing
 
Static techniques
Static techniquesStatic techniques
Static techniques
 
Ch14
Ch14Ch14
Ch14
 
Chapter 3 - Reviews
Chapter 3 - ReviewsChapter 3 - Reviews
Chapter 3 - Reviews
 
Static techniques
Static techniquesStatic techniques
Static techniques
 

Similar to 03. static techniques

static techniques
static techniquesstatic techniques
static techniquesaidil fitra
 
Static techniques
Static techniquesStatic techniques
Static techniquesargawanda
 
Chapter 3 Static Techniques
Chapter 3 Static TechniquesChapter 3 Static Techniques
Chapter 3 Static TechniquesZetryan Satria
 
Static techniques
Static techniquesStatic techniques
Static techniqueseva khasana
 
Static Technique
Static TechniqueStatic Technique
Static TechniqueNathandisya
 
Manual testing interview questions and answers
Manual testing interview questions and answersManual testing interview questions and answers
Manual testing interview questions and answerskaranmca
 
Ch 5 - Requirement Validation.pptx
Ch 5 - Requirement Validation.pptxCh 5 - Requirement Validation.pptx
Ch 5 - Requirement Validation.pptxbalewayalew
 
Bab iii static techniques
Bab iii static techniquesBab iii static techniques
Bab iii static techniquesRiauly Putra
 
Testing throughout the software life cycle & statistic techniques
Testing throughout the software life cycle & statistic techniquesTesting throughout the software life cycle & statistic techniques
Testing throughout the software life cycle & statistic techniquesNovika Damai Yanti
 

Similar to 03. static techniques (19)

Marjuni.
Marjuni.Marjuni.
Marjuni.
 
3.static techniques
3.static techniques3.static techniques
3.static techniques
 
static techniques
static techniquesstatic techniques
static techniques
 
Static techniques
Static techniquesStatic techniques
Static techniques
 
Chapter 3 Static Techniques
Chapter 3 Static TechniquesChapter 3 Static Techniques
Chapter 3 Static Techniques
 
Static techniques
Static techniquesStatic techniques
Static techniques
 
Static techniques
Static techniquesStatic techniques
Static techniques
 
Static techniques
Static techniquesStatic techniques
Static techniques
 
Static techniques
Static techniquesStatic techniques
Static techniques
 
Software Testing 4/5
Software Testing 4/5Software Testing 4/5
Software Testing 4/5
 
Static Testing
Static TestingStatic Testing
Static Testing
 
CTFL Module 03
CTFL Module 03CTFL Module 03
CTFL Module 03
 
Static techniques
Static techniquesStatic techniques
Static techniques
 
Static Technique
Static TechniqueStatic Technique
Static Technique
 
Static techniques
Static techniquesStatic techniques
Static techniques
 
Manual testing interview questions and answers
Manual testing interview questions and answersManual testing interview questions and answers
Manual testing interview questions and answers
 
Ch 5 - Requirement Validation.pptx
Ch 5 - Requirement Validation.pptxCh 5 - Requirement Validation.pptx
Ch 5 - Requirement Validation.pptx
 
Bab iii static techniques
Bab iii static techniquesBab iii static techniques
Bab iii static techniques
 
Testing throughout the software life cycle & statistic techniques
Testing throughout the software life cycle & statistic techniquesTesting throughout the software life cycle & statistic techniques
Testing throughout the software life cycle & statistic techniques
 

Recently uploaded

BUMI DAN ANTARIKSA PROJEK IPAS SMK KELAS X.pdf
BUMI DAN ANTARIKSA PROJEK IPAS SMK KELAS X.pdfBUMI DAN ANTARIKSA PROJEK IPAS SMK KELAS X.pdf
BUMI DAN ANTARIKSA PROJEK IPAS SMK KELAS X.pdfWildaNurAmalia2
 
Best Call Girls In Sector 29 Gurgaon❤️8860477959 EscorTs Service In 24/7 Delh...
Best Call Girls In Sector 29 Gurgaon❤️8860477959 EscorTs Service In 24/7 Delh...Best Call Girls In Sector 29 Gurgaon❤️8860477959 EscorTs Service In 24/7 Delh...
Best Call Girls In Sector 29 Gurgaon❤️8860477959 EscorTs Service In 24/7 Delh...lizamodels9
 
Pests of soyabean_Binomics_IdentificationDr.UPR.pdf
Pests of soyabean_Binomics_IdentificationDr.UPR.pdfPests of soyabean_Binomics_IdentificationDr.UPR.pdf
Pests of soyabean_Binomics_IdentificationDr.UPR.pdfPirithiRaju
 
GenBio2 - Lesson 1 - Introduction to Genetics.pptx
GenBio2 - Lesson 1 - Introduction to Genetics.pptxGenBio2 - Lesson 1 - Introduction to Genetics.pptx
GenBio2 - Lesson 1 - Introduction to Genetics.pptxBerniceCayabyab1
 
Call Girls in Munirka Delhi 💯Call Us 🔝9953322196🔝 💯Escort.
Call Girls in Munirka Delhi 💯Call Us 🔝9953322196🔝 💯Escort.Call Girls in Munirka Delhi 💯Call Us 🔝9953322196🔝 💯Escort.
Call Girls in Munirka Delhi 💯Call Us 🔝9953322196🔝 💯Escort.aasikanpl
 
Pests of castor_Binomics_Identification_Dr.UPR.pdf
Pests of castor_Binomics_Identification_Dr.UPR.pdfPests of castor_Binomics_Identification_Dr.UPR.pdf
Pests of castor_Binomics_Identification_Dr.UPR.pdfPirithiRaju
 
Solution chemistry, Moral and Normal solutions
Solution chemistry, Moral and Normal solutionsSolution chemistry, Moral and Normal solutions
Solution chemistry, Moral and Normal solutionsHajira Mahmood
 
Behavioral Disorder: Schizophrenia & it's Case Study.pdf
Behavioral Disorder: Schizophrenia & it's Case Study.pdfBehavioral Disorder: Schizophrenia & it's Case Study.pdf
Behavioral Disorder: Schizophrenia & it's Case Study.pdfSELF-EXPLANATORY
 
FREE NURSING BUNDLE FOR NURSES.PDF by na
FREE NURSING BUNDLE FOR NURSES.PDF by naFREE NURSING BUNDLE FOR NURSES.PDF by na
FREE NURSING BUNDLE FOR NURSES.PDF by naJASISJULIANOELYNV
 
Transposable elements in prokaryotes.ppt
Transposable elements in prokaryotes.pptTransposable elements in prokaryotes.ppt
Transposable elements in prokaryotes.pptArshadWarsi13
 
The dark energy paradox leads to a new structure of spacetime.pptx
The dark energy paradox leads to a new structure of spacetime.pptxThe dark energy paradox leads to a new structure of spacetime.pptx
The dark energy paradox leads to a new structure of spacetime.pptxEran Akiva Sinbar
 
Speech, hearing, noise, intelligibility.pptx
Speech, hearing, noise, intelligibility.pptxSpeech, hearing, noise, intelligibility.pptx
Speech, hearing, noise, intelligibility.pptxpriyankatabhane
 
Is RISC-V ready for HPC workload? Maybe?
Is RISC-V ready for HPC workload? Maybe?Is RISC-V ready for HPC workload? Maybe?
Is RISC-V ready for HPC workload? Maybe?Patrick Diehl
 
TOPIC 8 Temperature and Heat.pdf physics
TOPIC 8 Temperature and Heat.pdf physicsTOPIC 8 Temperature and Heat.pdf physics
TOPIC 8 Temperature and Heat.pdf physicsssuserddc89b
 
STOPPED FLOW METHOD & APPLICATION MURUGAVENI B.pptx
STOPPED FLOW METHOD & APPLICATION MURUGAVENI B.pptxSTOPPED FLOW METHOD & APPLICATION MURUGAVENI B.pptx
STOPPED FLOW METHOD & APPLICATION MURUGAVENI B.pptxMurugaveni B
 
User Guide: Capricorn FLX™ Weather Station
User Guide: Capricorn FLX™ Weather StationUser Guide: Capricorn FLX™ Weather Station
User Guide: Capricorn FLX™ Weather StationColumbia Weather Systems
 
OECD bibliometric indicators: Selected highlights, April 2024
OECD bibliometric indicators: Selected highlights, April 2024OECD bibliometric indicators: Selected highlights, April 2024
OECD bibliometric indicators: Selected highlights, April 2024innovationoecd
 
Neurodevelopmental disorders according to the dsm 5 tr
Neurodevelopmental disorders according to the dsm 5 trNeurodevelopmental disorders according to the dsm 5 tr
Neurodevelopmental disorders according to the dsm 5 trssuser06f238
 

Recently uploaded (20)

BUMI DAN ANTARIKSA PROJEK IPAS SMK KELAS X.pdf
BUMI DAN ANTARIKSA PROJEK IPAS SMK KELAS X.pdfBUMI DAN ANTARIKSA PROJEK IPAS SMK KELAS X.pdf
BUMI DAN ANTARIKSA PROJEK IPAS SMK KELAS X.pdf
 
Best Call Girls In Sector 29 Gurgaon❤️8860477959 EscorTs Service In 24/7 Delh...
Best Call Girls In Sector 29 Gurgaon❤️8860477959 EscorTs Service In 24/7 Delh...Best Call Girls In Sector 29 Gurgaon❤️8860477959 EscorTs Service In 24/7 Delh...
Best Call Girls In Sector 29 Gurgaon❤️8860477959 EscorTs Service In 24/7 Delh...
 
Pests of soyabean_Binomics_IdentificationDr.UPR.pdf
Pests of soyabean_Binomics_IdentificationDr.UPR.pdfPests of soyabean_Binomics_IdentificationDr.UPR.pdf
Pests of soyabean_Binomics_IdentificationDr.UPR.pdf
 
GenBio2 - Lesson 1 - Introduction to Genetics.pptx
GenBio2 - Lesson 1 - Introduction to Genetics.pptxGenBio2 - Lesson 1 - Introduction to Genetics.pptx
GenBio2 - Lesson 1 - Introduction to Genetics.pptx
 
Volatile Oils Pharmacognosy And Phytochemistry -I
Volatile Oils Pharmacognosy And Phytochemistry -IVolatile Oils Pharmacognosy And Phytochemistry -I
Volatile Oils Pharmacognosy And Phytochemistry -I
 
Call Girls in Munirka Delhi 💯Call Us 🔝9953322196🔝 💯Escort.
Call Girls in Munirka Delhi 💯Call Us 🔝9953322196🔝 💯Escort.Call Girls in Munirka Delhi 💯Call Us 🔝9953322196🔝 💯Escort.
Call Girls in Munirka Delhi 💯Call Us 🔝9953322196🔝 💯Escort.
 
Pests of castor_Binomics_Identification_Dr.UPR.pdf
Pests of castor_Binomics_Identification_Dr.UPR.pdfPests of castor_Binomics_Identification_Dr.UPR.pdf
Pests of castor_Binomics_Identification_Dr.UPR.pdf
 
Solution chemistry, Moral and Normal solutions
Solution chemistry, Moral and Normal solutionsSolution chemistry, Moral and Normal solutions
Solution chemistry, Moral and Normal solutions
 
Behavioral Disorder: Schizophrenia & it's Case Study.pdf
Behavioral Disorder: Schizophrenia & it's Case Study.pdfBehavioral Disorder: Schizophrenia & it's Case Study.pdf
Behavioral Disorder: Schizophrenia & it's Case Study.pdf
 
FREE NURSING BUNDLE FOR NURSES.PDF by na
FREE NURSING BUNDLE FOR NURSES.PDF by naFREE NURSING BUNDLE FOR NURSES.PDF by na
FREE NURSING BUNDLE FOR NURSES.PDF by na
 
Transposable elements in prokaryotes.ppt
Transposable elements in prokaryotes.pptTransposable elements in prokaryotes.ppt
Transposable elements in prokaryotes.ppt
 
The dark energy paradox leads to a new structure of spacetime.pptx
The dark energy paradox leads to a new structure of spacetime.pptxThe dark energy paradox leads to a new structure of spacetime.pptx
The dark energy paradox leads to a new structure of spacetime.pptx
 
Speech, hearing, noise, intelligibility.pptx
Speech, hearing, noise, intelligibility.pptxSpeech, hearing, noise, intelligibility.pptx
Speech, hearing, noise, intelligibility.pptx
 
Is RISC-V ready for HPC workload? Maybe?
Is RISC-V ready for HPC workload? Maybe?Is RISC-V ready for HPC workload? Maybe?
Is RISC-V ready for HPC workload? Maybe?
 
TOPIC 8 Temperature and Heat.pdf physics
TOPIC 8 Temperature and Heat.pdf physicsTOPIC 8 Temperature and Heat.pdf physics
TOPIC 8 Temperature and Heat.pdf physics
 
STOPPED FLOW METHOD & APPLICATION MURUGAVENI B.pptx
STOPPED FLOW METHOD & APPLICATION MURUGAVENI B.pptxSTOPPED FLOW METHOD & APPLICATION MURUGAVENI B.pptx
STOPPED FLOW METHOD & APPLICATION MURUGAVENI B.pptx
 
User Guide: Capricorn FLX™ Weather Station
User Guide: Capricorn FLX™ Weather StationUser Guide: Capricorn FLX™ Weather Station
User Guide: Capricorn FLX™ Weather Station
 
OECD bibliometric indicators: Selected highlights, April 2024
OECD bibliometric indicators: Selected highlights, April 2024OECD bibliometric indicators: Selected highlights, April 2024
OECD bibliometric indicators: Selected highlights, April 2024
 
Neurodevelopmental disorders according to the dsm 5 tr
Neurodevelopmental disorders according to the dsm 5 trNeurodevelopmental disorders according to the dsm 5 tr
Neurodevelopmental disorders according to the dsm 5 tr
 
Hot Sexy call girls in Moti Nagar,🔝 9953056974 🔝 escort Service
Hot Sexy call girls in  Moti Nagar,🔝 9953056974 🔝 escort ServiceHot Sexy call girls in  Moti Nagar,🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Moti Nagar,🔝 9953056974 🔝 escort Service
 

03. static techniques

  • 1. “Static Techniques” Graham et al (2006) Oleh : Tricia karina (11453201712) Program Studi S1 Sistem Informasi Universitas Islam Negeri Sultan Syarif Kasim Riau http://sif.uin-suska.ac.id/ http://fst.uin-suska.ac.id/ http://www.uin-suska.ac.id/
  • 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.
  • 6.  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.
  • 7.  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.
  • 8. • 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 easy as 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.
  • 9. 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.
  • 10. • 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.
  • 11. • 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.