There is unfortunately no "formiula" for tensor products in prime characteristic.   Instead you can derive a list of composition factors $L(\lambda)$ (with multiplicity) by recursion. When $p=2$ there are only
t two simple modules with *restricted* highest weights (abbreivated by non-negative integers), namely the trivial module $L(0)$ of dimension 1 and the natural module $L(1)$ of dimension 2.  After this you need to rely on Steinberg's ttwisted tensor product theorem relative to a $p$-adic expansion of the highest weight.   For instance, $L(2) \cong L(1)^{(1)}$, the first Frobenius twist of the natural module (still having dimension 2).

In your specific example, the recursion is easy to carry out: peel off the composition factor of highest weight and see what weights remain.     Here yuu are working with the tensor product of the natural module $L(1)^{(1)}$ with the "induced" module $H^0(3)$ of dimension 4 as in Jnntzen's book (polynomials in two variables of homogeneous degree 3) which is actually simple when $p=2$, isomorphic to $L(1) \otimes L(1)^{(1)}$.   (These factors are the respective Steinberg modules for the first and second Frobenius kernels.)   

From the recursion one arrives at a list of composition factors (having total dimension 8):   $L(1)^{(2)}, \: L(1)^{(1)} \text{ twice }, L(0)\: \text{ twice}.$  

Here at least there is a recrusive method, but getting the precise module structure can be quite tricky.    In this special case, you might take advantage of the fact that you are tensoring with a projective module for a certain Frobenius kernel.    But in general it's complicated even in rank 1.,

ADDED: For some recent work on decomposition of tensor products into indecomposables, see for example a paper by Doty and Henke, 
*Decomposition of tensor products of modular irreducibles for SL$_2$.* 
Q. J. Math. 56 (2005), no. 2, 189-207.   This involves tilting modules and their Frobenius twists.