WEBVTT
Kind: captions
Language: en

00:00:00.120 --> 00:00:03.350 align:start position:0%
 
good<00:00:01.110><c> naps</c><00:00:01.230><c> number</c><00:00:01.530><c> one</c><00:00:01.709><c> and</c><00:00:01.949><c> my</c><00:00:02.909><c> name</c><00:00:03.030><c> is</c><00:00:03.149><c> Han</c>

00:00:03.350 --> 00:00:03.360 align:start position:0%
good naps number one and my name is Han
 

00:00:03.360 --> 00:00:05.180 align:start position:0%
good naps number one and my name is Han
Liu<00:00:03.629><c> and</c><00:00:03.990><c> I'm</c><00:00:04.230><c> currently</c><00:00:04.500><c> a</c><00:00:04.740><c> postdoc</c>

00:00:05.180 --> 00:00:05.190 align:start position:0%
Liu and I'm currently a postdoc
 

00:00:05.190 --> 00:00:07.070 align:start position:0%
Liu and I'm currently a postdoc
researcher<00:00:05.549><c> from</c><00:00:05.879><c> Tsinghua</c><00:00:06.240><c> University</c><00:00:06.270><c> in</c>

00:00:07.070 --> 00:00:07.080 align:start position:0%
researcher from Tsinghua University in
 

00:00:07.080 --> 00:00:09.410 align:start position:0%
researcher from Tsinghua University in
China<00:00:07.350><c> and</c><00:00:07.710><c> I</c><00:00:08.519><c> will</c><00:00:08.670><c> be</c><00:00:08.790><c> talking</c><00:00:09.120><c> about</c><00:00:09.240><c> a</c>

00:00:09.410 --> 00:00:09.420 align:start position:0%
China and I will be talking about a
 

00:00:09.420 --> 00:00:11.900 align:start position:0%
China and I will be talking about a
research<00:00:09.900><c> work</c><00:00:10.139><c> on</c><00:00:10.460><c> statistic</c><00:00:11.460><c> calling</c><00:00:11.820><c> to</c>

00:00:11.900 --> 00:00:11.910 align:start position:0%
research work on statistic calling to
 

00:00:11.910 --> 00:00:15.010 align:start position:0%
research work on statistic calling to
her<00:00:12.000><c> for</c><00:00:12.210><c> austerity</c><00:00:12.480><c> smart</c><00:00:12.960><c> contracts</c><00:00:13.440><c> and</c>

00:00:15.010 --> 00:00:15.020 align:start position:0%
her for austerity smart contracts and
 

00:00:15.020 --> 00:00:25.400 align:start position:0%
her for austerity smart contracts and
okay<00:00:21.710><c> so</c><00:00:22.710><c> as</c><00:00:23.130><c> a</c><00:00:23.160><c> normal</c><00:00:23.730><c> computer</c><00:00:24.410><c> computer</c>

00:00:25.400 --> 00:00:25.410 align:start position:0%
okay so as a normal computer computer
 

00:00:25.410 --> 00:00:27.890 align:start position:0%
okay so as a normal computer computer
programs<00:00:25.920><c> smart</c><00:00:26.670><c> contracts</c><00:00:26.970><c> have</c><00:00:27.269><c> smells</c>

00:00:27.890 --> 00:00:27.900 align:start position:0%
programs smart contracts have smells
 

00:00:27.900 --> 00:00:31.659 align:start position:0%
programs smart contracts have smells
such<00:00:28.349><c> like</c><00:00:29.119><c> unused</c><00:00:30.119><c> function</c><00:00:30.660><c> parameters</c><00:00:31.230><c> or</c>

00:00:31.659 --> 00:00:31.669 align:start position:0%
such like unused function parameters or
 

00:00:31.669 --> 00:00:34.940 align:start position:0%
such like unused function parameters or
unprotected<00:00:32.669><c> message</c><00:00:33.239><c> cores</c><00:00:33.510><c> and</c><00:00:33.890><c> maybe</c><00:00:34.890><c> a</c>

00:00:34.940 --> 00:00:34.950 align:start position:0%
unprotected message cores and maybe a
 

00:00:34.950 --> 00:00:36.709 align:start position:0%
unprotected message cores and maybe a
delay<00:00:35.309><c> the</c><00:00:35.460><c> update</c><00:00:35.700><c> which</c><00:00:35.910><c> is</c><00:00:35.940><c> vulnerable</c><00:00:36.660><c> to</c>

00:00:36.709 --> 00:00:36.719 align:start position:0%
delay the update which is vulnerable to
 

00:00:36.719 --> 00:00:39.590 align:start position:0%
delay the update which is vulnerable to
re-entrance<00:00:37.440><c> the</c><00:00:37.500><c> attack</c><00:00:37.800><c> so</c><00:00:38.520><c> these</c><00:00:38.850><c> smiles</c>

00:00:39.590 --> 00:00:39.600 align:start position:0%
re-entrance the attack so these smiles
 

00:00:39.600 --> 00:00:42.920 align:start position:0%
re-entrance the attack so these smiles
are<00:00:40.050><c> not</c><00:00:40.770><c> not</c><00:00:41.370><c> are</c><00:00:41.700><c> not</c><00:00:41.760><c> necessarily</c><00:00:42.450><c> causing</c>

00:00:42.920 --> 00:00:42.930 align:start position:0%
are not not are not necessarily causing
 

00:00:42.930 --> 00:00:45.110 align:start position:0%
are not not are not necessarily causing
any<00:00:43.079><c> catastrophes</c><00:00:44.010><c> but</c><00:00:44.250><c> these</c><00:00:44.640><c> are</c><00:00:44.820><c> something</c>

00:00:45.110 --> 00:00:45.120 align:start position:0%
any catastrophes but these are something
 

00:00:45.120 --> 00:00:46.790 align:start position:0%
any catastrophes but these are something
that<00:00:45.270><c> you</c><00:00:45.420><c> don't</c><00:00:45.570><c> you're</c><00:00:45.989><c> trying</c><00:00:46.260><c> to</c><00:00:46.379><c> avoid</c><00:00:46.620><c> in</c>

00:00:46.790 --> 00:00:46.800 align:start position:0%
that you don't you're trying to avoid in
 

00:00:46.800 --> 00:00:49.940 align:start position:0%
that you don't you're trying to avoid in
your<00:00:46.920><c> smart</c><00:00:47.190><c> contracts</c><00:00:47.610><c> because</c><00:00:48.739><c> they</c><00:00:49.739><c> may</c><00:00:49.890><c> be</c>

00:00:49.940 --> 00:00:49.950 align:start position:0%
your smart contracts because they may be
 

00:00:49.950 --> 00:00:53.750 align:start position:0%
your smart contracts because they may be
can<00:00:50.340><c> be</c><00:00:50.489><c> stylistic</c><00:00:51.090><c> Oh</c><00:00:51.180><c> arrows</c><00:00:51.449><c> or</c><00:00:52.579><c> maybe</c><00:00:53.579><c> they</c>

00:00:53.750 --> 00:00:53.760 align:start position:0%
can be stylistic Oh arrows or maybe they
 

00:00:53.760 --> 00:00:55.790 align:start position:0%
can be stylistic Oh arrows or maybe they
are<00:00:53.820><c> not</c><00:00:53.969><c> following</c><00:00:54.300><c> the</c><00:00:54.449><c> best</c><00:00:54.600><c> practice</c><00:00:55.079><c> some</c>

00:00:55.790 --> 00:00:55.800 align:start position:0%
are not following the best practice some
 

