automated software transplantation
play

Automated Software Transplantation Earl T. Mark Yue Alexandru - PowerPoint PPT Presentation

Automated Software Transplantation Earl T. Mark Yue Alexandru Justyna Barr Harman Jia Marginean Petke CREST, University College London Alexandru Marginean Automated Software Transplantation Humies 2016 Why Autotransplantation?


  1. Automated Software Transplantation Earl T. Mark Yue Alexandru Justyna Barr Harman Jia Marginean Petke CREST, University College London Alexandru Marginean — Automated Software Transplantation — Humies 2016

  2. Why Autotransplantation? VLC Alexandru Marginean — Automated Software Transplantation — Humies 2016

  3. Why Autotransplantation? VLC Alexandru Marginean — Automated Software Transplantation — Humies 2016

  4. Why Autotransplantation? Why not handle VLC H.264? Alexandru Marginean — Automated Software Transplantation — Humies 2016

  5. Why Autotransplantation? Why not handle VLC H.264? Alexandru Marginean — Automated Software Transplantation — Humies 2016

  6. Why Autotransplantation? Why not handle VLC H.264? Alexandru Marginean — Automated Software Transplantation — Humies 2016

  7. Why Autotransplantation? Why not handle VLC H.264? Start from scratch Alexandru Marginean — Automated Software Transplantation — Humies 2016

  8. Why Autotransplantation? Why not handle VLC H.264? Start from scratch Alexandru Marginean — Automated Software Transplantation — Humies 2016

  9. Why Autotransplantation? Check open source repositories Why not handle VLC H.264? Start from scratch Alexandru Marginean — Automated Software Transplantation — Humies 2016

  10. Why Autotransplantation? Check open source repositories Why not handle VLC H.264? Start from scratch Alexandru Marginean — Automated Software Transplantation — Humies 2016

  11. Why Autotransplantation? Check open source repositories Why not handle VLC H.264? Start from scratch Alexandru Marginean — Automated Software Transplantation — Humies 2016

  12. Why Autotransplantation? Check open source repositories Why not handle VLC H.264? Start from scratch Alexandru Marginean — Automated Software Transplantation — Humies 2016

  13. Why Autotransplantation? ~100 players Check open source repositories Why not handle VLC H.264? Start from scratch Alexandru Marginean — Automated Software Transplantation — Humies 2016

  14. (G) The result solves a problem of indisputable difficulty in its field.

  15. Human Competition x264 VLC char *vF; char * iF = getInputFile(); vF = getFile(); char * oF = getOutputFile(); initCodec(vF); Stream *ds = decodeFile(vF); encodeStream(ds, out); Alexandru Marginean — Automated Software Transplantation — Humies 2016

  16. Human Competition x264 VLC char *vF; char * iF = getInputFile(); vF = getFile(); char * oF = getOutputFile(); initCodec(vF); Stream *ds = decodeFile(vF); encodeStream(ds, out); Alexandru Marginean — Automated Software Transplantation — Humies 2016

  17. Human Competition x264 VLC char *vF; char * iF = getInputFile(); vF = getFile(); char * oF = getOutputFile(); initCodec(vF); Stream *ds = decodeFile(vF); encodeStream(ds, out); Alexandru Marginean — Automated Software Transplantation — Humies 2016

  18. Human Competition x264 VLC char *vF; char * iF = getInputFile(); vF = getFile(); char * oF = getOutputFile(); initCodec(vF); Stream *ds = decodeFile(vF); encodeStream(ds, out); Alexandru Marginean — Automated Software Transplantation — Humies 2016

  19. Human Competition x264 VLC char *vF; char * iF = getInputFile(); vF = getFile(); char * oF = getOutputFile(); initCodec(vF); Stream *ds = decodeFile( iF ); Stream *ds = decodeFile(vF); encodeStream(ds, oF ); encodeStream(ds, out); Alexandru Marginean — Automated Software Transplantation — Humies 2016

  20. Human Competition x264 VLC char *vF; char * iF = getInputFile(); vF = getFile(); char * oF = getOutputFile(); initCodec(vF); Stream *ds = decodeFile( iF ); Stream *ds = decodeFile(vF); encodeStream(ds, oF ); encodeStream(ds, out); Alexandru Marginean — Automated Software Transplantation — Humies 2016

  21. Human Competition x264 VLC char *vF; char * iF = getInputFile(); vF = getFile(); char * oF = getOutputFile(); initCodec(vF); Stream *ds = decodeFile( iF ); Stream *ds = decodeFile(vF); encodeStream(ds, oF ); encodeStream(ds, out); Alexandru Marginean — Automated Software Transplantation — Humies 2016

  22. Human Competition x264 VLC char * iF = getInputFile(); char * oF = getOutputFile(); char *vF; vF = getFile(); initCodec(vF); Stream *ds = decodeFile( iF ); Stream *ds = decodeFile(vF); encodeStream(ds, oF ); encodeStream(ds, out); Alexandru Marginean — Automated Software Transplantation — Humies 2016

  23. Human Competition x264 VLC char * iF = getInputFile(); char * oF = getOutputFile(); char *vF; vF = getFile(); iF = getFile(); initCodec(vF); initCodec( iF ); Stream *ds = decodeFile( iF ); Stream *ds = decodeFile(vF); encodeStream(ds, oF ); encodeStream(ds, out); Alexandru Marginean — Automated Software Transplantation — Humies 2016

  24. Human Competition x264 VLC char * iF = getInputFile(); char * oF = getOutputFile(); char *vF; vF = getFile(); iF = getFile(); initCodec(vF); initCodec( iF ); Stream *ds = decodeFile( iF ); Stream *ds = decodeFile(vF); encodeStream(ds, oF ); encodeStream(ds, out); Alexandru Marginean — Automated Software Transplantation — Humies 2016

  25. Human Competition x264 VLC char * iF = getInputFile(); char * oF = getOutputFile(); char *vF; vF = getFile(); iF = getFile(); initCodec(vF); initCodec( iF ); Stream *ds = decodeFile( iF ); Stream *ds = decodeFile(vF); encodeStream(ds, oF ); encodeStream(ds, out); Alexandru Marginean — Automated Software Transplantation — Humies 2016

  26. Human Competition x264 VLC char * iF = getInputFile(); char * oF = getOutputFile(); char *vF; vF = getFile(); iF = getFile(); initCodec(vF); initCodec( iF ); Stream *ds = decodeFile( iF ); Stream *ds = decodeFile(vF); encodeStream(ds, oF ); encodeStream(ds, out); Alexandru Marginean — Automated Software Transplantation — Humies 2016

  27. Human Competition x264 VLC char * iF = getInputFile(); char * oF = getOutputFile(); char *vF; vF = getFile(); iF = getFile(); initCodec(vF); initCodec( iF ); Stream *ds = decodeFile( iF ); Stream *ds = decodeFile(vF); encodeStream(ds, oF ); encodeStream(ds, out); Alexandru Marginean — Automated Software Transplantation — Humies 2016

  28. Our Approach S CALPEL μ

  29. Our Approach S CALPEL μ

  30. Our Approach S CALPEL μ

  31. a c f i t t r A * o m C p * l e t t n e A e t * s * E i W s Result: x264 & VLC n e C o A l l C D T * o * S c e u s S m u e E e I R n o t * v t e d y s * a E a d l e u t a Donor Host Alexandru Marginean — Automated Software Transplantation — Humies 2016

  32. a c f i t t r A * o m C p * l e t t n e A e t * s * E i W s Result: x264 & VLC n e C o A l l C D T * o * S c e u s S m u e E e I R n o t * v t e d y s * a E a d l e u t a Award winning tool for H.264 encoding [2,3,4] Donor Host Alexandru Marginean — Automated Software Transplantation — Humies 2016

  33. a c f i t t r A * o m C p * l e t t n e A e t * s * E i W s Result: x264 & VLC n e C o A l l C D T * o * S c e u s S m u e E e I R n o t * v t e d y s * a E a d l e u t a Award winning tool for H.264 “Most popular desktop video encoding [2,3,4] player” [1] Donor Host Alexandru Marginean — Automated Software Transplantation — Humies 2016

  34. a c f i t t r A * o m C p * l e t t n e A e t * s * E i W s Result: x264 & VLC n e C o A l l C D T * o * S c e u s S m u e E e I R n o t * v t e d y s * a E a d l e u t a Award winning tool for H.264 “Most popular desktop video encoding [2,3,4] player” [1] Organ: H264 Donor Host Alexandru Marginean — Automated Software Transplantation — Humies 2016

  35. a c f i t t r A * o m C p * l e t t n e A e t * s * E i W s Result: x264 & VLC n e C o A l l C D T * o * S c e u s S m u e E e I R n o t * v t e d y s * a E a d l e u t a Award winning tool for H.264 “Most popular desktop video encoding [2,3,4] player” [1] Organ: H264 Donor Host Alexandru Marginean — Automated Software Transplantation — Humies 2016

  36. a c f i t t r A * o m C p * l e t t n e A e t * s * E i W s Result: x264 & VLC n e C o A l l C D T * o * S c e u s S m u e E e I R n o t * v t e d y s * a E a d l e u t a Award winning tool for H.264 “Most popular desktop video encoding [2,3,4] player” [1] Organ: H264 Donor Host Postoperative Alexandru Marginean — Automated Software Transplantation — Humies 2016

  37. a c f i t t r A * o m C p * l e t t n e A e t * s * E i W s Result: x264 & VLC n e C o A l l C D T * o * S c e u s S m u e E e I R n o t * v t e d y s * a E a d l e u t a Automatic Transplantation of H264 Encoder Time Regression Manual Acceptance (hours) Tests Tests Tests μ S CALPEL 26 100% 100% 100% Organ: H264 Donor Host Postoperative Alexandru Marginean — Automated Software Transplantation — Humies 2016

  38. Autotransplantation vs Human Transplantation Alexandru Marginean — Automated Software Transplantation — Humies 2016

Recommend


More recommend