SlideShare uma empresa Scribd logo
1 de 3
Baixar para ler offline
PVS-Studio	and	open-source	software
Author: Andrey Karpov
Date: 09.04.2013
I've decided to write about the work our team is doing regarding open-source projects. I will give a list of
open-source projects we have checked by now with the PVS-Studio analyzer. Then I'll tell you about our
plans for the future.
We are friendly to open-source projects. But don't forget that the "open-source" status of some
software doesn't necessarily mean that it is being developed solely by some enthusiasts for the common
good. Many projects are developed by workers of large companies, and they are paid salaries for that.
People sit in their offices, eat cookies, do programming, and write articles about advantages of open-
source software.
I just want to set in order thoughts of those people who believe that we must feel obliged to open-
source software's authors only because it is open-source - and therefore check their source code and
give them a registration key for free. That's exactly what we usually do, and we are glad to be helpful.
But the fact of some software product's being open-source only means that for some reasons the
company finds this form of project development more convenient. At the same time, they can well
afford purchasing PVS-Studio. Why should we refuse?
OK, enough of grumbling. It's just not fair, with us having checked all those projects and given a number
of free keys, that we are reproached for being unkind to open-source projects. Here's the list of open-
source projects analyzed with PVS-Studio by now:
• 64-bit Loki library check. (September, 2009)
• WinMerge check (October, 2010), second check (March, 2012)
• Notepad++ check (November, 2010), second check (February, 2012)
• Fennec Media Project check (November, 2010)
• qutIM check (November, 2010)
• TortoiseSVN check (December, 2010)
• Ultimate Toolbox check (December, 2010)
• Intel IPP Samples check (January, 2011), second check (October, 2011), third check (April, 2012)
• Miranda IM check (March, 2011)
• Chromium check (May, 2011), second check (October, 2011)
• QT check (July, 2011)
• Apache HTTP Server check (July, 2011)
• Intel Energy Checker SDK check (July, 2011)
• Clang check (August, 2011), second check (August, 2012)
• ReactOS check (September, 2011), second check (April, 2013)
• Doom 3 check (November, 2011)
• Firefox check (December, 2011)
• Quake III Arena GPL check (February, 2012)
• TrinityCore check (February, 2012)
• Dolphin-emu check (February, 2012)
• Blender check (April, 2012)
• MAME check (July, 2012)
• Trans-Proteomic Pipeline check (August, 2012)
• It's not open-source, but it's useful to everyone. Visual C++ libraries check (September, 2012)
• Tor check (November, 2012)
• OpenSSL check (December, 2012)
• Casablanca check (March, 2013)
• OpenCV check (March, 2013)
• Various small projects we didn't write about.
It's not entirely without any reward that our team carries out these project checks. The articles we
publish about errors detected in open-source projects serve as advertisement for us. We make no secret
of it. But I believe it's the best advertisement you've ever seen! PVS-Studio indeed helps the open-
source community.
Perhaps you will notice that the cited articles are greatly different in size. There is an explanation. For
example, when writing the first article about checking ReactOS, the analyzer possessed much fewer
diagnostic rules than when performing the second check. Within the time passed between the two
checks, the tool has learned to find several times more bugs. That's why our analysis-report articles will
in time grow even larger. Now we have to omit many arguable bugs in order not to turn an article into a
reference book.
We inform project developers about all the errors we've found. Of course, the list of bugs we provide to
them contains much more fragments to be considered than described in articles. We also give them a
free registration key for some time so that they can check the project more thoroughly. If you develop
an open-source project, write to us. With some open-source projects we establish good relations: the
authors inform us about PVS-Studio's flaws and suggest new rules to implement, while we provide them
with registration keys. So we are not greedy - quite on the contrary. Just ask, but never demand.
We also provide keys to programmers who have the Microsoft MVP status. But no one has asked us as
yet. So, I'm reminding you of it once again.
Indeed, please feel free to contact us. We are ready for various ways of cooperation. For instance, we
could write an article in co-authorship or carry out some investigation. We are a small company and
don't have bureaucracy yet.
Let's speak about our plans now. We intend to go on checking open-source projects and write articles
about the checks. We'll try to extend our coverage. For instance, we can now analyze projects built with
Embarcadero RAD Studio (C++Builder) and MinGW. By the way, you may contact us to suggest some
projects that you think should be checked. The only restriction is that they must be built in Windows.
For you to know the details, here's a list of IDEs we support at present:
• Visual Studio 2012 - C, C++, C++11, C++/CX (WinRT)
• Visual Studio 2010 - C, C++, C++0x
• Visual Studio 2008 - C, C++
• Visual Studio 2005 - C, C++
• Embarcadero RAD Studio XE3 - C, C++, C++11
• Embarcadero RAD Studio XE2 - C, C++, C++0x
• Embarcadero RAD Studio XE - C, C++
• Embarcadero RAD Studio 2010 - C, C++
• Embarcadero RAD Studio 2009 - C, C++
• MinGW - C, C++, C++11
We are specifically interested in projects for Embarcadero RAD Studio. Does anybody have any?
And the last thing. We keep a bug database on our website. I think many of you will find it interesting
wandering through it. But the most interesting thing about it is that it can be used as a resource to work
out coding standards and new recommendations for textbooks and articles on programming. It is now
waiting for its McConnell to come and use it as soil to raise a book of the "50 Tips on How Not to Drop a
Clanger" style.