00:00:55.800 --> 00:00:58.639 align:start position:0%
are not following the best practice some
of<00:00:55.829><c> them</c><00:00:56.100><c> are</c><00:00:56.280><c> bugs</c><00:00:56.610><c> and</c><00:00:56.989><c> even</c><00:00:57.989><c> security</c>

00:00:58.639 --> 00:00:58.649 align:start position:0%
of them are bugs and even security
 

00:00:58.649 --> 00:01:01.970 align:start position:0%
of them are bugs and even security
issues<00:00:59.070><c> so</c><00:00:59.910><c> the</c><00:01:00.690><c> most</c><00:01:01.170><c> straightforward</c><00:01:01.590><c> way</c>

00:01:01.970 --> 00:01:01.980 align:start position:0%
issues so the most straightforward way
 

00:01:01.980 --> 00:01:05.299 align:start position:0%
issues so the most straightforward way
to<00:01:02.210><c> capture</c><00:01:03.210><c> and</c><00:01:03.480><c> remove</c><00:01:03.780><c> this</c><00:01:04.049><c> Mouse</c><00:01:04.379><c> would</c>

00:01:05.299 --> 00:01:05.309 align:start position:0%
to capture and remove this Mouse would
 

00:01:05.309 --> 00:01:07.609 align:start position:0%
to capture and remove this Mouse would
be<00:01:05.540><c> when</c><00:01:06.540><c> the</c><00:01:06.780><c> developer</c><00:01:07.170><c> finished</c><00:01:07.439><c> their</c>

00:01:07.609 --> 00:01:07.619 align:start position:0%
be when the developer finished their
 

00:01:07.619 --> 00:01:10.280 align:start position:0%
be when the developer finished their
code<00:01:07.890><c> we</c><00:01:08.280><c> can</c><00:01:08.460><c> use</c><00:01:08.700><c> a</c><00:01:08.729><c> bunch</c><00:01:09.000><c> of</c><00:01:09.150><c> analyzers</c><00:01:10.020><c> for</c>

00:01:10.280 --> 00:01:10.290 align:start position:0%
code we can use a bunch of analyzers for
 

00:01:10.290 --> 00:01:13.370 align:start position:0%
code we can use a bunch of analyzers for
example<00:01:10.710><c> form</c><00:01:11.430><c> of</c><00:01:11.549><c> air</c><00:01:11.700><c> fires</c><00:01:12.380><c> static</c>

00:01:13.370 --> 00:01:13.380 align:start position:0%
example form of air fires static
 

00:01:13.380 --> 00:01:15.260 align:start position:0%
example form of air fires static
analyzers<00:01:13.890><c> to</c><00:01:14.100><c> check</c><00:01:14.310><c> this</c><00:01:14.460><c> code</c><00:01:14.670><c> and</c><00:01:14.850><c> see</c><00:01:15.030><c> if</c>

00:01:15.260 --> 00:01:15.270 align:start position:0%
analyzers to check this code and see if
 

00:01:15.270 --> 00:01:18.469 align:start position:0%
analyzers to check this code and see if
the<00:01:15.630><c> bad</c><00:01:15.840><c> code</c><00:01:16.080><c> is</c><00:01:16.259><c> there</c><00:01:16.500><c> and</c><00:01:17.330><c> if</c><00:01:18.330><c> you're</c>

00:01:18.469 --> 00:01:18.479 align:start position:0%
the bad code is there and if you're
 

00:01:18.479 --> 00:01:21.320 align:start position:0%
the bad code is there and if you're
doing<00:01:18.630><c> this</c><00:01:19.159><c> calmly</c><00:01:20.159><c> you</c><00:01:20.610><c> will</c><00:01:21.060><c> need</c><00:01:21.180><c> your</c>

00:01:21.320 --> 00:01:21.330 align:start position:0%
doing this calmly you will need your
 

00:01:21.330 --> 00:01:23.270 align:start position:0%
doing this calmly you will need your
code<00:01:21.570><c> to</c><00:01:21.600><c> be</c><00:01:21.689><c> compatible</c><00:01:22.140><c> in</c><00:01:22.470><c> most</c><00:01:22.680><c> cases</c><00:01:22.890><c> and</c>

00:01:23.270 --> 00:01:23.280 align:start position:0%
code to be compatible in most cases and
 

00:01:23.280 --> 00:01:25.580 align:start position:0%
code to be compatible in most cases and
you<00:01:23.820><c> should</c><00:01:24.000><c> be</c><00:01:24.090><c> aware</c><00:01:24.330><c> of</c><00:01:24.390><c> the</c><00:01:24.780><c> create</c><00:01:25.380><c> affine</c>

00:01:25.580 --> 00:01:25.590 align:start position:0%
you should be aware of the create affine
 

00:01:25.590 --> 00:01:28.819 align:start position:0%
you should be aware of the create affine
rules<00:01:25.890><c> which</c><00:01:26.520><c> tell</c><00:01:26.850><c> the</c><00:01:27.200><c> analyzer</c><00:01:28.200><c> what</c><00:01:28.650><c> kind</c>

00:01:28.819 --> 00:01:28.829 align:start position:0%
rules which tell the analyzer what kind
 

00:01:28.829 --> 00:01:29.960 align:start position:0%
rules which tell the analyzer what kind
of<00:01:28.890><c> thing</c><00:01:29.070><c> they</c><00:01:29.220><c> should</c><00:01:29.430><c> be</c><00:01:29.460><c> searching</c><00:01:29.939><c> for</c>

00:01:29.960 --> 00:01:29.970 align:start position:0%
of thing they should be searching for
 

00:01:29.970 --> 00:01:33.170 align:start position:0%
of thing they should be searching for
and<00:01:30.450><c> what</c><00:01:31.409><c> we're</c><00:01:31.590><c> trying</c><00:01:31.860><c> to</c><00:01:32.130><c> do</c><00:01:32.460><c> is</c><00:01:32.700><c> that</c><00:01:32.970><c> we</c>

00:01:33.170 --> 00:01:33.180 align:start position:0%
and what we're trying to do is that we
 

00:01:33.180 --> 00:01:35.450 align:start position:0%
and what we're trying to do is that we
want<00:01:33.299><c> to</c><00:01:33.450><c> make</c><00:01:33.689><c> these</c><00:01:33.869><c> checks</c><00:01:34.710><c> earlier</c><00:01:35.040><c> in</c><00:01:35.250><c> the</c>

00:01:35.450 --> 00:01:35.460 align:start position:0%
want to make these checks earlier in the
 

00:01:35.460 --> 00:01:38.990 align:start position:0%
want to make these checks earlier in the
development<00:01:36.420><c> lifecycle</c><00:01:37.350><c> and</c><00:01:38.040><c> we</c><00:01:38.549><c> want</c><00:01:38.759><c> it</c><00:01:38.880><c> to</c>

00:01:38.990 --> 00:01:39.000 align:start position:0%
development lifecycle and we want it to
 

00:01:39.000 --> 00:01:41.270 align:start position:0%
development lifecycle and we want it to
be<00:01:39.119><c> a</c><00:01:39.259><c> interactive</c><00:01:40.259><c> way</c><00:01:40.470><c> which</c><00:01:40.799><c> means</c><00:01:40.950><c> that</c>

00:01:41.270 --> 00:01:41.280 align:start position:0%
be a interactive way which means that
 

00:01:41.280 --> 00:01:43.910 align:start position:0%
be a interactive way which means that
the<00:01:41.939><c> developers</c><00:01:42.360><c> can</c><00:01:42.570><c> check</c><00:01:42.899><c> their</c><00:01:43.110><c> code</c><00:01:43.439><c> even</c>

