From e05a22e3731038c70cdfac9ef04ca2c76ec936a9 Mon Sep 17 00:00:00 2001 From: Jean-Marie 'Histausse' Mineau Date: Sun, 23 Nov 2025 21:23:32 +0100 Subject: [PATCH] add futur works, with drawings --- slides.typ | 163 ++++++++++++++++++++++++++++++++++++----------------- 1 file changed, 111 insertions(+), 52 deletions(-) diff --git a/slides.typ b/slides.typ index d4e9a2e..533f89c 100644 --- a/slides.typ +++ b/slides.typ @@ -1824,19 +1824,28 @@ A lot of engineering, preferably spearheaded by Google. ] -#for i in range(3) { - let delta_x = 75pt +//- Benchmark of APKs to evaluate finishing rate +//- Make tools reusing sources from Android Open Source Project +//- Require developpers to provide high coverage tests inputs with the APKs +#for i in range(4) { + let delta_x = 50pt let myell = ellipse.with( stroke: green + 5pt, outset: 5pt, fill: white, ) - let myline(start, end) = { + let myell_red = ellipse.with( + stroke: red + 5pt, + outset: 0pt, + fill: white, + ) + let myline(start, end, color: green) = { place(left+top, dx: delta_x, line( start: start, end: end, - stroke: green + 5pt, + stroke: color + 5pt, )) } + let myplace(pos, body) = context { let size = measure(body); place( @@ -1853,6 +1862,7 @@ let pos_tools = (100pt, 50pt) let pos_devs = (500pt, -100pt) let pos_google = (500pt, 100pt) + let pos_test = (600pt, 0pt) let circle_apk = myell[APK] let circle_android = myell[Android] @@ -1861,12 +1871,109 @@ let circle_tools = myell[Analysis tools] let circle_devs = myell[Developers] let circle_google = myell[Google] + let circle_test = myell_red(align(center)[Public \ Dynamic Tests]) counter("logical-slide").update( n => n - 1 ) slide( title: [Future Works], { + if i >= 1 { + let dx = 25pt + let cdx = 30pt + let cdy = 30pt + let st = ( + pos_dataset.at(0) - dx, + pos_dataset.at(1) + ) + let en = ( + pos_tools.at(0) - dx, + pos_tools.at(1) + ) + let c1 = ( + st.at(0) - cdx, + (st.at(1) + en.at(1)) / 2 - cdy + ) + let c2 = ( + st.at(0) - cdx, + (st.at(1) + en.at(1)) / 2 + cdy + ) + place(left+top, dx: delta_x, curve( + stroke: red + 5pt, + curve.move(st), + curve.cubic(c1, c2, en) + )) + place( + left+top, + dx: delta_x + st.at(0) - 150pt, + dy: (st.at(1) + en.at(1)) / 2 - 30pt, + text(fill: red)[ + RASTA-like \ + benchmark + ] + ) + } + if i >= 2 { + let cdx = 50pt + let cdy = 0pt + let st = ( + pos_tools.at(0), + pos_tools.at(1) + ) + let en = ( + pos_aosp.at(0), + pos_aosp.at(1) + ) + let c = ( + (st.at(0) + en.at(0)) / 2 - 40pt, + (st.at(1) + en.at(1)) / 2 + 50pt + ) + let c1 = ( + c.at(0) - cdx, + c.at(1) - cdy + ) + let c2 = ( + c.at(0) + cdx, + c.at(1) + cdy + ) + place(left+top, dx: delta_x, curve( + stroke: red + 5pt, + curve.move(st), + curve.cubic(c1, c2, en) + )) + place( + left+top, + dx: delta_x + c.at(0) - 100pt, + dy: c.at(1), + text(fill: red)[ + Use Android Code + ] + ) + } + if i >= 3 { + + myline(pos_apk, pos_test, color: red) + myline(pos_android, pos_test, color: red) + myline(pos_devs, pos_test, color: red) + myline(pos_tools, pos_test, color: red) + myline(pos_google, pos_test, color: red) + + myplace(pos_test, circle_test) + + place( + left+top, + dx: delta_x + pos_test.at(0) - 10pt, + dy: pos_test.at(1) + 45pt, + text(fill: red, align(center)[ + Require \ + high-coverage \ + tests inputs \ + for some \ + permissions + ]) + ) + } + myline(pos_apk, pos_android) myline(pos_aosp, pos_android) myline(pos_apk, pos_dataset) @@ -1885,60 +1992,12 @@ myplace(pos_google, circle_google) }) } - //- Benchmark of APKs to evaluate finishing rate - //- Make tools reusing sources from Android Open Source Project - //- Require developpers to provide high coverage tests inputs with the APKs - #empty-slide[ Questions ] - -/* -#slide()[ - #get_figure()) -] - -#slide()[ - #pl.toolbox.slide-number - #context({ - pl.toolbox.all-sections((sections, current) => { - for i in sections { - repr(i.at("body").at("text")) - } - }) - }) -] -*/ - - - - #pagebreak() #set page(height: auto, margin: 25mm) #bibliography("bibliography.bib") - -/* -* RETOUR 1: -* -* Pas de retour en arriere -* Ne pas se retourner -* -* Bon premier jet. -* -* - slide text bof -* - Parti 3: plus dure a comprendre -* - Expliquer ce qui est fait avant le résultat (surtout parti 3) -* -* slite titre problemenatiques: PB1, PB2 PB3 -* -* Plus d'état de l'art, dans chapitres? redonner contexte au debut des chapitre, en profiter pour l'état de l'art. Pas plus d'un ou deux papiers, si important. -* Remplacer l'état de l'art dans l'intro par intuition et mettre soa dans chapitre -* -* PQ: focu on dcl & refl -* -* RQ1: Static, RQ2: Check coherence static / dynamic, RQ3: transformation -* -*/