Challenge LAB-0006

Link records across stores

Decide when records in different stores describe one event, count the witnesses behind a finding, and tell absent from not observable when a store is lost.

Expert 45 to 60 minutesAndroid8 questions, 170 pointsAlways open, self-paced

The task

One event on a phone can leave a row in a database, an entry in an XML file and a line in a log, written by different components. The article's linker uses invented records. Here you reason with its numbers and its three tests.

All challenge data is synthetic or comes from the Lab's published articles. No account is needed, nothing you type here leaves your browser except each answer you check, and the optional form if you send it.

What you need

Tools (all free)

  • A plain text editor
  • A calculator or Python

Any tool that reads text will do. You do not need the Lab's own software or an account.

Questions

Each answer is checked when you press Check answer, and you see the result straight away. A wrong answer costs nothing, and you may try again. A hint lowers the points you can earn for that question: 3, 5 and 8 points for hints 1, 2 and 3, and a correct answer always earns at least 1 point. Checking needs JavaScript; reading does not.

  1. Question 1 of 825 points

    Select the three things a link needs before two records are called one event.

    Select all that apply.

    Need a hint?

    Three hints, in order. Each one lowers the points you can earn for this question.

    Hint 1 costs 3 points

    See What makes a link.

    Hint 2 costs 5 points

    A link that lacks one of them is a guess.

    Hint 3 costs 8 points

    A shared key, a clock relationship, and an explanation for what is missing.

  2. Question 2 of 820 points

    In the median phone, what percentage of app first install events had a single witness?

    Need a hint?

    Three hints, in order. Each one lowers the points you can earn for this question.

    Hint 1 costs 3 points

    See Figure 4.

    Hint 2 costs 5 points

    The exception among the event types is app last update, at 30 percent.

    Hint 3 costs 8 points

    Close to nine in ten.

  3. Question 3 of 820 points

    In the install scenario of Figure 3, with all three stores held, how many stores count as witnesses of the install?

    Need a hint?

    Three hints, in order. Each one lowers the points you can earn for this question.

    Hint 1 costs 3 points

    See the first scenario and its table.

    Hint 2 costs 5 points

    One store looks related but follows the last update, so it is not a witness.

    Hint 3 costs 8 points

    The package list and the package restrictions count. The APK file time does not.

  4. Question 4 of 820 points

    In the camera scenario, remove the history database and the last-access file, and do not link the dump line. What does the finding become?

    Need a hint?

    Three hints, in order. Each one lowers the points you can earn for this question.

    Hint 1 costs 3 points

    See What the finding becomes when stores are taken out.

    Hint 2 costs 5 points

    Adding a store only adds support. Losing one can turn a finding into a finding of absence.

    Hint 3 costs 8 points

    The article says write not observable, not absent.

  5. Question 5 of 820 points

    For a restart, what was the median difference, in seconds, between a usage event and a dropbox entry?

    Need a hint?

    Three hints, in order. Each one lowers the points you can earn for this question.

    Hint 1 costs 3 points

    See Figure 2.

    Hint 2 costs 5 points

    Restarts are the event type where times do not agree within seconds.

    Hint 3 costs 8 points

    Under a minute.

  6. Question 6 of 825 points

    If 52.5 percent of calls have a single witness, and calls are independent, what is the chance, as a percentage to one decimal place, that all five calls of a five-call timeline have a second witness?

    Need a hint?

    Three hints, in order. Each one lowers the points you can earn for this question.

    Hint 1 costs 3 points

    The chance that one call has a second witness is 100 minus 52.5 percent.

    Hint 2 costs 5 points

    Raise 0.475 to the fifth power.

    Hint 3 costs 8 points

    0.475 times itself five times is about 0.024.

  7. Question 7 of 820 points

    Of the 39 screen-on events with two or more stores, 26 were held by three stores but only two writers. What percentage is that, to one decimal place?

    Need a hint?

    Three hints, in order. Each one lowers the points you can earn for this question.

    Hint 1 costs 3 points

    Divide 26 by 39.

    Hint 2 costs 5 points

    Multiply by 100.

    Hint 3 costs 8 points

    Two thirds.

  8. Question 8 of 820 points

    Why is the APK file time not a witness of an app's first install?

    Need a hint?

    Three hints, in order. Each one lowers the points you can earn for this question.

    Hint 1 costs 3 points

    See the section An explanation for what is missing.

    Hint 2 costs 5 points

    The same file is written again when something changes.

    Hint 3 costs 8 points

    After an update it dates the update.

You have finished: what you should have learned

  • A link needs a shared key, a clock relationship that fits what each store records, and an explanation for what is missing.
  • Count witnesses and writers. Two stores written by the same component add no protection against a fault in that component.
  • Adding a store can only add support to a finding that something happened. Losing one can turn it into a finding that nothing happened.
  • Write not observable, not absent, for times that no store you hold covers. A report should name each finding's witnesses.

Completion note

Typed here only. It appears on the printed note and is not saved or sent anywhere.