00:01:43.910 --> 00:01:43.920 align:start position:0%
the developers can check their code even
 

00:01:43.920 --> 00:01:47.090 align:start position:0%
the developers can check their code even
if<00:01:44.159><c> they</c><00:01:44.600><c> haven't</c><00:01:45.600><c> finished</c><00:01:45.750><c> it</c><00:01:45.990><c> or</c><00:01:46.170><c> even</c><00:01:46.799><c> if</c>

00:01:47.090 --> 00:01:47.100 align:start position:0%
if they haven't finished it or even if
 

00:01:47.100 --> 00:01:49.280 align:start position:0%
if they haven't finished it or even if
they<00:01:47.280><c> have</c><00:01:47.640><c> no</c><00:01:47.820><c> clue</c><00:01:48.060><c> what</c><00:01:48.270><c> the</c><00:01:48.479><c> patterns</c><00:01:49.110><c> look</c>

00:01:49.280 --> 00:01:49.290 align:start position:0%
they have no clue what the patterns look
 

00:01:49.290 --> 00:01:52.550 align:start position:0%
they have no clue what the patterns look
like<00:01:49.320><c> and</c><00:01:49.729><c> to</c><00:01:50.729><c> realize</c><00:01:51.149><c> this</c><00:01:51.329><c> idea</c><00:01:51.720><c> we</c><00:01:52.350><c> have</c>

00:01:52.550 --> 00:01:52.560 align:start position:0%
like and to realize this idea we have
 

00:01:52.560 --> 00:01:54.499 align:start position:0%
like and to realize this idea we have
proposed<00:01:53.100><c> that</c><00:01:53.220><c> they</c><00:01:53.460><c> a</c><00:01:53.820><c> scrum</c><00:01:54.270><c> framework</c>

00:01:54.499 --> 00:01:54.509 align:start position:0%
proposed that they a scrum framework
 

00:01:54.509 --> 00:01:57.499 align:start position:0%
proposed that they a scrum framework
which<00:01:55.140><c> exploits</c><00:01:55.829><c> the</c><00:01:56.159><c> naturalness</c><00:01:56.909><c> of</c><00:01:57.180><c> smart</c>

00:01:57.499 --> 00:01:57.509 align:start position:0%
which exploits the naturalness of smart
 

00:01:57.509 --> 00:01:59.990 align:start position:0%
which exploits the naturalness of smart
contract<00:01:57.869><c> code</c><00:01:58.079><c> so</c><00:01:58.649><c> the</c><00:01:58.829><c> nationís</c><00:01:59.430><c> notion</c><00:01:59.850><c> is</c>

00:01:59.990 --> 00:02:00.000 align:start position:0%
contract code so the nationís notion is
 

00:02:00.000 --> 00:02:01.940 align:start position:0%
contract code so the nationís notion is
actually<00:02:00.420><c> coming</c><00:02:01.200><c> from</c><00:02:01.320><c> the</c><00:02:01.500><c> software</c>

00:02:01.940 --> 00:02:01.950 align:start position:0%
actually coming from the software
 

00:02:01.950 --> 00:02:04.280 align:start position:0%
actually coming from the software
engineering<00:02:02.250><c> community</c><00:02:02.790><c> which</c><00:02:03.329><c> tells</c><00:02:04.049><c> you</c>

00:02:04.280 --> 00:02:04.290 align:start position:0%
engineering community which tells you
 

00:02:04.290 --> 00:02:06.920 align:start position:0%
engineering community which tells you
that<00:02:04.320><c> how</c><00:02:05.130><c> natural</c><00:02:05.729><c> or</c><00:02:05.939><c> how</c><00:02:06.210><c> irregular</c><00:02:06.659><c> your</c>

00:02:06.920 --> 00:02:06.930 align:start position:0%
that how natural or how irregular your
 

00:02:06.930 --> 00:02:09.020 align:start position:0%
that how natural or how irregular your
code<00:02:07.140><c> is</c><00:02:07.320><c> with</c><00:02:07.860><c> respect</c><00:02:08.099><c> to</c><00:02:08.429><c> a</c><00:02:08.610><c> large</c>

00:02:09.020 --> 00:02:09.030 align:start position:0%
code is with respect to a large
 

00:02:09.030 --> 00:02:14.000 align:start position:0%
code is with respect to a large
collection<00:02:09.569><c> of</c><00:02:09.869><c> other</c><00:02:10.289><c> code</c><00:02:10.590><c> and</c><00:02:12.230><c> so</c>

00:02:14.000 --> 00:02:14.010 align:start position:0%
collection of other code and so
 

00:02:14.010 --> 00:02:16.429 align:start position:0%
collection of other code and so
we<00:02:14.129><c> what</c><00:02:14.610><c> do</c><00:02:14.670><c> we</c><00:02:14.760><c> do</c><00:02:14.970><c> with</c><00:02:15.569><c> this</c><00:02:15.780><c> nationalist</c>

00:02:16.429 --> 00:02:16.439 align:start position:0%
we what do we do with this nationalist
 

00:02:16.439 --> 00:02:18.619 align:start position:0%
we what do we do with this nationalist
notion<00:02:16.799><c> in</c><00:02:17.400><c> a</c><00:02:17.610><c> scrum</c><00:02:17.849><c> is</c><00:02:18.030><c> that</c><00:02:18.180><c> given</c><00:02:18.599><c> the</c>

00:02:18.619 --> 00:02:18.629 align:start position:0%
notion in a scrum is that given the
 

00:02:18.629 --> 00:02:20.539 align:start position:0%
notion in a scrum is that given the
contract<00:02:19.170><c> code</c><00:02:19.409><c> we</c><00:02:19.680><c> are</c><00:02:19.709><c> we</c><00:02:20.189><c> will</c><00:02:20.340><c> use</c><00:02:20.519><c> a</c>

00:02:20.539 --> 00:02:20.549 align:start position:0%
contract code we are we will use a
 

00:02:20.549 --> 00:02:23.630 align:start position:0%
contract code we are we will use a
passer<00:02:21.030><c> to</c><00:02:21.269><c> pass</c><00:02:21.780><c> it</c><00:02:21.989><c> into</c><00:02:22.470><c> a</c><00:02:22.769><c> token</c><00:02:23.280><c> sequence</c>

00:02:23.630 --> 00:02:23.640 align:start position:0%
passer to pass it into a token sequence
 

00:02:23.640 --> 00:02:26.149 align:start position:0%
passer to pass it into a token sequence
and<00:02:23.819><c> based</c><00:02:24.390><c> on</c><00:02:24.659><c> this</c><00:02:24.900><c> token</c><00:02:25.260><c> sequence</c><00:02:25.590><c> we</c><00:02:26.129><c> will</c>

00:02:26.149 --> 00:02:26.159 align:start position:0%
and based on this token sequence we will
 

00:02:26.159 --> 00:02:28.309 align:start position:0%
and based on this token sequence we will
build<00:02:26.610><c> this</c><00:02:26.790><c> statistical</c><00:02:27.659><c> language</c><00:02:27.780><c> model</c>

00:02:28.309 --> 00:02:28.319 align:start position:0%
build this statistical language model
 

00:02:28.319 --> 00:02:30.800 align:start position:0%
build this statistical language model
which<00:02:28.470><c> captures</c><00:02:29.220><c> the</c><00:02:29.250><c> regularity</c><00:02:30.120><c> of</c><00:02:30.150><c> all</c><00:02:30.629><c> the</c>

00:02:30.800 --> 00:02:30.810 align:start position:0%
which captures the regularity of all the
 

