Skip to content

Enron Email Database UseCase Doc

Qiaoran edited this page Oct 31, 2019 · 34 revisions

Enron Email Database UseCase Documents

Use case queries

  • V-Query in Haskell is located in /Users/qiaoran/Desktop/VDBMS/src/VDB/Example/EnronUseCase/EnronQuery
    • Each xxxyyy.hs file contains one v-query for interaction of xxx and yyy.
    • The context of this query and the translated query are encode as comments in each file.
  • SQL Queries for each interaction are located in /Users/qiaoran/Desktop/VDBMS/databases/enronEmailDB/enronDbSQLqueries
    • The query about interaction of xxx and yyy are located in the directory named xxxyyy

Original Enron Email Database

Data Set

Enron Data is From here

Schema

  • employee(eid, firstname, lastname, email_id, email2, email3, email4, folder, status)

    • size: 149 tuples
  • message(mid, sender, date, message_id, subject, body, folder) 

    • size: 252771 tuples
  • recipientinfo(rid, mid, rtype, rvalue, dater) 

    • size: 2064442 tuples
  • referenceinfo(rfid, mid, reference) 

    • size: 54778

Enron Email Variational Database

1. Schema

  • v_employee(eid, firstname, lastname, email_id, folder, status, sign, public_key, did, presCond)

    • sign is responded to signature
    • public_key is responded to encrypt
    • did is responded to mailhost
  • v_message(mid, sender, date, message_id, subject, body, folder, is_signed, is_encrypted, is_from_remailer, presCond) 

    • is_signed is responded to signature
    • is_encrypted is responded to encrypt
    • is_from_remailer is responded to remailmsg
  • v_recipientinfo(rid, mid, rtype, rvalue, presCond) 

  • v_referenceinfo(rfid, mid, reference,presCond) 

  • v_auto_msg(eid, subject, body, presCond)

    • whole table will depend on autoresponder
  • v_forward_msg(eid, forwardaddr, presCond)

    • whole table is responded to forwardmessage
  • v_remail_msg(eid, pseudonym, presCond)

    • whole table is responded to remailmessage
  • v_filter_msg(eid, suffix, presCond)

    • whole table is responded to filtermessages
  • v_mailhost(did, username, presCond)

    • whole table is responded to mailhost
  • v_alias(eid, email, nickname, presCond)

    • whole table is responded to addressbook

2. Features in Enron Email V-DB

  • signature
  • addressbook
  • filtermsg
  • autoresponder
  • forwardmsg
  • mailhost
  • encrypt
  • remailmsg

3. Variants Designed For Enron case study

    1. Products that focus on Privacy
      • Features:
        • signature
        • encrypt
        • remailmsg
      • Presence Condition:
        • signature AND encrypt AND remailmsg AND NOT (addressbook OR filtermsg OR autoresponder OR forwardmsg OR mailhost)
    1. Products that focus on Group Usage
      • features:
        • addressbook
        • autoresponder
        • mailhost
      • Presence Condition:
        • addressbook AND autoresponder AND mailhost AND NOT (forwardmsg OR encrypt OR remailmsg OR filtermsg OR signature)
    1. Products for daily use include features:
      • Features:
        • forwardmsg
        • filtermsg
      • Presence Condition:
        • forwardmsg AND filtermsg AND NOT (addressbook OR encrypt OR remailmsg OR autoresponder OR signature OR mailhost)
    1. Products that enables all features
      • Presence Condition:
        • signature AND addressbook AND filtermsg AND autoresponder AND forwardmsg AND mailhost AND encrypt AND remailmsg
    1. Products that disables all features
      • Presence Condition:
        • (NOT signature) AND (NOT addressbook) AND (NOT filtermsg) AND (NOT autoresponder) AND (NOT forwardmsg) AND (NOT mailhost) AND (NOT encrypt) AND (NOT remailmsg)

Populate the Database

References

  1. Fundamental Nonmodularity in Electronic Mail
  2. SPLverifier: Model Checking of Software Product Lines
  3. Feature-Aware Verification
  4. SPL2go-Email JML
  5. SPL2go-EmailSystem_C
  6. SPL2go-EmailSystem_Java

Clone this wiki locally