Mais conteúdo relacionado

Destaque

Creating, debugging and deploying extension packages for Microsoft Visual Stu...
Creating, debugging and deploying extension packages for Microsoft Visual Stu...Creating, debugging and deploying extension packages for Microsoft Visual Stu...
Creating, debugging and deploying extension packages for Microsoft Visual Stu...PVS-Studio
 
Static analysis should be used regularly
Static analysis should be used regularlyStatic analysis should be used regularly
Static analysis should be used regularlyPVS-Studio
 
What do static analysis and search engines have in common? A good "top"!
What do static analysis and search engines have in common? A good "top"!What do static analysis and search engines have in common? A good "top"!
What do static analysis and search engines have in common? A good "top"!PVS-Studio
 
Errors detected in C++Builder
Errors detected in C++BuilderErrors detected in C++Builder
Errors detected in C++BuilderPVS-Studio
 
PVS-Studio advertisement - static analysis of C/C++ code
PVS-Studio advertisement - static analysis of C/C++ codePVS-Studio advertisement - static analysis of C/C++ code
PVS-Studio advertisement - static analysis of C/C++ codePVS-Studio
 
Visual C++ project model
Visual C++ project modelVisual C++ project model
Visual C++ project modelPVS-Studio
 
The D language comes to help
The D language comes to helpThe D language comes to help
The D language comes to helpPVS-Studio
 
Difficulties of comparing code analyzers, or don't forget about usability
Difficulties of comparing code analyzers, or don't forget about usabilityDifficulties of comparing code analyzers, or don't forget about usability
Difficulties of comparing code analyzers, or don't forget about usabilityPVS-Studio
 
100% code coverage by static analysis - is it that good?
100% code coverage by static analysis - is it that good?100% code coverage by static analysis - is it that good?
100% code coverage by static analysis - is it that good?PVS-Studio
 
Wade not in unknown waters. Part one.
Wade not in unknown waters. Part one.Wade not in unknown waters. Part one.
Wade not in unknown waters. Part one.PVS-Studio
 
Farewell to #define private public
Farewell to #define private publicFarewell to #define private public
Farewell to #define private publicPVS-Studio
 
Lesson 7. The issues of detecting 64-bit errors
Lesson 7. The issues of detecting 64-bit errorsLesson 7. The issues of detecting 64-bit errors
Lesson 7. The issues of detecting 64-bit errorsPVS-Studio
 

Destaque (13)

Cppcheck
CppcheckCppcheck
Cppcheck
 
Creating, debugging and deploying extension packages for Microsoft Visual Stu...
Creating, debugging and deploying extension packages for Microsoft Visual Stu...Creating, debugging and deploying extension packages for Microsoft Visual Stu...
Creating, debugging and deploying extension packages for Microsoft Visual Stu...
 
Static analysis should be used regularly
Static analysis should be used regularlyStatic analysis should be used regularly
Static analysis should be used regularly
 
What do static analysis and search engines have in common? A good "top"!
What do static analysis and search engines have in common? A good "top"!What do static analysis and search engines have in common? A good "top"!
What do static analysis and search engines have in common? A good "top"!
 
Errors detected in C++Builder
Errors detected in C++BuilderErrors detected in C++Builder
Errors detected in C++Builder
 
PVS-Studio advertisement - static analysis of C/C++ code
PVS-Studio advertisement - static analysis of C/C++ codePVS-Studio advertisement - static analysis of C/C++ code
PVS-Studio advertisement - static analysis of C/C++ code
 
Visual C++ project model
Visual C++ project modelVisual C++ project model
Visual C++ project model
 
The D language comes to help
The D language comes to helpThe D language comes to help
The D language comes to help
 
Difficulties of comparing code analyzers, or don't forget about usability
Difficulties of comparing code analyzers, or don't forget about usabilityDifficulties of comparing code analyzers, or don't forget about usability
Difficulties of comparing code analyzers, or don't forget about usability
 
100% code coverage by static analysis - is it that good?
100% code coverage by static analysis - is it that good?100% code coverage by static analysis - is it that good?
100% code coverage by static analysis - is it that good?
 
Wade not in unknown waters. Part one.
Wade not in unknown waters. Part one.Wade not in unknown waters. Part one.
Wade not in unknown waters. Part one.
 
Farewell to #define private public
Farewell to #define private publicFarewell to #define private public
Farewell to #define private public
 
Lesson 7. The issues of detecting 64-bit errors
Lesson 7. The issues of detecting 64-bit errorsLesson 7. The issues of detecting 64-bit errors
Lesson 7. The issues of detecting 64-bit errors
 

Último

Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
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
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
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
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 

Último (20)

Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
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
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
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
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 