00:02:30.810 --> 00:02:33.199 align:start position:0%
which captures the regularity of all the
tokens<00:02:30.959><c> and</c><00:02:31.319><c> the</c><00:02:31.700><c> language</c><00:02:32.700><c> model</c><00:02:32.819><c> will</c><00:02:33.120><c> be</c>

00:02:33.199 --> 00:02:33.209 align:start position:0%
tokens and the language model will be
 

00:02:33.209 --> 00:02:35.420 align:start position:0%
tokens and the language model will be
able<00:02:33.329><c> to</c><00:02:33.629><c> answer</c><00:02:33.989><c> the</c><00:02:34.170><c> question</c><00:02:34.560><c> whether</c><00:02:34.739><c> the</c>

00:02:35.420 --> 00:02:35.430 align:start position:0%
able to answer the question whether the
 

00:02:35.430 --> 00:02:38.809 align:start position:0%
able to answer the question whether the
token<00:02:36.180><c> sequence</c><00:02:36.569><c> is</c><00:02:36.870><c> likely</c><00:02:37.590><c> to</c><00:02:37.980><c> occur</c><00:02:38.370><c> in</c><00:02:38.760><c> the</c>

00:02:38.809 --> 00:02:38.819 align:start position:0%
token sequence is likely to occur in the
 

00:02:38.819 --> 00:02:41.509 align:start position:0%
token sequence is likely to occur in the
in<00:02:39.269><c> a</c><00:02:39.390><c> specific</c><00:02:39.629><c> context</c><00:02:40.379><c> and</c><00:02:40.530><c> then</c><00:02:41.010><c> we</c><00:02:41.280><c> can</c>

00:02:41.509 --> 00:02:41.519 align:start position:0%
in a specific context and then we can
 

00:02:41.519 --> 00:02:43.910 align:start position:0%
in a specific context and then we can
identify<00:02:41.700><c> irregular</c><00:02:42.599><c> code</c><00:02:42.870><c> in</c><00:02:43.170><c> the</c><00:02:43.680><c> smart</c>

00:02:43.910 --> 00:02:43.920 align:start position:0%
identify irregular code in the smart
 

00:02:43.920 --> 00:02:47.509 align:start position:0%
identify irregular code in the smart
contract<00:02:44.069><c> and</c><00:02:44.459><c> flag</c><00:02:45.150><c> potential</c><00:02:45.720><c> problems</c><00:02:46.519><c> so</c>

00:02:47.509 --> 00:02:47.519 align:start position:0%
contract and flag potential problems so
 

00:02:47.519 --> 00:02:49.520 align:start position:0%
contract and flag potential problems so
more<00:02:47.760><c> specifically</c><00:02:48.450><c> the</c><00:02:48.780><c> a</c><00:02:48.959><c> sperm</c><00:02:49.290><c> from</c>

00:02:49.520 --> 00:02:49.530 align:start position:0%
more specifically the a sperm from
 

00:02:49.530 --> 00:02:51.349 align:start position:0%
more specifically the a sperm from
framework<00:02:50.099><c> works</c><00:02:50.310><c> in</c><00:02:50.519><c> a</c><00:02:50.579><c> two-phase</c><00:02:50.970><c> manner</c><00:02:51.180><c> in</c>

00:02:51.349 --> 00:02:51.359 align:start position:0%
framework works in a two-phase manner in
 

00:02:51.359 --> 00:02:54.110 align:start position:0%
framework works in a two-phase manner in
the<00:02:51.450><c> first</c><00:02:51.690><c> phase</c><00:02:52.310><c> we</c><00:02:53.310><c> will</c><00:02:53.340><c> need</c><00:02:53.760><c> a</c><00:02:53.790><c> large</c>

00:02:54.110 --> 00:02:54.120 align:start position:0%
the first phase we will need a large
 

00:02:54.120 --> 00:02:55.759 align:start position:0%
the first phase we will need a large
collection<00:02:54.359><c> or</c><00:02:54.690><c> for</c><00:02:54.900><c> smart</c><00:02:55.079><c> contracts</c><00:02:55.590><c> to</c>

00:02:55.759 --> 00:02:55.769 align:start position:0%
collection or for smart contracts to
 

00:02:55.769 --> 00:02:58.729 align:start position:0%
collection or for smart contracts to
train<00:02:56.040><c> the</c><00:02:56.129><c> model</c><00:02:56.250><c> to</c><00:02:56.940><c> do</c><00:02:57.090><c> that</c><00:02:57.299><c> we</c><00:02:57.659><c> will</c><00:02:57.959><c> use</c><00:02:58.709><c> a</c>

00:02:58.729 --> 00:02:58.739 align:start position:0%
train the model to do that we will use a
 

00:02:58.739 --> 00:03:01.030 align:start position:0%
train the model to do that we will use a
steady<00:02:59.159><c> Canela</c><00:02:59.579><c> analyzer</c><00:03:00.239><c> to</c><00:03:00.510><c> extract</c>

00:03:01.030 --> 00:03:01.040 align:start position:0%
steady Canela analyzer to extract
 

00:03:01.040 --> 00:03:03.349 align:start position:0%
steady Canela analyzer to extract
semantic<00:03:02.040><c> metadata</c><00:03:02.459><c> of</c><00:03:02.549><c> out</c><00:03:03.000><c> of</c><00:03:03.060><c> your</c>

00:03:03.349 --> 00:03:03.359 align:start position:0%
semantic metadata of out of your
 

00:03:03.359 --> 00:03:05.629 align:start position:0%
semantic metadata of out of your
contract<00:03:04.040><c> basically</c><00:03:05.040><c> we</c><00:03:05.129><c> are</c><00:03:05.159><c> trying</c><00:03:05.310><c> to</c><00:03:05.519><c> do</c>

00:03:05.629 --> 00:03:05.639 align:start position:0%
contract basically we are trying to do
 

00:03:05.639 --> 00:03:07.520 align:start position:0%
contract basically we are trying to do
two<00:03:05.819><c> types</c><00:03:06.060><c> of</c><00:03:06.180><c> things</c><00:03:06.239><c> and</c><00:03:06.659><c> we</c><00:03:06.780><c> can</c><00:03:06.989><c> focus</c><00:03:07.230><c> on</c>

00:03:07.520 --> 00:03:07.530 align:start position:0%
two types of things and we can focus on
 

00:03:07.530 --> 00:03:10.069 align:start position:0%
two types of things and we can focus on
the<00:03:08.099><c> access</c><00:03:08.519><c> on</c><00:03:08.700><c> our</c><00:03:08.730><c> storage</c><00:03:09.120><c> data</c><00:03:09.450><c> and</c><00:03:09.720><c> also</c>

00:03:10.069 --> 00:03:10.079 align:start position:0%
the access on our storage data and also
 

00:03:10.079 --> 00:03:12.470 align:start position:0%
the access on our storage data and also
the<00:03:10.409><c> flow</c><00:03:10.590><c> sensitivity</c><00:03:11.190><c> so</c><00:03:11.670><c> if</c><00:03:11.790><c> we</c><00:03:11.970><c> take</c><00:03:12.420><c> a</c>

00:03:12.470 --> 00:03:12.480 align:start position:0%
the flow sensitivity so if we take a
 

00:03:12.480 --> 00:03:14.690 align:start position:0%
the flow sensitivity so if we take a
look<00:03:12.659><c> at</c><00:03:12.840><c> this</c><00:03:12.989><c> simple</c><00:03:13.409><c> smart</c><00:03:14.159><c> contract</c><00:03:14.549><c> these</c>

00:03:14.690 --> 00:03:14.700 align:start position:0%
look at this simple smart contract these
 

00:03:14.700 --> 00:03:17.539 align:start position:0%
look at this simple smart contract these
two<00:03:14.970><c> lines</c><00:03:15.209><c> of</c><00:03:15.389><c> code</c><00:03:15.739><c> the</c><00:03:16.739><c> analyzer</c><00:03:17.129><c> will</c><00:03:17.250><c> tell</c>

00:03:17.539 --> 00:03:17.549 align:start position:0%
two lines of code the analyzer will tell
 

00:03:17.549 --> 00:03:20.240 align:start position:0%
two lines of code the analyzer will tell
you<00:03:17.670><c> that</c><00:03:17.970><c> oh</c><00:03:18.180><c> there</c><00:03:18.660><c> are</c><00:03:18.840><c> two</c><00:03:19.049><c> these</c><00:03:19.980><c> two</c>

00:03:20.240 --> 00:03:20.250 align:start position:0%
you that oh there are two these two
 

00:03:20.250 --> 00:03:22.789 align:start position:0%
you that oh there are two these two
lines<00:03:20.430><c> of</c><00:03:20.579><c> code</c><00:03:20.790><c> are</c><00:03:21.000><c> are</c><00:03:21.720><c> accessing</c><00:03:22.199><c> on</c><00:03:22.500><c> the</c>

00:03:22.789 --> 00:03:22.799 align:start position:0%
lines of code are are accessing on the
 

00:03:22.799 --> 00:03:24.949 align:start position:0%
lines of code are are accessing on the
same<00:03:23.010><c> storage</c><00:03:23.430><c> data</c><00:03:23.730><c> call</c><00:03:24.000><c> user</c><00:03:24.239><c> balance</c><00:03:24.660><c> and</c>

00:03:24.949 --> 00:03:24.959 align:start position:0%
same storage data call user balance and
 

00:03:24.959 --> 00:03:26.689 align:start position:0%
same storage data call user balance and
one<00:03:25.169><c> of</c><00:03:25.260><c> them</c><00:03:25.440><c> is</c><00:03:25.620><c> radar</c><00:03:26.069><c> pressure</c><00:03:26.340><c> and</c><00:03:26.609><c> the</c>

00:03:26.689 --> 00:03:26.699 align:start position:0%
one of them is radar pressure and the
 

00:03:26.699 --> 00:03:28.729 align:start position:0%
one of them is radar pressure and the
other<00:03:26.730><c> is</c><00:03:27.150><c> right</c><00:03:27.449><c> and</c><00:03:27.660><c> these</c><00:03:28.139><c> two</c><00:03:28.410><c> operations</c>

00:03:28.729 --> 00:03:28.739 align:start position:0%
other is right and these two operations
 

00:03:28.739 --> 00:03:31.580 align:start position:0%
other is right and these two operations
are<00:03:29.220><c> dependent</c><00:03:30.090><c> on</c><00:03:30.269><c> each</c><00:03:30.329><c> other</c><00:03:30.629><c> because</c><00:03:31.349><c> they</c>

00:03:31.580 --> 00:03:31.590 align:start position:0%
are dependent on each other because they
 

00:03:31.590 --> 00:03:34.460 align:start position:0%
are dependent on each other because they
are<00:03:31.620><c> from</c><00:03:32.040><c> different</c><00:03:32.849><c> public</c><00:03:33.750><c> functions</c><00:03:34.199><c> and</c>

00:03:34.460 --> 00:03:34.470 align:start position:0%
are from different public functions and
 

00:03:34.470 --> 00:03:36.979 align:start position:0%
are from different public functions and
are<00:03:34.650><c> not</c><00:03:34.889><c> commutative</c><00:03:35.370><c> to</c><00:03:35.730><c> each</c><00:03:35.849><c> other</c><00:03:36.030><c> and</c><00:03:36.510><c> in</c>

00:03:36.979 --> 00:03:36.989 align:start position:0%
are not commutative to each other and in
 

00:03:36.989 --> 00:03:39.379 align:start position:0%
are not commutative to each other and in
terms<00:03:37.230><c> of</c><00:03:37.410><c> flow</c><00:03:38.220><c> sensitivity</c><00:03:38.819><c> if</c><00:03:38.910><c> we</c><00:03:39.030><c> look</c><00:03:39.239><c> at</c>

00:03:39.379 --> 00:03:39.389 align:start position:0%
terms of flow sensitivity if we look at
 

00:03:39.389 --> 00:03:43.250 align:start position:0%
terms of flow sensitivity if we look at
this<00:03:39.540><c> kind</c><00:03:40.230><c> of</c><00:03:40.349><c> code</c><00:03:41.329><c> the</c><00:03:42.329><c> flow</c><00:03:42.690><c> condition</c><00:03:43.139><c> of</c>

00:03:43.250 --> 00:03:43.260 align:start position:0%
this kind of code the flow condition of
 

00:03:43.260 --> 00:03:45.890 align:start position:0%
this kind of code the flow condition of
this<00:03:43.470><c> line</c><00:03:43.739><c> of</c><00:03:43.769><c> code</c><00:03:44.099><c> includes</c><00:03:44.900><c> constraints</c>

00:03:45.890 --> 00:03:45.900 align:start position:0%
this line of code includes constraints
 

00:03:45.900 --> 00:03:47.569 align:start position:0%
this line of code includes constraints
from<00:03:46.049><c> the</c><00:03:46.290><c> modifier</c><00:03:46.709><c> and</c><00:03:46.949><c> also</c><00:03:47.310><c> the</c><00:03:47.459><c> if</c>

00:03:47.569 --> 00:03:47.579 align:start position:0%
from the modifier and also the if
 

00:03:47.579 --> 00:03:50.420 align:start position:0%
from the modifier and also the if
statements<00:03:48.090><c> and</c><00:03:48.269><c> the</c><00:03:48.840><c> way</c><00:03:48.989><c> we</c><00:03:49.199><c> model</c><00:03:49.709><c> flow</c><00:03:49.980><c> the</c>

00:03:50.420 --> 00:03:50.430 align:start position:0%
statements and the way we model flow the
 

00:03:50.430 --> 00:03:54.559 align:start position:0%
statements and the way we model flow the
flow<00:03:50.639><c> this</c><00:03:51.359><c> flow</c><00:03:51.419><c> is</c><00:03:51.660><c> by</c><00:03:52.560><c> using</c><00:03:52.829><c> the</c><00:03:53.639><c> addresses</c>

00:03:54.559 --> 00:03:54.569 align:start position:0%
flow this flow is by using the addresses
 

00:03:54.569 --> 00:03:57.319 align:start position:0%
flow this flow is by using the addresses
and<00:03:54.840><c> the</c><00:03:54.989><c> operators</c><00:03:55.470><c> involving</c><00:03:56.280><c> these</c><00:03:56.519><c> flow</c>

00:03:57.319 --> 00:03:57.329 align:start position:0%
and the operators involving these flow
 

00:03:57.329 --> 00:03:59.270 align:start position:0%
and the operators involving these flow
conditions<00:03:57.840><c> in</c><00:03:58.470><c> this</c><00:03:58.590><c> case</c><00:03:58.799><c> that</c><00:03:58.980><c> will</c><00:03:59.129><c> be</c>

00:03:59.270 --> 00:03:59.280 align:start position:0%
conditions in this case that will be
 

00:03:59.280 --> 00:04:00.830 align:start position:0%
conditions in this case that will be
where<00:03:59.489><c> we'll</c><00:03:59.639><c> be</c><00:03:59.730><c> using</c><00:03:59.879><c> message</c><00:04:00.359><c> tender</c><00:04:00.690><c> and</c>

00:04:00.830 --> 00:04:00.840 align:start position:0%
where we'll be using message tender and
 

00:04:00.840 --> 00:04:03.439 align:start position:0%
where we'll be using message tender and
the<00:04:00.989><c> two</c><00:04:01.560><c> operators</c><00:04:01.949><c> as</c><00:04:02.280><c> specified</c><00:04:02.760><c> here</c><00:04:03.239><c> and</c>

00:04:03.439 --> 00:04:03.449 align:start position:0%
the two operators as specified here and
 

00:04:03.449 --> 00:04:06.770 align:start position:0%
the two operators as specified here and
then<00:04:03.930><c> we</c><00:04:04.230><c> will</c><00:04:04.409><c> use</c><00:04:04.560><c> a</c><00:04:04.590><c> tokenizer</c><00:04:05.159><c> to</c><00:04:05.780><c> generate</c>

00:04:06.770 --> 00:04:06.780 align:start position:0%
then we will use a tokenizer to generate
 

00:04:06.780 --> 00:04:09.710 align:start position:0%
then we will use a tokenizer to generate
a<00:04:06.810><c> token</c><00:04:07.199><c> sequence</c><00:04:07.739><c> from</c><00:04:08.459><c> this</c><00:04:08.730><c> contract</c><00:04:09.239><c> and</c>

00:04:09.710 --> 00:04:09.720 align:start position:0%
a token sequence from this contract and
 

00:04:09.720 --> 00:04:12.020 align:start position:0%
a token sequence from this contract and
the<00:04:10.500><c> generation</c><00:04:11.069><c> is</c><00:04:11.220><c> basically</c><00:04:11.639><c> done</c><00:04:12.000><c> by</c>

00:04:12.020 --> 00:04:12.030 align:start position:0%
the generation is basically done by
 

00:04:12.030 --> 00:04:14.750 align:start position:0%
the generation is basically done by
traversing<00:04:12.449><c> the</c><00:04:12.989><c> abstract</c><00:04:13.560><c> syntax</c><00:04:13.799><c> tree</c><00:04:14.220><c> in</c><00:04:14.579><c> a</c>

00:04:14.750 --> 00:04:14.760 align:start position:0%
traversing the abstract syntax tree in a
 

00:04:14.760 --> 00:04:16.399 align:start position:0%
traversing the abstract syntax tree in a
type<00:04:14.940><c> based</c><00:04:15.180><c> manner</c><00:04:15.479><c> which</c><00:04:15.810><c> means</c><00:04:16.019><c> that</c><00:04:16.229><c> we</c>

00:04:16.399 --> 00:04:16.409 align:start position:0%
type based manner which means that we
 

00:04:16.409 --> 00:04:18.439 align:start position:0%
type based manner which means that we
generate<00:04:17.039><c> a</c><00:04:17.280><c> corresponding</c><00:04:17.549><c> token</c><00:04:18.239><c> for</c><00:04:18.419><c> a</c>

00:04:18.439 --> 00:04:18.449 align:start position:0%
generate a corresponding token for a
 

00:04:18.449 --> 00:04:21.920 align:start position:0%
generate a corresponding token for a
specific<00:04:18.989><c> type</c><00:04:19.470><c> of</c><00:04:19.500><c> ast</c><00:04:20.099><c> node</c><00:04:20.280><c> and</c><00:04:20.720><c> then</c><00:04:21.720><c> we</c>

00:04:21.920 --> 00:04:21.930 align:start position:0%
specific type of ast node and then we
 

00:04:21.930 --> 00:04:23.839 align:start position:0%
specific type of ast node and then we
will<00:04:22.109><c> be</c><00:04:22.229><c> training</c><00:04:22.979><c> the</c><00:04:23.159><c> model</c><00:04:23.280><c> using</c><00:04:23.729><c> an</c>

00:04:23.839 --> 00:04:23.849 align:start position:0%
will be training the model using an
 

00:04:23.849 --> 00:04:26.120 align:start position:0%
will be training the model using an
underlying<00:04:24.270><c> Angra</c><00:04:24.780><c> model</c><00:04:25.289><c> engine</c><00:04:25.800><c> and</c><00:04:25.979><c> to</c>

00:04:26.120 --> 00:04:26.130 align:start position:0%
underlying Angra model engine and to
 

00:04:26.130 --> 00:04:27.990 align:start position:0%
underlying Angra model engine and to
build<00:04:26.340><c> this</c><00:04:26.490><c> or</c><00:04:26.729><c> statistical</c><00:04:27.270><c> language</c>

00:04:27.990 --> 00:04:28.000 align:start position:0%
build this or statistical language
 

00:04:28.000 --> 00:04:30.240 align:start position:0%
build this or statistical language
and<00:04:28.120><c> in</c><00:04:29.110><c> the</c><00:04:29.260><c> second</c><00:04:29.590><c> phase</c><00:04:29.740><c> we</c><00:04:29.800><c> pretty</c><00:04:30.160><c> much</c>

00:04:30.240 --> 00:04:30.250 align:start position:0%
and in the second phase we pretty much
 

00:04:30.250 --> 00:04:32.640 align:start position:0%
and in the second phase we pretty much
do<00:04:30.490><c> the</c><00:04:30.640><c> same</c><00:04:30.670><c> thing</c><00:04:31.030><c> and</c><00:04:31.270><c> given</c><00:04:31.720><c> the</c><00:04:31.930><c> smart</c>

00:04:32.640 --> 00:04:32.650 align:start position:0%
do the same thing and given the smart
 

00:04:32.650 --> 00:04:34.680 align:start position:0%
do the same thing and given the smart
contract<00:04:33.040><c> we</c><00:04:33.220><c> generate</c><00:04:33.790><c> the</c><00:04:33.910><c> token</c><00:04:34.240><c> sequences</c>

00:04:34.680 --> 00:04:34.690 align:start position:0%
contract we generate the token sequences
 

00:04:34.690 --> 00:04:37.230 align:start position:0%
contract we generate the token sequences
and<00:04:34.900><c> then</c><00:04:35.140><c> we</c><00:04:35.620><c> can</c><00:04:35.770><c> use</c><00:04:35.950><c> the</c><00:04:36.160><c> detector</c><00:04:36.670><c> to</c>

00:04:37.230 --> 00:04:37.240 align:start position:0%
and then we can use the detector to
 

00:04:37.240 --> 00:04:39.870 align:start position:0%
and then we can use the detector to
curate<00:04:38.080><c> the</c><00:04:38.260><c> language</c><00:04:38.980><c> model</c><00:04:39.130><c> before</c><00:04:39.430><c> and</c>

00:04:39.870 --> 00:04:39.880 align:start position:0%
curate the language model before and
 

00:04:39.880 --> 00:04:42.060 align:start position:0%
curate the language model before and
then<00:04:40.420><c> calculate</c><00:04:41.080><c> their</c><00:04:41.260><c> calculate</c><00:04:41.920><c> the</c>

00:04:42.060 --> 00:04:42.070 align:start position:0%
then calculate their calculate the
 

00:04:42.070 --> 00:04:44.640 align:start position:0%
then calculate their calculate the
regularity<00:04:42.610><c> or</c><00:04:42.700><c> perplexity</c><00:04:42.970><c> scores</c><00:04:43.660><c> of</c><00:04:43.870><c> sub</c>

00:04:44.640 --> 00:04:44.650 align:start position:0%
regularity or perplexity scores of sub
 

