Best notes from our company's blog on parallel and 64-bit software development

This is an article on Best notes from our company's blog on parallel and 64-bit software development in Programming.

Rated 5.00 By 1 users

Abstract

This text contains links to the best posts of the blog conducted by the workers of OOO "Program Verification Systems" company. The notes are devoted to the topic of 64-bit and parallel OpenMP software development.

Introduction

On reading the article "Information architecture of blogs (RU)" [1], we had to agree with its main thesis "blog is a means of communication, not storage of structured information". As a result, it got clear that arranging some information in the form of blog-notes on our site was not a very good idea. In the blog, there are posts on various topics and of different obsolescence levels all mixed together.

To partly solve this issue, we decided to gather the most interesting posts present in the blog by this moment (May, 2010). Below are links to these posts arranged in topics and supplied with small descriptions.

Interesting examples of 64-bit errors

When examining code of various applications, we sometimes encounter interesting 64-bit errors. By 64-bit errors we understand code fragments which are correct when compiling the application for a 32-bit system but lead to errors when being compiled in the 64-bit mode. The examples of such errors are described in our blog:

The essence of 64-bit errors

By the way, if you do not agree that the described errors should be called "64-bit", please see this post: "Are 64-bit errors real?". It is written in a bit humorous manner and explains why we call 64-bit errors "64-bit errors".

Loki

We cannot believe it ourselves, but the fact remains - in due time we were asked by the Loki library administrator to check this library for 64-bit errors and we did it. And the analyzer did not crash or hang We have a note in the blog about this experience: "PVS-Studio and testing Loki". To learn more about this check and its result, please read the article "64-bit Loki" [2].

64 bits is a business of far future

I cannot agree with this thesis. Here is a post on this topic about how 64 bits are coming into our life irrespectively if we want it or not: "64-bit world is getting closer".

Description of diagnosis for some 64-bit errors

In some posts, we describe how PVS-Studio tool allows to detect some kinds of errors and what diagnostic rules are implemented in it for this purpose.

Parallel notes

We have made a small series of publications devoted to the parallel programming technology OpenMP. These notes cannot replace a book or training course but they let you get acquainted with the OpenMP technology to understand if it fits your tasks and if you should study it in detail.

Parallel errors in OpenMP applications

There are rather few resources on parallel programming in our blog yet. But some issues, the programmer may encounter, are described and it may appear very useful for beginners studying the OpenMP technology.

Cold Tachyon

In October, 2009, the first online-seminar in Russian "Intel Parallel Studio workflow" arranged by Intel took place. Kirill Mavrodiev demonstrated there how to parallelize an application considering it a black box. In other words, he described a typical situation when the developer has an unfamiliar code which requires modifying. For example, it must be parallelized. For this purpose, the OpenMP technology was chosen while the dynamic analyzer Parallel Inspector was chosen for the task of error detection.

In the note "Cold Tachyon", we describe how to solve the task of searching for parallel errors in Tachyon program using the capabilities of VivaMP static analyzer included into PVS-Studio.

PC-Lint and PVS-Studio

Static analyzer PC-Ling can be called our rival because it also claims to be called "parallel lint", i.e. an analyzer that allows to detect parallel errors in source code. But on closer examination, it turns out that the functionalities of our tool and PC-Lint do not intersect in this sphere. It is described in detail in the note "Peaceful coexistence of PC-Lint and VivaMP".

What the question of comparing the capabilities of 64-bit code diagnosis in PVS-Studio and PC-Lint is concerned, please see the article "Comparing PVS-Studio with other code analyzers" [3]. Note that this article has become a bit obsolete because we regularly improve the capabilities of the PVS-Studio package in the sphere of detecting 64-bit and parallel errors since it is the natural specialization of our tool.

The plan "Course on static analysis"

Once we had a conversation with the company TEKAMA about the question of developing a course on static code analysis for one of their corporate clients. Unfortunately, the project was not implemented but we are still ready to develop theoretical and practical courses in this sphere. If you would like to get tutorial courses in the sphere of software quality and code verification - write to us. We are sure that we will be able to find mutual interests.