PVS-Studio and open-source software

  • 1. PVS-Studio and open-source software Author: Andrey Karpov Date: 09.04.2013 I've decided to write about the work our team is doing regarding open-source projects. I will give a list of open-source projects we have checked by now with the PVS-Studio analyzer. Then I'll tell you about our plans for the future. We are friendly to open-source projects. But don't forget that the "open-source" status of some software doesn't necessarily mean that it is being developed solely by some enthusiasts for the common good. Many projects are developed by workers of large companies, and they are paid salaries for that. People sit in their offices, eat cookies, do programming, and write articles about advantages of open- source software. I just want to set in order thoughts of those people who believe that we must feel obliged to open- source software's authors only because it is open-source - and therefore check their source code and give them a registration key for free. That's exactly what we usually do, and we are glad to be helpful. But the fact of some software product's being open-source only means that for some reasons the company finds this form of project development more convenient. At the same time, they can well afford purchasing PVS-Studio. Why should we refuse? OK, enough of grumbling. It's just not fair, with us having checked all those projects and given a number of free keys, that we are reproached for being unkind to open-source projects. Here's the list of open- source projects analyzed with PVS-Studio by now: • 64-bit Loki library check. (September, 2009) • WinMerge check (October, 2010), second check (March, 2012) • Notepad++ check (November, 2010), second check (February, 2012) • Fennec Media Project check (November, 2010) • qutIM check (November, 2010) • TortoiseSVN check (December, 2010) • Ultimate Toolbox check (December, 2010) • Intel IPP Samples check (January, 2011), second check (October, 2011), third check (April, 2012) • Miranda IM check (March, 2011) • Chromium check (May, 2011), second check (October, 2011) • QT check (July, 2011) • Apache HTTP Server check (July, 2011) • Intel Energy Checker SDK check (July, 2011) • Clang check (August, 2011), second check (August, 2012) • ReactOS check (September, 2011), second check (April, 2013) • Doom 3 check (November, 2011) • Firefox check (December, 2011) • Quake III Arena GPL check (February, 2012) • TrinityCore check (February, 2012) • Dolphin-emu check (February, 2012)
  • 2. • Blender check (April, 2012) • MAME check (July, 2012) • Trans-Proteomic Pipeline check (August, 2012) • It's not open-source, but it's useful to everyone. Visual C++ libraries check (September, 2012) • Tor check (November, 2012) • OpenSSL check (December, 2012) • Casablanca check (March, 2013) • OpenCV check (March, 2013) • Various small projects we didn't write about. It's not entirely without any reward that our team carries out these project checks. The articles we publish about errors detected in open-source projects serve as advertisement for us. We make no secret of it. But I believe it's the best advertisement you've ever seen! PVS-Studio indeed helps the open- source community. Perhaps you will notice that the cited articles are greatly different in size. There is an explanation. For example, when writing the first article about checking ReactOS, the analyzer possessed much fewer diagnostic rules than when performing the second check. Within the time passed between the two checks, the tool has learned to find several times more bugs. That's why our analysis-report articles will in time grow even larger. Now we have to omit many arguable bugs in order not to turn an article into a reference book. We inform project developers about all the errors we've found. Of course, the list of bugs we provide to them contains much more fragments to be considered than described in articles. We also give them a free registration key for some time so that they can check the project more thoroughly. If you develop an open-source project, write to us. With some open-source projects we establish good relations: the authors inform us about PVS-Studio's flaws and suggest new rules to implement, while we provide them with registration keys. So we are not greedy - quite on the contrary. Just ask, but never demand. We also provide keys to programmers who have the Microsoft MVP status. But no one has asked us as yet. So, I'm reminding you of it once again. Indeed, please feel free to contact us. We are ready for various ways of cooperation. For instance, we could write an article in co-authorship or carry out some investigation. We are a small company and don't have bureaucracy yet. Let's speak about our plans now. We intend to go on checking open-source projects and write articles about the checks. We'll try to extend our coverage. For instance, we can now analyze projects built with Embarcadero RAD Studio (C++Builder) and MinGW. By the way, you may contact us to suggest some projects that you think should be checked. The only restriction is that they must be built in Windows. For you to know the details, here's a list of IDEs we support at present: • Visual Studio 2012 - C, C++, C++11, C++/CX (WinRT) • Visual Studio 2010 - C, C++, C++0x • Visual Studio 2008 - C, C++ • Visual Studio 2005 - C, C++ • Embarcadero RAD Studio XE3 - C, C++, C++11 • Embarcadero RAD Studio XE2 - C, C++, C++0x • Embarcadero RAD Studio XE - C, C++
  • 3. • Embarcadero RAD Studio 2010 - C, C++ • Embarcadero RAD Studio 2009 - C, C++ • MinGW - C, C++, C++11 We are specifically interested in projects for Embarcadero RAD Studio. Does anybody have any? And the last thing. We keep a bug database on our website. I think many of you will find it interesting wandering through it. But the most interesting thing about it is that it can be used as a resource to work out coding standards and new recommendations for textbooks and articles on programming. It is now waiting for its McConnell to come and use it as soil to raise a book of the "50 Tips on How Not to Drop a Clanger" style.