00:04:44.650 --> 00:04:48.500 align:start position:0%
regularity or perplexity scores of sub
sequences<00:04:45.100><c> and</c><00:04:45.340><c> then</c><00:04:46.030><c> we</c><00:04:46.180><c> will</c><00:04:46.330><c> highlight</c><00:04:47.160><c> top</c>

00:04:48.500 --> 00:04:48.510 align:start position:0%
sequences and then we will highlight top
 

00:04:48.510 --> 00:04:52.170 align:start position:0%
sequences and then we will highlight top
candidates<00:04:49.510><c> of</c><00:04:49.780><c> these</c><00:04:50.110><c> smart</c><00:04:50.470><c> contracts</c><00:04:51.180><c> with</c>

00:04:52.170 --> 00:04:52.180 align:start position:0%
candidates of these smart contracts with
 

00:04:52.180 --> 00:04:54.840 align:start position:0%
candidates of these smart contracts with
the<00:04:52.390><c> highest</c><00:04:52.890><c> perplexity</c><00:04:53.890><c> scores</c><00:04:54.190><c> and</c><00:04:54.460><c> if</c><00:04:54.730><c> you</c>

00:04:54.840 --> 00:04:54.850 align:start position:0%
the highest perplexity scores and if you
 

00:04:54.850 --> 00:04:57.300 align:start position:0%
the highest perplexity scores and if you
are<00:04:54.910><c> trying</c><00:04:55.270><c> to</c><00:04:55.390><c> use</c><00:04:56.050><c> these</c><00:04:56.310><c> candidates</c>

00:04:57.300 --> 00:04:57.310 align:start position:0%
are trying to use these candidates
 

00:04:57.310 --> 00:04:59.520 align:start position:0%
are trying to use these candidates
information<00:04:57.820><c> to</c><00:04:58.000><c> help</c><00:04:58.270><c> optimize</c><00:04:58.990><c> the</c>

00:04:59.520 --> 00:04:59.530 align:start position:0%
information to help optimize the
 

00:04:59.530 --> 00:05:01.890 align:start position:0%
information to help optimize the
existing<00:05:00.010><c> smart</c><00:05:00.820><c> contract</c><00:05:01.210><c> analyzes</c><00:05:01.720><c> for</c>

00:05:01.890 --> 00:05:01.900 align:start position:0%
existing smart contract analyzes for
 

00:05:01.900 --> 00:05:04.350 align:start position:0%
existing smart contract analyzes for
example<00:05:02.230><c> a</c><00:05:02.410><c> symbolic</c><00:05:03.010><c> execution</c><00:05:03.360><c> engines</c>

00:05:04.350 --> 00:05:04.360 align:start position:0%
example a symbolic execution engines
 

00:05:04.360 --> 00:05:06.720 align:start position:0%
example a symbolic execution engines
what<00:05:04.840><c> you</c><00:05:04.930><c> can</c><00:05:05.080><c> do</c><00:05:05.230><c> is</c><00:05:05.440><c> to</c><00:05:05.740><c> design</c><00:05:05.890><c> this</c><00:05:06.250><c> rancor</c>

00:05:06.720 --> 00:05:06.730 align:start position:0%
what you can do is to design this rancor
 

00:05:06.730 --> 00:05:08.250 align:start position:0%
what you can do is to design this rancor
which<00:05:06.970><c> takes</c><00:05:07.300><c> the</c><00:05:07.570><c> candidate</c><00:05:08.110><c> information</c>

00:05:08.250 --> 00:05:08.260 align:start position:0%
which takes the candidate information
 

00:05:08.260 --> 00:05:10.260 align:start position:0%
which takes the candidate information
and<00:05:08.830><c> generate</c><00:05:09.190><c> scores</c><00:05:09.610><c> for</c><00:05:09.910><c> all</c><00:05:10.120><c> the</c>

00:05:10.260 --> 00:05:10.270 align:start position:0%
and generate scores for all the
 

00:05:10.270 --> 00:05:12.060 align:start position:0%
and generate scores for all the
information<00:05:10.720><c> or</c><00:05:10.870><c> all</c><00:05:11.350><c> the</c><00:05:11.470><c> functions</c><00:05:11.830><c> in</c><00:05:11.950><c> the</c>

00:05:12.060 --> 00:05:12.070 align:start position:0%
information or all the functions in the
 

00:05:12.070 --> 00:05:15.330 align:start position:0%
information or all the functions in the
contract<00:05:12.790><c> and</c><00:05:12.970><c> then</c><00:05:13.630><c> this</c><00:05:14.230><c> scores</c><00:05:14.860><c> will</c><00:05:15.070><c> tell</c>

00:05:15.330 --> 00:05:15.340 align:start position:0%
contract and then this scores will tell
 

00:05:15.340 --> 00:05:17.880 align:start position:0%
contract and then this scores will tell
the<00:05:15.790><c> symbolic</c><00:05:16.390><c> executors</c><00:05:16.870><c> which</c><00:05:17.140><c> function</c><00:05:17.770><c> is</c>

00:05:17.880 --> 00:05:17.890 align:start position:0%
the symbolic executors which function is
 

00:05:17.890 --> 00:05:20.910 align:start position:0%
the symbolic executors which function is
more<00:05:18.070><c> buggy</c><00:05:18.340><c> than</c><00:05:18.550><c> the</c><00:05:18.670><c> others</c><00:05:18.970><c> and</c><00:05:19.770><c> then</c><00:05:20.770><c> this</c>

00:05:20.910 --> 00:05:20.920 align:start position:0%
more buggy than the others and then this
 

00:05:20.920 --> 00:05:23.330 align:start position:0%
more buggy than the others and then this
morning<00:05:21.190><c> executors</c><00:05:21.700><c> can</c><00:05:21.970><c> prioritize</c><00:05:22.900><c> the</c>

00:05:23.330 --> 00:05:23.340 align:start position:0%
morning executors can prioritize the
 

00:05:23.340 --> 00:05:25.650 align:start position:0%
morning executors can prioritize the
exploration<00:05:24.340><c> of</c><00:05:24.490><c> a</c><00:05:24.670><c> specific</c><00:05:25.180><c> function</c><00:05:25.510><c> with</c>

00:05:25.650 --> 00:05:25.660 align:start position:0%
exploration of a specific function with
 

00:05:25.660 --> 00:05:29.250 align:start position:0%
exploration of a specific function with
high<00:05:25.900><c> scores</c><00:05:26.610><c> so</c><00:05:27.610><c> as</c><00:05:27.790><c> to</c><00:05:28.260><c> detect</c>

00:05:29.250 --> 00:05:29.260 align:start position:0%
high scores so as to detect
 

00:05:29.260 --> 00:05:33.060 align:start position:0%
high scores so as to detect
vulnerabilities<00:05:30.010><c> more</c><00:05:30.670><c> efficiently</c><00:05:31.090><c> and</c><00:05:32.070><c> in</c>

00:05:33.060 --> 00:05:33.070 align:start position:0%
vulnerabilities more efficiently and in
 

00:05:33.070 --> 00:05:35.580 align:start position:0%
vulnerabilities more efficiently and in
the<00:05:33.160><c> future</c><00:05:33.400><c> we</c><00:05:33.550><c> plan</c><00:05:33.610><c> to</c><00:05:34.410><c> work</c><00:05:35.410><c> on</c>

00:05:35.580 --> 00:05:35.590 align:start position:0%
the future we plan to work on
 

