..


Gesponsorde links

Statische code in C + +

Artikel geschreven door Damiano Verda
Pagina 1 van 2

We kunnen definiëren het proces van statische analyse van de broncode als een procedure waarbij gedeelten onveilige code geïdentificeerd zonder dat de feitelijke uitvoering van het programma.

Statische analyse 'S kan automatisch worden uitgevoerd, dat wil zeggen, door zijn eigen specifieke hulpmiddelen nuttig zijn om de test te ondersteunen. Observeren hoe de fase van het testen van software, in zijn geheel, is een zeer complex proces en meestal gedaan door programmeurs die besluiten zich te specialiseren in dit specifieke gebied. Software tools gewijd aan de 'statische code analyse dus helpen om tijd en kosten te verlagen, waardoor een eerste hint van wat delen van de code worden verplicht om meer zorgvuldig te controleren.

De aard van de fouten die door de genoemde instrumenten zijn meerdere en permanente bijscholing, business development, in feite is dit soort software gaat heel ritme voor een lange tijd.

Belangrijk in dit opzicht de historische waarde van een programma zoals Lint , uitgebracht in 1979, die draait op Linux en gewijd aan de programmeertaal C . Lint is een echte mijlpaal voor statische code verificatie software, soms aangeduid als "Lint-achtige tools", of "pluizen zoals gereedschap."

De moderne statische analysers zijn ook in staat om de code ontworpen om te draaien in parallel, het verstrekken van specifieke suggesties voor dergelijke toepassingen te verifiëren.

In dit artikel richten we ons op dit type instrument, proberen een kort overzicht van de mogelijkheden in de statische code te bieden voor programma's die parallel taal C + + (de meest populaire en veelzijdige in de natuur). Om te beginnen, laten we een generieke software en flexibel als een te onderzoeken PC-Lint .

PC-Lint

PC-Lint is ontworpen om de prestaties te bieden in de analyse van programma's die het gebruik POSIX threads , maar effectief kan worden gebruikt in een generieke geval. Willen niet zeggen dat de analyse van de software is in alle opzichten automatisch.

Het lijkt nodig om handmatig de functies die het programma zal parallel lopen (of zelfs gelijktijdig), zodat PC-Lint kan overgaan tot 'statische analyse van billijkheid (dat ja, automatisch) alleen in deze secties. Om dit te bereiken, moet u de optie-altijd over de uitvoering van de PC-Lint command line. Bijvoorbeeld de uitspraak:

 



 Lint-sem (func, draad)

 
communiceert met PC-Lint is nodig om de functie func te analyseren, omdat het gelijktijdig draaien. U ontvangt nu foutmeldingen met betrekking tot de functie houden in het achterhoofd dat je ook moet parallel uitvoeren van omgaan met de zelfde, dan wijzen op, bijvoorbeeld als een gedeelde variabele wordt gebruikt of gewijzigd zonder de juiste definitie van een kritieke sectie.

Het was in dit opzicht, als de wederzijdse uitsluiting en synchronisatie primitieven worden geïmplementeerd met behulp van POSIX onderwerpen die kenmerkend zijn voor formalisme, of bijvoorbeeld, pthread_mutex_lock en pthread_mutex_unlock, zult u niet nodig om iets aan te geven vanaf de opdrachtregel. Anders zal de richtlijnen worden gebruikt:






 -Sem (toegang, thread_lock)







 -Sem (release, thread_unlock)



om aan te geven dat de toegang tot de kritieke sectie is gemaakt door middel van een functie genaamd toegang tot en de vrijlating van die sectie is met behulp van de release-functie.

Indien voor een statische analyse van onze code, maar we wilden een iets krachtigere tools en onafhankelijk van de PC-Lint hebben, VivaMP wellicht een goede keuze.

In dezelfde categorie ...
E-Learning
ASP Zero (Ebook) ASP Zero (Ebook)
Leren Microsoft ASP en VBScript vanaf nul. Op slechts 29 €.
Flash MX en ActionScript (Cursus) Flash MX en ActionScript (Cursus)
Word een ontwikkelaar van websites van 29 €.
Java (Cursus) Java (Cursus)
OOP programmeren in Java zon Van 49 €.
Gesponsorde links