This commit is contained in:
parent
ee0aea2aca
commit
e05a22e373
1 changed files with 111 additions and 52 deletions
163
slides.typ
163
slides.typ
|
|
@ -1824,19 +1824,28 @@
|
||||||
A lot of engineering, preferably spearheaded by Google.
|
A lot of engineering, preferably spearheaded by Google.
|
||||||
]
|
]
|
||||||
|
|
||||||
#for i in range(3) {
|
//- Benchmark of APKs to evaluate finishing rate
|
||||||
let delta_x = 75pt
|
//- 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(
|
let myell = ellipse.with(
|
||||||
stroke: green + 5pt,
|
stroke: green + 5pt,
|
||||||
outset: 5pt,
|
outset: 5pt,
|
||||||
fill: white,
|
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(
|
place(left+top, dx: delta_x, line(
|
||||||
start: start, end: end,
|
start: start, end: end,
|
||||||
stroke: green + 5pt,
|
stroke: color + 5pt,
|
||||||
))
|
))
|
||||||
}
|
}
|
||||||
|
|
||||||
let myplace(pos, body) = context {
|
let myplace(pos, body) = context {
|
||||||
let size = measure(body);
|
let size = measure(body);
|
||||||
place(
|
place(
|
||||||
|
|
@ -1853,6 +1862,7 @@
|
||||||
let pos_tools = (100pt, 50pt)
|
let pos_tools = (100pt, 50pt)
|
||||||
let pos_devs = (500pt, -100pt)
|
let pos_devs = (500pt, -100pt)
|
||||||
let pos_google = (500pt, 100pt)
|
let pos_google = (500pt, 100pt)
|
||||||
|
let pos_test = (600pt, 0pt)
|
||||||
|
|
||||||
let circle_apk = myell[APK]
|
let circle_apk = myell[APK]
|
||||||
let circle_android = myell[Android]
|
let circle_android = myell[Android]
|
||||||
|
|
@ -1861,12 +1871,109 @@
|
||||||
let circle_tools = myell[Analysis tools]
|
let circle_tools = myell[Analysis tools]
|
||||||
let circle_devs = myell[Developers]
|
let circle_devs = myell[Developers]
|
||||||
let circle_google = myell[Google]
|
let circle_google = myell[Google]
|
||||||
|
let circle_test = myell_red(align(center)[Public \ Dynamic Tests])
|
||||||
|
|
||||||
|
|
||||||
counter("logical-slide").update( n => n - 1 )
|
counter("logical-slide").update( n => n - 1 )
|
||||||
slide(
|
slide(
|
||||||
title: [Future Works], {
|
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_apk, pos_android)
|
||||||
myline(pos_aosp, pos_android)
|
myline(pos_aosp, pos_android)
|
||||||
myline(pos_apk, pos_dataset)
|
myline(pos_apk, pos_dataset)
|
||||||
|
|
@ -1885,60 +1992,12 @@
|
||||||
myplace(pos_google, circle_google)
|
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[
|
#empty-slide[
|
||||||
Questions
|
Questions
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
#slide()[
|
|
||||||
#get_figure(<fig:th-cg-before-after>))
|
|
||||||
]
|
|
||||||
|
|
||||||
#slide()[
|
|
||||||
#pl.toolbox.slide-number
|
|
||||||
#context({
|
|
||||||
pl.toolbox.all-sections((sections, current) => {
|
|
||||||
for i in sections {
|
|
||||||
repr(i.at("body").at("text"))
|
|
||||||
}
|
|
||||||
})
|
|
||||||
})
|
|
||||||
]
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#pagebreak()
|
#pagebreak()
|
||||||
#set page(height: auto, margin: 25mm)
|
#set page(height: auto, margin: 25mm)
|
||||||
#bibliography("bibliography.bib")
|
#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
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue