Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

RacerD: il nuovo race detector di Facebook

Link copiato negli appunti

Una delle sfide più complicate per un developer è quella che prevede di padroneggiare il concurrent programming (calcolo simultaneo). Si tratta di un approccio alla programmazione dove i calcoli multipli vengono effettuati all'interno di un intervallo di tempo sovrapposto (overflapping time frame).

Questa tecnica sfrutta un concetto abbastanza semplice: processi multipli possono essere eseguiti senza attendere che l'elaborazione degli altri processi sia ultimata. Il concurrent programming è diverso dal calcolo sequenziale e da quello parallelo, infatti nel primo caso i calcoli vengono effettuati uno dopo l'altro, mentre nel secondo vengono eseguiti simultaneamente. Le applicazioni più comuni del concurrent programming possono essere trovate all'interno di piattaforme che implementano sistemi di threading e di pre-emptive multitasking.

Facebook è molto interessata al concurrent programming e, per aiutare i developer a padroneggiare questa tecnica di programmazione, ha creato un nuovo race detector chiamato RacerD. Si tratta di un progetto completamente open source, dunque chiunque sia competente in materia può contribuire allo sviluppo di questo tool.

RacerD è in sostanza un debugger tool che analizza il codice e i possibili risultati di un programma in modo molto più rapido di quanto possa fare un essere umano, andando a ridurre notevolmente il tempo di debug. Lo scopo primario di RacerD è di trovare i data races all'interno del codice Java.

Ovviamente Facebook ammette che è impossibile eseguire un test perfetto al 100%, sarebbe necessario infatti far eseguire troppe analisi dei risultati del codice e i tempi andrebbero a dilatarsi eccessivamente. Dunque, per ovviare a questi problemi, RacerD sfrutta la teoria della Concurrent Separation Logic, che consente al tool di scalare il concurrent checking in un tempo ragionevole per lo sviluppatore.

Via RacerD

Ti consigliamo anche