Exception problem with transform.position

I've made this script for moving an object (a platform) in the game, but I'm a beginner and I don't know if what I've done is right, the NullReferenceException is at partenza.position in the Start function. I don't know why it's wrong and I don't know how to fix it, I just want the object to move right to left or up and down by a distance

var orizz_vert : boolean = true; //vero = orizzontale, falso = verticale
var velocita : int = 2;
var pausa : int = 1; //tempo di pausa in secondi
var ontrigger : boolean = false; //se  attiva funziona in modo diverso
var distanza : int = 20;
private var arrivo : Transform;
private var partenza : Transform;

function Start(){
    partenza.position = Vector3(transform.position.x, transform.position.y, transform.position.z);
        arrivo.position = Vector3(transform.position.x + distanza, transform.position.y, transform.position.z);
        arrivo.position = Vector3(transform.position.x, transform.position.y + distanza, transform.position.z);


function OnDrawGizmosSelected () {
    Gizmos.color = Color.blue;
    Gizmos.DrawLine (partenza.position, arrivo.position);
    //disgna una linea tra partenza e arrivo

function Update () {
            //muovi orizz
            transform.position = Vector3.Lerp(partenza.position, arrivo.position, Time.deltaTime * velocita);
            if(Vector3.Distance(partenza.position, arrivo.position) <= 0){
                var niente : Transform = partenza; //scambio partenza e arrivo
                partenza = arrivo;
                arrivo = niente;
        else { 
        //muovi vert



"partenza" is null until you assign something to it. Since you've made it private, you can't assign a Transform in the inspector, so you'll have to use some other method (or just make it public). Same problem with "arrivo".