00:05:35.590 --> 00:05:37.350 align:start position:0%
the future we plan to work on
optimizations<00:05:36.250><c> on</c><00:05:36.460><c> the</c><00:05:36.610><c> language</c><00:05:36.880><c> models</c><00:05:37.210><c> for</c>

00:05:37.350 --> 00:05:37.360 align:start position:0%
optimizations on the language models for
 

00:05:37.360 --> 00:05:39.210 align:start position:0%
optimizations on the language models for
example<00:05:37.690><c> we</c><00:05:37.810><c> are</c><00:05:38.230><c> trying</c><00:05:38.440><c> to</c><00:05:38.530><c> figure</c><00:05:38.800><c> out</c><00:05:38.860><c> more</c>

00:05:39.210 --> 00:05:39.220 align:start position:0%
example we are trying to figure out more
 

00:05:39.220 --> 00:05:42.840 align:start position:0%
example we are trying to figure out more
efficient<00:05:39.700><c> way</c><00:05:39.790><c> to</c><00:05:39.820><c> encode</c><00:05:40.980><c> both</c><00:05:41.980><c> syntactic</c>

00:05:42.840 --> 00:05:42.850 align:start position:0%
efficient way to encode both syntactic
 

00:05:42.850 --> 00:05:45.120 align:start position:0%
efficient way to encode both syntactic
and<00:05:43.000><c> semantic</c><00:05:43.480><c> irregularities</c><00:05:44.170><c> and</c><00:05:44.410><c> also</c><00:05:44.950><c> we</c>

00:05:45.120 --> 00:05:45.130 align:start position:0%
and semantic irregularities and also we
 

00:05:45.130 --> 00:05:46.980 align:start position:0%
and semantic irregularities and also we
are<00:05:45.280><c> considering</c><00:05:45.670><c> porting</c><00:05:46.180><c> a</c><00:05:46.300><c> SCORM</c><00:05:46.600><c> to</c><00:05:46.750><c> more</c>

00:05:46.980 --> 00:05:46.990 align:start position:0%
are considering porting a SCORM to more
 

00:05:46.990 --> 00:05:49.530 align:start position:0%
are considering porting a SCORM to more
existing<00:05:47.530><c> techniques</c><00:05:48.430><c> for</c><00:05:48.940><c> example</c><00:05:49.030><c> formal</c>

00:05:49.530 --> 00:05:49.540 align:start position:0%
existing techniques for example formal
 

00:05:49.540 --> 00:05:51.300 align:start position:0%
existing techniques for example formal
verification<00:05:49.690><c> static</c><00:05:50.500><c> analysis</c><00:05:50.920><c> random</c>

00:05:51.300 --> 00:05:51.310 align:start position:0%
verification static analysis random
 

00:05:51.310 --> 00:05:54.000 align:start position:0%
verification static analysis random
fuzzing<00:05:51.670><c> something</c><00:05:52.000><c> like</c><00:05:52.120><c> that</c><00:05:52.330><c> and</c><00:05:52.690><c> also</c><00:05:53.230><c> to</c>

00:05:54.000 --> 00:05:54.010 align:start position:0%
fuzzing something like that and also to
 

00:05:54.010 --> 00:05:56.550 align:start position:0%
fuzzing something like that and also to
create<00:05:54.370><c> a</c><00:05:54.610><c> better</c><00:05:54.990><c> developer</c><00:05:55.990><c> experience</c>

00:05:56.550 --> 00:05:56.560 align:start position:0%
create a better developer experience
 

00:05:56.560 --> 00:05:59.160 align:start position:0%
create a better developer experience
we're<00:05:56.910><c> planning</c><00:05:57.910><c> integrity</c><00:05:58.720><c> as</c><00:05:58.780><c> we're</c><00:05:59.020><c> a</c>

00:05:59.160 --> 00:05:59.170 align:start position:0%
we're planning integrity as we're a
 

00:05:59.170 --> 00:06:01.770 align:start position:0%
we're planning integrity as we're a
scrum<00:05:59.530><c> with</c><00:05:59.770><c> an</c><00:06:00.010><c> IDE</c><00:06:00.340><c> so</c><00:06:00.850><c> that</c><00:06:01.150><c> we</c><00:06:01.300><c> can</c><00:06:01.510><c> capture</c>

00:06:01.770 --> 00:06:01.780 align:start position:0%
scrum with an IDE so that we can capture
 

00:06:01.780 --> 00:06:03.600 align:start position:0%
scrum with an IDE so that we can capture
and<00:06:02.050><c> model</c><00:06:02.500><c> developers</c><00:06:02.950><c> feedback</c><00:06:03.340><c> and</c>

00:06:03.600 --> 00:06:03.610 align:start position:0%
and model developers feedback and
 

00:06:03.610 --> 00:06:07.350 align:start position:0%
and model developers feedback and
optimize<00:06:04.240><c> the</c><00:06:04.390><c> s</c><00:06:04.480><c> quorum</c><00:06:04.750><c> itself</c><00:06:05.140><c> and</c><00:06:06.360><c> we're</c>

00:06:07.350 --> 00:06:07.360 align:start position:0%
optimize the s quorum itself and we're
 

00:06:07.360 --> 00:06:09.900 align:start position:0%
optimize the s quorum itself and we're
actually<00:06:07.570><c> have</c><00:06:08.500><c> published</c><00:06:09.160><c> the</c><00:06:09.310><c> academic</c>

00:06:09.900 --> 00:06:09.910 align:start position:0%
actually have published the academic
 

00:06:09.910 --> 00:06:11.190 align:start position:0%
actually have published the academic
paper<00:06:10.090><c> about</c><00:06:10.360><c> the</c><00:06:10.570><c> escrow</c><00:06:10.750><c> me</c><00:06:10.930><c> if</c><00:06:10.990><c> you</c><00:06:11.050><c> guys</c>

00:06:11.190 --> 00:06:11.200 align:start position:0%
paper about the escrow me if you guys
 

00:06:11.200 --> 00:06:13.050 align:start position:0%
paper about the escrow me if you guys
are<00:06:11.470><c> interested</c><00:06:11.890><c> you</c><00:06:12.310><c> can</c><00:06:12.430><c> look</c><00:06:12.730><c> into</c><00:06:12.880><c> the</c>

00:06:13.050 --> 00:06:13.060 align:start position:0%
are interested you can look into the
 

00:06:13.060 --> 00:06:16.460 align:start position:0%
are interested you can look into the
details<00:06:13.390><c> and</c><00:06:13.770><c> I</c><00:06:14.770><c> will</c><00:06:15.280><c> be</c><00:06:15.370><c> wrong</c><00:06:15.580><c> of</c><00:06:15.850><c> lying</c>

00:06:16.460 --> 00:06:16.470 align:start position:0%
details and I will be wrong of lying
 

00:06:16.470 --> 00:06:19.500 align:start position:0%
details and I will be wrong of lying
around<00:06:17.470><c> here</c><00:06:18.010><c> for</c><00:06:18.340><c> offline</c><00:06:18.730><c> discussions</c><00:06:19.270><c> and</c>

00:06:19.500 --> 00:06:19.510 align:start position:0%
around here for offline discussions and
 

00:06:19.510 --> 00:06:31.430 align:start position:0%
around here for offline discussions and
that<00:06:20.320><c> will</c><00:06:20.470><c> conclude</c><00:06:20.860><c> my</c><00:06:21.340><c> talk</c><00:06:21.400><c> thank</c><00:06:21.940><c> you</c>

00:06:31.430 --> 00:06:31.440 align:start position:0%
 
 

00:06:31.440 --> 00:06:33.500 align:start position:0%
 
you

