<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://lara.epfl.ch/w/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="https://lara.epfl.ch/w/feed.php">
        <title>LARA: Laboratory for Automated Reasoning and Analysis</title>
        <description></description>
        <link>https://lara.epfl.ch/w/</link>
        <image rdf:resource="https://lara.epfl.ch/w/lib/tpl/epflv2/images/favicon.ico" />
       <dc:date>2026-04-04T04:56:37+0200</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/alin?rev=1319897161&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/alloy_in_jahob?rev=1184330709&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/bank_account_example_in_jahob?rev=1205846261&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/bapa?rev=1297376067&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/cartesianproducts?rev=1429631101&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/cc?rev=1739822046&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/cc09?rev=1253050033&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/cc11?rev=1316895635&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/cc12labs_04?rev=1349794753&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/ccost?rev=1244232218&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/cfm?rev=1368123094&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/chord_notes?rev=1182295710&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/circuits?rev=1327423918&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/cisy?rev=1334664992&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/closure_properties_of_finite_state_machines?rev=1221635979&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/clp?rev=1437416248&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/codefromscala?rev=1187270377&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/collaboration?rev=1345039342&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/comfusy-examples?rev=1336821098&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/comfusy?rev=1381940830&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/complexity?rev=1429630357&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/confdesk-notes?rev=1363250293&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/confdesk?rev=1410732985&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/conferences?rev=1214860416&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/constraint_based_analysis_of_java_using_jahob_and_amrc?rev=1182432981&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/context-free_grammars?rev=1429630357&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/correctness_of_formula_propagation?rev=1176655202&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/cost-cert?rev=1219420432&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/cvc4-synthesis?rev=1449050689&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/cvc4?rev=1432481064&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/data_structure_examples.html?rev=1249943873&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/determinization_of_finite_state_machine?rev=1178378474&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/dp?rev=1361367292&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/eldarica?rev=1411485372&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/encoding_lists_using_msol_over_strings?rev=1210849310&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/epfl_internships?rev=1293311307&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/equivalence_of_finite_state_machine_and_regular_expression_languages?rev=1222196942&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/equivalence_relation?rev=1175280343&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/exchanges_for_epfl_students?rev=1212678705&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/expressing_finite_automata_in_msol_over_strings?rev=1429630357&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/expressing_regular_expressions_in_msol_over_strings?rev=1178478273&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/expressive_power_of_a_fragment_of_ws1s?rev=1183144552&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/finite_state_machine?rev=1240941952&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/finite_state_machine_with_epsilon_transitions?rev=1210753324&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/fmcad?rev=1304701688&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/fmcad11?rev=1314224903&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/fmcad11a?rev=1313316731&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/fmcad2014?rev=1385064046&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/formal?rev=1415098233&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/functionalsynthesis?rev=1258579401&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/funding?rev=1568797276&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/fv?rev=1635527082&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/fvquimsical?rev=1575928700&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/gallier_logic_book?rev=1203335606&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/harrison_textbook?rev=1266834860&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/horn-nonrec-benchmarks?rev=1362581342&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/horn-parametric-benchmarks?rev=1385131267&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/htmldoc?rev=1228508102&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/impro?rev=1479462213&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/inheritance?rev=1202139129&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/insynth?rev=1372496015&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/interfaces_for_atomicity?rev=1182434189&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/interpreter?rev=1174409984&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/introduction_to_using_msol_over_strings_to_verify_linked_lists?rev=1179136923&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/isynth?rev=1311254336&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/isynth_home?rev=1296063178&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/jahob_system?rev=1489937634&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/jahob_system_sets?rev=1234090334&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/jniz3-scala-examples?rev=1319206798&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/jniz3?rev=1312375038&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/kaplan?rev=1329174640&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/lambda_calculus?rev=1429630357&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/lara?rev=1297375375&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/lara_posters?rev=1308250942&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/laragit?rev=1541085124&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/learning?rev=1212777209&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/lecture16_transcript?rev=1221730027&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/leon-repair-benchmarks?rev=1423227146&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/leon-repair?rev=1423584863&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/leon?rev=1434914748&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/lisp_seminar_nlp_2008?rev=1228498717&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/master_s_program?rev=1212678555&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/menu?rev=1568797355&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/minimization_of_state_machines?rev=1429630357&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/monadic_second-order_logic_over_trees?rev=1177421691&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/monoid?rev=1178374171&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/msol_over_strings?rev=1210836377&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/nenofar?rev=1235594220&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/news?rev=1489568483&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/nicg?rev=1323870136&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/non-converging_iteration_in_reals?rev=1429631433&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/note_on_buffer_overflows?rev=1225054845&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/note_on_substitutions?rev=1174485477&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/notes_on_context-free_grammars?rev=1174234281&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/ocaml_resources?rev=1175698910&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/panagiotis_email?rev=1304700481&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/parcon?rev=1582063059&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/partial_order?rev=1238083937&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/phantm?rev=1424610092&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/phd_positions?rev=1503411697&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/pmatching?rev=1194441913&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/pong?rev=1384878155&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/predicate_abstraction?rev=1239146557&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/preorder?rev=1175280760&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/printingposters?rev=1271326130&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/programming_in_scala?rev=1348222311&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/projects-old?rev=1414941343&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/projects?rev=1635326716&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/publications?rev=1568796997&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/publications2?rev=1292342100&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/pushdown_systems?rev=1178364753&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/randomized_model_finder?rev=1183148415&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/rbound?rev=1400258326&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/reachable_pushdown_configurations_are_regular?rev=1306240160&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/regsy-examples?rev=1275067781&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/regsy?rev=1294848508&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/regular_expression?rev=1411121794&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/regular_expressions_for_automata_with_parallel_inputs?rev=1429630357&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/rosa?rev=1383835351&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/sav?rev=1464950792&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/sav07?rev=1189952048&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/sav07_future_lectures?rev=1181901483&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/sav07_homework_1?rev=1176406489&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/sav07_homework_1_solution?rev=1174302127&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/sav07_homework_2?rev=1175883323&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/sav07_homework_3?rev=1176649640&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/sav07_homework_4?rev=1177446472&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/sav07_homework_4_solution?rev=1182024724&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/sav07_lecture_1?rev=1180865641&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/sav07_lecture_2?rev=1175625100&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/sav07_lecture_2_skeleton?rev=1174158406&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/sav07_lecture_3?rev=1176881986&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/sav07_lecture_3_skeleton?rev=1174483643&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/sav07_lecture_4?rev=1175098473&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/sav07_lecture_4_skeleton?rev=1174911254&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/sav07_lecture_5?rev=1175635157&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/sav07_lecture_5_skeleton?rev=1175115722&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/sav07_lecture_6?rev=1180374028&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/sav07_lecture_6_skeleton?rev=1175635623&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/sav07_lecture_7?rev=1239146807&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/sav07_lecture_7_skeleton?rev=1175684886&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/sav07_lecture_8?rev=1176380173&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/sav07_lecture_8_skeleton?rev=1176380144&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/sav07_lecture_9?rev=1178897189&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/sav07_lecture_9_skeleton?rev=1176976419&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/sav07_lecture_10?rev=1177443624&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/sav07_lecture_10_skeleton?rev=1176976407&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/sav07_lecture_11?rev=1177517872&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/sav07_lecture_11_skeleton?rev=1177515863&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/sav07_lecture_12?rev=1177945133&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/sav07_lecture_12_skeleton?rev=1177587830&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/sav07_lecture_13?rev=1178112050&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/sav07_lecture_13_skeleton?rev=1178111988&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/sav07_lecture_14_skeleton?rev=1178211802&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/sav07_lecture_15?rev=1178791075&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/sav07_lecture_15_skeleton?rev=1178528166&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/sav07_lecture_16?rev=1178815117&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/sav07_lecture_17?rev=1179267145&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/sav07_lecture_18?rev=1182282200&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/sav07_lecture_19?rev=1180606443&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/sav07_lecture_20?rev=1243412910&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/sav07_lecture_21?rev=1243412785&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/sav07_lecture_22?rev=1429630357&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/sav07_lecture_23?rev=1429630357&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/sav07_lecture_24?rev=1211360580&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/sav07_lecture_25?rev=1182414168&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/sav07_lecture_26?rev=1183417915&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/sav07_lecture_27?rev=1181903043&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/sav07_mini_projects?rev=1181902090&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/sav07_project_ideas?rev=1178116439&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/sav07_projects?rev=1184327717&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/sav07_quiz_answers?rev=1174420654&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/sav07_resource?rev=1207480855&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/sav08?rev=1203090510&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/sav09?rev=1235072559&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/sav11?rev=1298153885&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/scalaz3?rev=1330342228&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/scp?rev=1311356294&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/semantic?rev=1382305228&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/semigroup?rev=1178374236&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/simple_linked_list_operation_in_jahob?rev=1179136907&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/sizedatatree.java?rev=1233314055&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/sizelist.java?rev=1233317256&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/slickchair?rev=1384852016&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/slin?rev=1386580704&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/smartfloat?rev=1365412568&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/snisy?rev=1295362871&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/software?rev=1568799323&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/software_verification_tools_overview?rev=1231949873&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/solver?rev=1367003543&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/sortedlist.java?rev=1233314697&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/start?rev=1693251117&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/strings_and_languages?rev=1562077011&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/stringsolver?rev=1392125835&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/suri?rev=1308011967&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/sverd?rev=1276615913&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/svtp17?rev=1488960995&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/tarski_fixed_point_theorem?rev=1178898340&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/teaching?rev=1592921940&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/test?rev=1468508073&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/test_draw?rev=1202998695&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/test_folded?rev=1222693177&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/test_latex?rev=1611248977&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/threadedtree.java?rev=1233314487&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/tips?rev=1224259283&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/tree_automata?rev=1429630357&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/treeinsertion.java?rev=1274777334&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/useful?rev=1389339144&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/using_automata_to_decide_msol_over_finite_strings?rev=1179305202&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/using_automata_to_decide_presburger_arithmetic?rev=1429629985&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/variable_range_analysis?rev=1183167019&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/verifying_data_structures_using_jahob?rev=1183309212&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/verifying_dijkstra_s_algorithm_in_jahob?rev=1183741302&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/verifying_pattern_matching_with_guards?rev=1183159160&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/visibly_pushdown_languages?rev=1181035207&amp;do=diff"/>
                <rdf:li rdf:resource="https://lara.epfl.ch/w/ws1s_expressive_power_and_quantifier_elimination?rev=1184172145&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="https://lara.epfl.ch/w/lib/tpl/epflv2/images/favicon.ico">
        <title>LARA: Laboratory for Automated Reasoning and Analysis</title>
        <link>https://lara.epfl.ch/w/</link>
        <url>https://lara.epfl.ch/w/lib/tpl/epflv2/images/favicon.ico</url>
    </image>
    <item rdf:about="https://lara.epfl.ch/w/alin?rev=1319897161&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-10-29T16:06:01+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>alin</title>
        <link>https://lara.epfl.ch/w/alin?rev=1319897161&amp;do=diff</link>
        <description>Abortable Linearizable Objects</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/alloy_in_jahob?rev=1184330709&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2007-07-13T14:45:09+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>alloy_in_jahob</title>
        <link>https://lara.epfl.ch/w/alloy_in_jahob?rev=1184330709&amp;do=diff</link>
        <description>This project consists in finding and implementing a mapping that permits generation of Alloy models from Jahob's datatype. The goal is to construct a bug finder based on SAT by coupling Alloy to Jahob.

Project code

Code 

Report

Report</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/bank_account_example_in_jahob?rev=1205846261&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2008-03-18T14:17:41+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>bank_account_example_in_jahob</title>
        <link>https://lara.epfl.ch/w/bank_account_example_in_jahob?rev=1205846261&amp;do=diff</link>
        <description>Bank account example in Jahob

Below is a simplistic global bank account with two balance fields.

You can also download the example: 

The command to verify this example is
../../bin/jahob.opt Account.java -class Account -usedp cvcl
and requires an SMT-LIB solver under the name 'cvcl' to be installed to work (download</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/bapa?rev=1297376067&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-02-10T23:14:27+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>bapa</title>
        <link>https://lara.epfl.ch/w/bapa?rev=1297376067&amp;do=diff</link>
        <description>BAPA Resources

More to come soon.
See our publications on BAPA at lara.epfl.ch .

See here on non-redudandant integer cones.</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/cartesianproducts?rev=1429631101&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2015-04-21T17:45:01+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>cartesianproducts</title>
        <link>https://lara.epfl.ch/w/cartesianproducts?rev=1429631101&amp;do=diff</link>
        <description>Of the use of cartesian products...

The purpose of this page is to summarize the current status of our plans on how to proceed with verification of PM expressions.

Using sets

Types

Sets are convenient to represent type. We will always consider a type T to be represented by the corresponding set</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/cc?rev=1739822046&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-02-17T20:54:06+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>cc</title>
        <link>https://lara.epfl.ch/w/cc?rev=1739822046&amp;do=diff</link>
        <description>Computer Language Processing

----------

Spring 2025 page is here: &lt;https://gitlab.epfl.ch/lara/cs320/&gt; 

----------

Examples of old course pages:

	*  Fall 2022
	*  Fall 2021
	*  Fall 2020</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/cc09?rev=1253050033&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-09-15T23:27:13+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>cc09</title>
        <link>https://lara.epfl.ch/w/cc09?rev=1253050033&amp;do=diff</link>
        <description>Were you looking for the page for the Compiler Construction course given in 2009?

It's right here.</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/cc11?rev=1316895635&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-09-24T22:20:35+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>cc11</title>
        <link>https://lara.epfl.ch/w/cc11?rev=1316895635&amp;do=diff</link>
        <description>Redirect

You probably meant to go to top.</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/cc12labs_04?rev=1349794753&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2012-10-09T16:59:13+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>cc12labs_04</title>
        <link>https://lara.epfl.ch/w/cc12labs_04?rev=1349794753&amp;do=diff</link>
        <description>Labs 04

This week and the next one, you'll work on the second part of the Tool compiler project. Your goal is to manually implement a recursive-descent parser to transform programs described by the Tool grammar into Abstract Syntax Trees. You also need to write a pretty-printer for these trees. This assignment is rather long and we can only recommend that you start early, that you make sure you understand every step, and that you ask otherwise.</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/ccost?rev=1244232218&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-06-05T22:03:38+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ccost</title>
        <link>https://lara.epfl.ch/w/ccost?rev=1244232218&amp;do=diff</link>
        <description>&lt;http://richmodels.epfl.ch&gt;</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/cfm?rev=1368123094&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2013-05-09T20:11:34+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>cfm</title>
        <link>https://lara.epfl.ch/w/cfm?rev=1368123094&amp;do=diff</link>
        <description>Communications in Formal Methods

	*  5 pages in this 2-column format (local copy here)
	*  Using arxiv.org for submission and permanent storage
	*  Continuous submission
	*  Peer reviewed using continuous review process
	*  Experimental data uploaded and stored
	*  Authors retain copyright. Creative commons license.</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/chord_notes?rev=1182295710&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2007-06-20T01:28:30+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>chord_notes</title>
        <link>https://lara.epfl.ch/w/chord_notes?rev=1182295710&amp;do=diff</link>
        <description>What is a data race?

Happens before.

In lock-based programs.  

Approximating whether there can be a race at two accesses:

	*  locations disjoint
	*  locks same - unsound approximation in absence of must analysis (“unlikely races”)
	*  locations same, then locks same (conditional may alias analysis)</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/circuits?rev=1327423918&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2012-01-24T17:51:58+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>circuits</title>
        <link>https://lara.epfl.ch/w/circuits?rev=1327423918&amp;do=diff</link>
        <description>Synthesis of Sequential Circuits from Regular Trace Specifications</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/cisy?rev=1334664992&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2012-04-17T14:16:32+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>cisy</title>
        <link>https://lara.epfl.ch/w/cisy?rev=1334664992&amp;do=diff</link>
        <description>Circuit-Based Synthesis from Regular Specifications

See the paper Synthesis for Unbounded Bitvector Arithmetic.

Until this page is updated, please contact Andrej Spielmann.

Related project: RegSy and Comfusy.</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/closure_properties_of_finite_state_machines?rev=1221635979&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2008-09-17T09:19:39+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>closure_properties_of_finite_state_machines</title>
        <link>https://lara.epfl.ch/w/closure_properties_of_finite_state_machines?rev=1221635979&amp;do=diff</link>
        <description>Closure properties of finite state machines

If we have some number of finite state machines, we show how to create a finite state machine whose language is union, intersection, complement, concatenation, or iteration of the languages of these state machines.</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/clp?rev=1437416248&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2015-07-20T20:17:28+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>clp</title>
        <link>https://lara.epfl.ch/w/clp?rev=1437416248&amp;do=diff</link>
        <description>Computer Language Processing

Computer Language Processing 2015</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/codefromscala?rev=1187270377&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2007-08-16T15:19:37+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>codefromscala</title>
        <link>https://lara.epfl.ch/w/codefromscala?rev=1187270377&amp;do=diff</link>
        <description>Code examples extracted from the scala libraries/compiler

Here is a collection from pattern matching expressions found in the scala libraries, or in the compiler. Many of them are of limited interest, but could be used later on for suggesting improvements on verifiability, for examples by adding invariants and the like. Note that there are many more examples to be found there, but most of them were not collected, because they fell in one of the following patterns:</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/collaboration?rev=1345039342&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2012-08-15T16:02:22+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>collaboration</title>
        <link>https://lara.epfl.ch/w/collaboration?rev=1345039342&amp;do=diff</link>
        <description>LARA Collaboration

Collaborating groups:

	*  SAAR group, Max-Planck Institute for Software Systems
	*  Programming Methods Lab, EPFL
	*  Distributed Programming Laboratory, EPFL
	*  Rupak Majumdar's group, Max-Planck Institute for Software Systems
	*  ARGO, University of Belgrade
	*  Darko Marinov's group, UIUC
	*  Data Lab, EPFL

Past members and longer-term visitors:</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/comfusy-examples?rev=1336821098&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2012-05-12T13:11:38+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>comfusy-examples</title>
        <link>https://lara.epfl.ch/w/comfusy-examples?rev=1336821098&amp;do=diff</link>
        <description>COMFUSY: COMplete FUnctional SYnthesis - Examples

	*  ScaleWeights


import synthesis.Definitions._

object ScaleWeights {
  def main(args: Array[String]): Unit = {
    println(&quot;Give me a weight: &quot;)
    val weight: Int = Console.readInt

    try {
      val (w1,w2,w3,w4) = choose((w1:Int,w2:Int,w3:Int,w4:Int) =&gt; (
           w1 + 3 * w2 + 9 * w3 + 27 * w4 == weight
        &amp;&amp; -1 &lt;= w1 &amp;&amp; w1 &lt;= 1
        &amp;&amp; -1 &lt;= w2 &amp;&amp; w2 &lt;= 1
        &amp;&amp; -1 &lt;= w3 &amp;&amp; w3 &lt;= 1
        &amp;&amp; -1 &lt;= w4 &amp;&amp; w4 &lt;= 1
      )…</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/comfusy?rev=1381940830&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2013-10-16T18:27:10+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>comfusy</title>
        <link>https://lara.epfl.ch/w/comfusy?rev=1381940830&amp;do=diff</link>
        <description>COMFUSY: COMplete FUnctional SYnthesis

Comfusy is a tool for synthesizing executable code from specifications in linear integer arithmetic and constraints on sets of objects.

	*  see PLDI 2010 Paper for the description of this work

Comfusy works as a plugin for the</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/complexity?rev=1429630357&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2015-04-21T17:32:37+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>complexity</title>
        <link>https://lara.epfl.ch/w/complexity?rev=1429630357&amp;do=diff</link>
        <description>Complexity of the verification process

Preliminary remarks

Terminology

	*  We say that two patterns have the same signature if, without their (optional) guard, they are identical.
	*  The set of pattern is assumed to be the cartesian product representing the set of inputs that a pattern would match.</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/confdesk-notes?rev=1363250293&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2013-03-14T09:38:13+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>confdesk-notes</title>
        <link>https://lara.epfl.ch/w/confdesk-notes?rev=1363250293&amp;do=diff</link>
        <description>Useful Links

Play

	*  Play
		*  &lt;http://www.playframework.com/&gt;
		*  &lt;http://www.playframework.com/documentation/2.0/ScalaAnorm&gt;


JDBC

	*  JDBC tutorial: &lt;http://zetcode.com/db/postgresqljavatutorial/&gt;

DB Web Interface - For Direct Control over DB

	*  &lt;http://www.sql-workbench.net/downloads.html&gt; (Java)
	*  &lt;http://isql.sourceforge.net/&gt; (Java)
	*  &lt;http://mywebsql.net/&gt; (PHP)
	*  &lt;http://sourceforge.net/projects/sqlshell/files/&gt; (Java, command Line)
	*  &lt;http://henplus.sourceforge.net/&gt;

…</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/confdesk?rev=1410732985&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2014-09-15T00:16:25+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>confdesk</title>
        <link>https://lara.epfl.ch/w/confdesk?rev=1410732985&amp;do=diff</link>
        <description>ConfDesk: Coming Soon!

See &lt;http://slickchair.github.io/SlickChair/&gt;</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/conferences?rev=1214860416&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2008-06-30T23:13:36+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>conferences</title>
        <link>https://lara.epfl.ch/w/conferences?rev=1214860416&amp;do=diff</link>
        <description>Upcoming Conference Deadlines

	*  VMCAI papers: August 22, 2008, &lt;http://cs.uni-muenster.de/vmcai09/index.php&gt;
	*  PLDI papers: November 7, 2008, &lt;http://www-plan.cs.colorado.edu/~pldi09/&gt;
	*  ETAPS abstracts: November 2, 2008, &lt;http://www.cs.york.ac.uk/etaps09/&gt;
	*  CADE 2009, ?, &lt;http://www.cs.mcgill.ca/~bpientka/cade09/&gt;
	*  LICS 2009, ?, &lt;http://www.cl.cam.ac.uk/~amp12/&gt;

LARA Papers in Progress

	*  Theories Sharing Sets
	*  Online Static Analysis</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/constraint_based_analysis_of_java_using_jahob_and_amrc?rev=1182432981&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2007-06-21T15:36:21+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>constraint_based_analysis_of_java_using_jahob_and_amrc</title>
        <link>https://lara.epfl.ch/w/constraint_based_analysis_of_java_using_jahob_and_amrc?rev=1182432981&amp;do=diff</link>
        <description>Constraint based analysis of java using jahob and amrc

Project Introduction

In this project, we are trying to bridge two verification tools Jahob and Armc. Jahob is quite powerful in accepting complecated Java programs and translate it into simplified intermidiate language. We are trying to write a translater from this representation of program to input format of ARMC. ARMC takes transition relation as input. ARMC is powerful in computing loop invariant and fixedpoint analysis automaticlly. Re…</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/context-free_grammars?rev=1429630357&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2015-04-21T17:32:37+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>context-free_grammars</title>
        <link>https://lara.epfl.ch/w/context-free_grammars?rev=1429630357&amp;do=diff</link>
        <description>Context-Free Grammars

Purpose and Expressive Power

A context-free grammar is a way to specify languages.

Context-free grammars are more powerful than regular expressions: for each regular expression there is an equivalent context-free grammar, but the converse need not hold.  Context-free grammars supposed not just iteration like regular expressions, but also more general forms of recursion.</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/correctness_of_formula_propagation?rev=1176655202&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2007-04-15T18:40:02+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>correctness_of_formula_propagation</title>
        <link>https://lara.epfl.ch/w/correctness_of_formula_propagation?rev=1176655202&amp;do=diff</link>
        <description>Correctness of formula propagation

By definition of sp and our requirements of N, the propagation is correct for code without loops.

Using an example of a single loop, we explain that if the analysis terminates then it computes an inductive invariant weaker than the initial formula.</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/cost-cert?rev=1219420432&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2008-08-22T17:53:52+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>cost-cert</title>
        <link>https://lara.epfl.ch/w/cost-cert?rev=1219420432&amp;do=diff</link>
        <description>Please see the new page.</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/cvc4-synthesis?rev=1449050689&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2015-12-02T11:04:49+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>cvc4-synthesis</title>
        <link>https://lara.epfl.ch/w/cvc4-synthesis?rev=1449050689&amp;do=diff</link>
        <description>Synthesis within CVC4

Counterexample Guided Quantifier Instantiation for Synthesis in SMT

We provide the following supplementary material for this paper.

Solver

The zip archive containing the binary of CVC4 used in our experiments can be found here: cvc4-sygus.zip

	*  Configuration cvc4+sg from the paper is enabled by command line parameters</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/cvc4?rev=1432481064&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2015-05-24T17:24:24+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>cvc4</title>
        <link>https://lara.epfl.ch/w/cvc4?rev=1432481064&amp;do=diff</link>
        <description>CVC4 SMT Solver

The CVC4 SMT solver is available from &lt;http://cvc4.cs.nyu.edu&gt;

Information on experiments with synthesis within CVC4 is available on the cvc4-synthesis page.</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/data_structure_examples.html?rev=1249943873&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-08-11T00:37:53+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>data_structure_examples.html</title>
        <link>https://lara.epfl.ch/w/data_structure_examples.html?rev=1249943873&amp;do=diff</link>
        <description>Examples of Data Structures Verified in Jahob

[Array.java]

[Association.java]

[BinarySearchTree.java]

[CursorList.java]

[CircularList.java]

[Hashtable.java]

[PriorityQueue.java]

[SinglyLinkedList.java]

For screen shots and a comparison with the Sun Java library interface for ArrayList.java, see the following older version of our benchmarks.</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/determinization_of_finite_state_machine?rev=1178378474&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2007-05-05T17:21:14+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>determinization_of_finite_state_machine</title>
        <link>https://lara.epfl.ch/w/determinization_of_finite_state_machine?rev=1178378474&amp;do=diff</link>
        <description>Determinization of finite state machine

For every finite state machine  there exists a deterministic finite state machine that accepts the same language.

This machine is given by  where

	*  
	*  .

The corresponding deterministic state machine maintains a set of states instead of just one state, and simultaneously transitions into all states that the original machine could reach from the current set of states.</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/dp?rev=1361367292&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2013-02-20T14:34:52+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dp</title>
        <link>https://lara.epfl.ch/w/dp?rev=1361367292&amp;do=diff</link>
        <description>Progress in Decision Procedures: from Formalizations to Applications

What we will need from participants:

	*  name, web page, short biography (up to 300 words), photo
	*  if presenting: title and abstract (up to 500 words) of the talk
	*  arrival and departure times</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/eldarica?rev=1411485372&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2014-09-23T17:16:12+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>eldarica</title>
        <link>https://lara.epfl.ch/w/eldarica?rev=1411485372&amp;do=diff</link>
        <description>ELDARICA

----------

NEW: GitHub link: &lt;https://github.com/uuverifiers/eldarica&gt;

----------
     [ ]                 A real Eldarica Tree     A reachability tree created by Eldarica for the 
mutual exclusion protocol with arbitrary number of clients   





Eldarica Eldarica is a predicate abstraction engine.
It generates the abstract reachability tree (ART) using lazy abstraction with Cartesian abstraction.
It uses the</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/encoding_lists_using_msol_over_strings?rev=1210849310&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2008-05-15T13:01:50+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>encoding_lists_using_msol_over_strings</title>
        <link>https://lara.epfl.ch/w/encoding_lists_using_msol_over_strings?rev=1210849310&amp;do=diff</link>
        <description>Encoding lists using MSOL over strings

Example file 'MONA' tool: 

How to encode multiple lists

How to encode

	*  doubly-linked lists
	*  cyclic lists: &lt;http://lara.epfl.ch/~kuncak/jahob/ds/CircularList/&gt;

References

	*  Verification via structure simulation
	*  Field constraint analysis
	*  Pointer Assertion Logic Engine</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/epfl_internships?rev=1293311307&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-12-25T22:08:27+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>epfl_internships</title>
        <link>https://lara.epfl.ch/w/epfl_internships?rev=1293311307&amp;do=diff</link>
        <description>Internships at EPFL

Laboratory for Automated Reasoning and Analysis rarely accepts internships. Information about EPFL internships can be found here:

	*  General Internship Applications (including applications from Europe and North America)
	*  Special Internships program for students from India: all internship applications from India should proceed through this program</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/equivalence_of_finite_state_machine_and_regular_expression_languages?rev=1222196942&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2008-09-23T21:09:02+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>equivalence_of_finite_state_machine_and_regular_expression_languages</title>
        <link>https://lara.epfl.ch/w/equivalence_of_finite_state_machine_and_regular_expression_languages?rev=1222196942&amp;do=diff</link>
        <description>Equivalence of finite state machines and regular expression languages

We next show that a language is given by a regular expression if and only if it is a language of some finite state machine.

If a language is given by one of these two ways, we can always convert to the other if this is more convenient.</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/equivalence_relation?rev=1175280343&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2007-03-30T20:45:43+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>equivalence_relation</title>
        <link>https://lara.epfl.ch/w/equivalence_relation?rev=1175280343&amp;do=diff</link>
        <description>Equivalence relation

An equivalence relation  is a binary relation on set  (that is, a subset of ) that is reflexive, symmetric, and transitive, that is, the following three properties hold:

	*  

	*  

	*  

Given an equivalence relation , we define the set of equivalence classes</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/exchanges_for_epfl_students?rev=1212678705&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2008-06-05T17:11:45+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>exchanges_for_epfl_students</title>
        <link>https://lara.epfl.ch/w/exchanges_for_epfl_students?rev=1212678705&amp;do=diff</link>
        <description>Exchange Programs for EPFL Students

If you are an EPFL student, you may decide to explore an internship or master's thesis outside EPFL while being supervised by an EPFL faculty.  Before deciding whether to visit, I advise a student to fully familiarize themselves with the work done both at EPFL and any other instututions that they are interested in visiting.</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/expressing_finite_automata_in_msol_over_strings?rev=1429630357&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2015-04-21T17:32:37+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>expressing_finite_automata_in_msol_over_strings</title>
        <link>https://lara.epfl.ch/w/expressing_finite_automata_in_msol_over_strings?rev=1429630357&amp;do=diff</link>
        <description>Expressing finite automaton in WS1S

Consider a finite automaton with alphabet , states , transition relation , initial state  and final states .

Let the sets  denote the encoding of input string of the automaton.

There exists an execution of an automaton iff there exist the intermediate states given by transition relation</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/expressing_regular_expressions_in_msol_over_strings?rev=1178478273&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2007-05-06T21:04:33+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>expressing_regular_expressions_in_msol_over_strings</title>
        <link>https://lara.epfl.ch/w/expressing_regular_expressions_in_msol_over_strings?rev=1178478273&amp;do=diff</link>
        <description>Expressing regular expressions in MSOL over strings

Idea: for each regular expression  of a automaton for parallel inputs  associate a formula  with free variables  such that  is valid precisely for whose sets of numbers for which

	*   and  are singletons
	*  the strings given by the parts of</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/expressive_power_of_a_fragment_of_ws1s?rev=1183144552&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2007-06-29T21:15:52+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>expressive_power_of_a_fragment_of_ws1s</title>
        <link>https://lara.epfl.ch/w/expressive_power_of_a_fragment_of_ws1s?rev=1183144552&amp;do=diff</link>
        <description>[Expressive Power of a Fragment of WS1S]</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/finite_state_machine?rev=1240941952&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-04-28T20:05:52+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>finite_state_machine</title>
        <link>https://lara.epfl.ch/w/finite_state_machine?rev=1240941952&amp;do=diff</link>
        <description>Finite state machine

A finite state machine is a way of defining a language (see Strings and languages).  We give a string to the machine, which examines the string one character by one, and at the end decides whether the string is the language or not.

A non-deterministic finite state machine</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/finite_state_machine_with_epsilon_transitions?rev=1210753324&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2008-05-14T10:22:04+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>finite_state_machine_with_epsilon_transitions</title>
        <link>https://lara.epfl.ch/w/finite_state_machine_with_epsilon_transitions?rev=1210753324&amp;do=diff</link>
        <description>Finite state machine with epsilon transitions

Definition

Finite state machine with epsilon transitions is an extension of a finite state machine where transitions can be labelled by .  If such a transition  exists  then an automaton may transition from  to  without consuming any portion of the input string.</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/fmcad?rev=1304701688&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-05-06T19:08:08+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>fmcad</title>
        <link>https://lara.epfl.ch/w/fmcad?rev=1304701688&amp;do=diff</link>
        <description>Cooperation Status and Publication of FMCAD Proceedings

Panagiotis Email

ACM

Getting in-cooperation status, see here: &lt;http://cms.acm.org/incoop/cms_incoop.cfm&gt;

	*  fill in General Conference Information,
	*  upload a copy of the sponsoring organization's Certificate of Insurance (COI) or a Financial Responsibility Letter on the Sponsoring Organization Letterhead,</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/fmcad11?rev=1314224903&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-08-25T00:28:23+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>fmcad11</title>
        <link>https://lara.epfl.ch/w/fmcad11?rev=1314224903&amp;do=diff</link>
        <description>FMCAD 2011 Instructions for Camera-Ready Version of Papers

&lt;http://www.cs.utexas.edu/users/ragerdl/fmcad11/&gt;

Congratulations on the acceptance of your FMCAD 2011 contribution. We are pleased to inform you that we expect the proceedings to be published both through ACM and IEEE digital libraries (as well as on the FMCAD web site for rapid dissemination).</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/fmcad11a?rev=1313316731&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-08-14T12:12:11+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>fmcad11a</title>
        <link>https://lara.epfl.ch/w/fmcad11a?rev=1313316731&amp;do=diff</link>
        <description>IEEE Requirements

For the final version you will need to follow the steps below. More information will be available down the line, so please be prepared to revise the submission after the deadline, once the details of the IEEE publication become available. We apologize for the inconvenience. For the original deadline, please just try to do your best and embed the fonts.</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/fmcad2014?rev=1385064046&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2013-11-21T21:00:46+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>fmcad2014</title>
        <link>https://lara.epfl.ch/w/fmcad2014?rev=1385064046&amp;do=diff</link>
        <description>FMCAD 2014 Information Page

Formal Methods in Computer-Aided Design 2014, 21-24 October 2014

	*  collocated and sharing tutorials with MEMOCODE 2014, 19-21 October 2014

Conference Google Calendar:

	*  HTML, XML, ICAL (.ics)

Updates

About Lausanne

	*  Short Video

Local Information</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/formal?rev=1415098233&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2014-11-04T11:50:33+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>formal</title>
        <link>https://lara.epfl.ch/w/formal?rev=1415098233&amp;do=diff</link>
        <description>Formal Methods @ EPFL

EPFL conducts research in formal methods, focusing on tools and algorithms for construction of reliable and efficient software and hardware:

	*  Automated Reasoning and Analysis Lab
	*  Barbara Jobstmann
	*  Communications and Applications Laboratory
	*  Data Analysis Theory and Applications Laboratory
	*  Dependable Systems Lab
	*  Distributed Programming Laboratory
	*  Embedded Systems Laboratory
	*  Integrated Systems Laboratory
	*  Processor Architecture Laboratory
	*…</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/functionalsynthesis?rev=1258579401&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-11-18T22:23:21+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>functionalsynthesis</title>
        <link>https://lara.epfl.ch/w/functionalsynthesis?rev=1258579401&amp;do=diff</link>
        <description>Functional Synthesis

Paper.

Lib. 

Plugin.

Z3.</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/funding?rev=1568797276&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-09-18T11:01:16+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>funding</title>
        <link>https://lara.epfl.ch/w/funding?rev=1568797276&amp;do=diff</link>
        <description>LARA Funding

EPFL Laboratory for Automated Reasoning and Analysis is supported by the funding from

	*  EPFL School of Computer and Communication Sciences
	*  Swiss National Science Foundation

Past funding support includes:

	*  European Research Council (ERC), which funded the Implicit Programming project
	*  Microsoft Innovation Cluster for Embedded Software
	*  European Cooperation in Science and Technology</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/fv?rev=1635527082&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-10-29T19:04:42+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>fv</title>
        <link>https://lara.epfl.ch/w/fv?rev=1635527082&amp;do=diff</link>
        <description>EPFL Course: Formal Verification, CS-550

----------

 The 2021 onwards page: &lt;https://gitlab.epfl.ch/lara/cs550/&gt; 

----------

Old pages: Formal Verification  2020, Formal Verification  2019, and other web pages from 2008 onwards with hidden gems of wisdom.</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/fvquimsical?rev=1575928700&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-12-09T22:58:20+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>fvquimsical</title>
        <link>https://lara.epfl.ch/w/fvquimsical?rev=1575928700&amp;do=diff</link>
        <description>Some Verification-Related Quizzes

2015

&lt;https://lara.epfl.ch/w/_media/sav17/quiz_solutions2015.pdf&gt;

2013

&lt;https://lara.epfl.ch/w/_media/sav17/quiz_solutions2013.pdf&gt;

2012

	*  &lt;https://lara.epfl.ch/w/_media/sav13/quiz_2012.pdf&gt; 
	*  &lt;https://lara.epfl.ch/w/_media/sav13/quiz_solutions_2012.pdf&gt;

2011

	*  [Quiz 1]
	*  [Quiz 2]

2010

	*  [Quiz 1]
	*  [Quiz 2]</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/gallier_logic_book?rev=1203335606&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2008-02-18T12:53:26+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>gallier_logic_book</title>
        <link>https://lara.epfl.ch/w/gallier_logic_book?rev=1203335606&amp;do=diff</link>
        <description>Gallier's Logic Book

There are many textbooks that cover propositional and first-order logic, its syntax, semantics, and proof theory.  

This Jean Gallier's book is available online and contains a lot of relevant material.  You should not assume that you can quickly read through all of it.  The most important sections are:</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/harrison_textbook?rev=1266834860&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-02-22T11:34:20+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>harrison_textbook</title>
        <link>https://lara.epfl.ch/w/harrison_textbook?rev=1266834860&amp;do=diff</link>
        <description>Handbook of Practical Logic and Automated Reasoning

by John Harrison (Intel Corporation, Portland, Oregon)

	*  Cambrige University Press Site
	*  author's resources</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/horn-nonrec-benchmarks?rev=1362581342&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2013-03-06T15:49:02+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>horn-nonrec-benchmarks</title>
        <link>https://lara.epfl.ch/w/horn-nonrec-benchmarks?rev=1362581342&amp;do=diff</link>
        <description>Non-Recursive Horn Benchmarks

	*  Horn constraints generated by Eldarica, output by  Princess
	*  Benchmarks are in SMT-LIB 2.0  and can be processes by e.g. Z3
 Horn Clause Type   Number of Benchmarks  Download  General           541    1.6 MB  Head-Disjoint     991    2.5 MB  Linear</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/horn-parametric-benchmarks?rev=1385131267&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2013-11-22T15:41:07+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>horn-parametric-benchmarks</title>
        <link>https://lara.epfl.ch/w/horn-parametric-benchmarks?rev=1385131267&amp;do=diff</link>
        <description>Parametric Timed Automata Benchmarks

	*  Horn constraints generated by Eldarica for parametric timed automata benchmarks
	*  Benchmarks are in SMT-LIB 2.0  and can be processes by e.g. Z3
 Safe Benchmarks     Unsafe Benchmarks</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/htmldoc?rev=1228508102&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2008-12-05T21:15:02+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>htmldoc</title>
        <link>https://lara.epfl.ch/w/htmldoc?rev=1228508102&amp;do=diff</link>
        <description>htmldoc

Here is an example use of htmldoc use to create a pdf file for the lectures.


htmldoc --book --nup 2 -f lecture12.pdf \
  http://lara.epfl.ch/dokuwiki/doku.php?id=compilation:applications_of_data-flow_analysis \
  http://lara.epfl.ch/dokuwiki/doku.php?id=compilation:concrete_execution_as_data-flow_analysis \
  http://lara.epfl.ch/dokuwiki/doku.php?id=compilation:designing_correct_data-flow_analyses \
  http://lara.epfl.ch/dokuwiki/doku.php?id=compilation:termination_of_data-flow_analys…</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/impro?rev=1479462213&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2016-11-18T10:43:33+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>impro</title>
        <link>https://lara.epfl.ch/w/impro?rev=1479462213&amp;do=diff</link>
        <description>IMPLICIT PROGRAMMING

Implicit programming is a proposed software development paradigm that aims to address longstanding bottlenecks of software construction. The problem
that we address is obvious to anyone who has ever written a program:
programming is harder than it should be</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/inheritance?rev=1202139129&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2008-02-04T16:32:09+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>inheritance</title>
        <link>https://lara.epfl.ch/w/inheritance?rev=1202139129&amp;do=diff</link>
        <description>A Guide To Inheritance in Programming Languages

Inheritance is one of the core features of Object Oriented programming, which provides reusability and extensiblity. The use of inheritance is often debated among programmers, computer scientists, and language designers. Some claim it should be mostly avoided, and others -  generally the functional programming community - go beyond it and advocate that it is simply a bad idea. One of the most common objections is pointed out in the module system s…</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/insynth?rev=1372496015&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2013-06-29T10:53:35+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>insynth</title>
        <link>https://lara.epfl.ch/w/insynth?rev=1372496015&amp;do=diff</link>
        <description>InSynth: Type-Driven Interactive Synthesis of Code Snippets

InSynth is a tool for interactive synthesis of code snippets. It synthesizes a ranked list of code fragments that use given library functions.

A recent version is presented in the following paper:</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/interfaces_for_atomicity?rev=1182434189&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2007-06-21T15:56:29+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>interfaces_for_atomicity</title>
        <link>https://lara.epfl.ch/w/interfaces_for_atomicity?rev=1182434189&amp;do=diff</link>
        <description>The project 'Interfaces for Atomicity' is based on recent work, mainly started with a type system for atomicity (&lt;http://portal.acm.org/citation.cfm?id=781169&amp;dl=ACM&amp;coll=portal&gt;). The current work tries to extend 
static analysis for atomicity for non-blocking programs(&lt;http://portal.acm.org/citation.cfm?doid=1065944.1065953&gt;).

The presentation is [here.]

The project aims at developing an assume-guarantee reasoning for atomicity of concurrent threads in a program. The idea is to capture the b…</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/interpreter?rev=1174409984&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2007-03-20T17:59:44+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>interpreter</title>
        <link>https://lara.epfl.ch/w/interpreter?rev=1174409984&amp;do=diff</link>
        <description>Interpreter

An interpreter executes a given program.  An interpreter can traverse the statements of the program, evaluate the expressions in the current state and update the values of the state in the presence of assignment statements.  Interpreter is strongly related to a compiler, the difference being that the compiler first translates the code into the target language, which can then be executed, whereas interpreter directly executes the language.  Therefore, both the compiler and interprete…</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/introduction_to_using_msol_over_strings_to_verify_linked_lists?rev=1179136923&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2007-05-14T12:02:03+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>introduction_to_using_msol_over_strings_to_verify_linked_lists</title>
        <link>https://lara.epfl.ch/w/introduction_to_using_msol_over_strings_to_verify_linked_lists?rev=1179136923&amp;do=diff</link>
        <description>Introduction to using MSOL over strings to verify linked data structures

Here is a simple linked list operation in Jahob.

What do verification conditions look like?
tree [Node.next] --&gt; F(Node.next)
I will describe a decision procedure that can decide such formulas.</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/isynth?rev=1311254336&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-07-21T15:18:56+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>isynth</title>
        <link>https://lara.epfl.ch/w/isynth?rev=1311254336&amp;do=diff</link>
        <description>InSynth Tool

Please Click here for the InSynth website.</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/isynth_home?rev=1296063178&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-01-26T18:32:58+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>isynth_home</title>
        <link>https://lara.epfl.ch/w/isynth_home?rev=1296063178&amp;do=diff</link>
        <description>Isynth</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/jahob_system?rev=1489937634&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2017-03-19T16:33:54+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>jahob_system</title>
        <link>https://lara.epfl.ch/w/jahob_system?rev=1489937634&amp;do=diff</link>
        <description>Jahob Verification System

Jahob is a verification system for programs written in a subset of Java.  Using Jahob, developers can statically prove that methods satisfy their contracts in all possible executions, as well as that they preserve essential structural invariants and design constraints.</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/jahob_system_sets?rev=1234090334&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-02-08T11:52:14+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>jahob_system_sets</title>
        <link>https://lara.epfl.ch/w/jahob_system_sets?rev=1234090334&amp;do=diff</link>
        <description>Benchmarks for Set-Driven Combination of Logics and Verifiers

	*  SizeList.java
	*  SortedList.java
	*  SizeDataTree.java
	*  ThreadedTree.java

For the description of the underlying technique, see the recent paper.

For more information, see also the Jahob system</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/jniz3-scala-examples?rev=1319206798&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-10-21T16:19:58+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>jniz3-scala-examples</title>
        <link>https://lara.epfl.ch/w/jniz3-scala-examples?rev=1319206798&amp;do=diff</link>
        <description>Examples of Using Z3 with Scala

Compiling and running the following examples requires that you obtain z3.jar, libz3.so (from Microsoft Research), and use Scala 2.8. The best way to figure out which functions to use is probably to read through the C API once, then through the Scala</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/jniz3?rev=1312375038&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-08-03T14:37:18+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>jniz3</title>
        <link>https://lara.epfl.ch/w/jniz3?rev=1312375038&amp;do=diff</link>
        <description>Redirect

See this page.</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/kaplan?rev=1329174640&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2012-02-14T00:10:40+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>kaplan</title>
        <link>https://lara.epfl.ch/w/kaplan?rev=1329174640&amp;do=diff</link>
        <description>Kaplan

What is Kaplan?

Kaplan is an extension of the Scala programming language that supports constraint-solving. Kaplan is described in the following paper:

A.S. Köksal, V. Kuncak, P. Suter, Constraints as Control, POPL 2012, pp. 151-164. PDF

Obtaining Kaplan</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/lambda_calculus?rev=1429630357&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2015-04-21T17:32:37+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>lambda_calculus</title>
        <link>https://lara.epfl.ch/w/lambda_calculus?rev=1429630357&amp;do=diff</link>
        <description>Lambda calculus

This is a very brief introduction to lambda calculus.

Lambda calculus is a notation for defining functions.  It is very simple and powerful.  Two of its main uses are

	*  foundation of programming languages, especially functional languages such as Ocaml, Haskell, and Scala</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/lara?rev=1297375375&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-02-10T23:02:55+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>lara</title>
        <link>https://lara.epfl.ch/w/lara?rev=1297375375&amp;do=diff</link>
        <description>BAPA Resources</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/lara_posters?rev=1308250942&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-06-16T21:02:22+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>lara_posters</title>
        <link>https://lara.epfl.ch/w/lara_posters?rev=1308250942&amp;do=diff</link>
        <description>LARA POSTERS

Proglab

Download it [here]

Comfusy

Available in [PDF]. The SVG source is on the SVN. Instructions to generate PDF from SVG are here.</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/laragit?rev=1541085124&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-11-01T16:12:04+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>laragit</title>
        <link>https://lara.epfl.ch/w/laragit?rev=1541085124&amp;do=diff</link>
        <description>Using our Git Server

Setup

(If you don't know what an SSH public key is or don't know how to generate a key pair, your can read http://help.github.com/linux-set-up-git/ from GitHub. Just ignore all the parts that are specific to GitHub.)

Note that you need to follow these steps for each computer than you plan to use. Also note that EPFL members that are not part of the lab (e.g. students) should the link</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/learning?rev=1212777209&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2008-06-06T20:33:29+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>learning</title>
        <link>https://lara.epfl.ch/w/learning?rev=1212777209&amp;do=diff</link>
        <description>Machine Learning Page

	*  Charles Kemp's page
	*  ILP
	*  Workshop on Machine Learning at OSDI'08
	*  Multi-Relational Data Mining
	*  MRDTL: A multi-relational decision tree learning algorithm</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/lecture16_transcript?rev=1221730027&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2008-09-18T11:27:07+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>lecture16_transcript</title>
        <link>https://lara.epfl.ch/w/lecture16_transcript?rev=1221730027&amp;do=diff</link>
        <description>NaturalLanguageProcessing-Lecture16

Instructor: (Christopher Manning)

Okay, hi, everyone.  So today I’m going to go through in some detail some of the ideas that I started on last week of how you can actually go about building a compositional semantic representation to provide some kind of handle on how you can start with meanings of words and some tactic structure, and actually put together a meaning for a complex sentence.  And so most of the work that’s gonna be talked about here is how can…</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/leon-repair-benchmarks?rev=1423227146&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2015-02-06T13:52:26+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>leon-repair-benchmarks</title>
        <link>https://lara.epfl.ch/w/leon-repair-benchmarks?rev=1423227146&amp;do=diff</link>
        <description>Leon System for Verification, Synthesis and Repair

The following list of benchmarks were used to evaluate our repair system.

Each benchmark contains a “fixme” comment indicating the place and kind of error introduced:

	*  Desugar.desugar1
	*  Desugar.desugar2
	* Desugar.desugar3
	*  Desugar.desugar4
	*  HeapSort.merge1
	*</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/leon-repair?rev=1423584863&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2015-02-10T17:14:23+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>leon-repair</title>
        <link>https://lara.epfl.ch/w/leon-repair?rev=1423584863&amp;do=diff</link>
        <description>Leon System for Verification, Synthesis and Repair

The following list of benchmarks were used to evaluate our repair system.

Each benchmark contains a “fixme” comment indicating the place and kind of error introduced:

	*  Compiler.desugar1
	*  Compiler.desugar2
	*  Compiler.desugar3
	*  Compiler.desugar4
	*  Compiler.desugar5</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/leon?rev=1434914748&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2015-06-21T21:25:48+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>leon</title>
        <link>https://lara.epfl.ch/w/leon?rev=1434914748&amp;do=diff</link>
        <description>Leon System for Verification, Synthesis and Repair

[The One, Leon Way]

Leon is an automated system for verifying, repairing, and synthesizing functional Scala programs.

The system can be tried out online, with no installation required, at the following link: 

&lt;http://leon.epfl.ch&gt;

Leon source code is publicly available on github:</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/lisp_seminar_nlp_2008?rev=1228498717&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2008-12-05T18:38:37+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>lisp_seminar_nlp_2008</title>
        <link>https://lara.epfl.ch/w/lisp_seminar_nlp_2008?rev=1228498717&amp;do=diff</link>
        <description>Next Boston Lisp Meeting: Monday November 24th 2008 at 1800 at MIT 34-401B
Gregory Marton will give a talk about the meanings of English words as programs.
&lt;http://fare.livejournal.com/136992.html&gt;

Gregory will introduce a way of thinking about the meanings of English
words as programs (c.f. SHRDLU), cast the problem of language learning
as a search through the space of possible programs, and show first
steps in learning. Gregory has created a system called Sepia that
makes it relatively easy t…</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/master_s_program?rev=1212678555&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2008-06-05T17:09:15+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>master_s_program</title>
        <link>https://lara.epfl.ch/w/master_s_program?rev=1212678555&amp;do=diff</link>
        <description>Master Program in EPFL I&amp;C School

Master programs at our school offer an intensive program with courses an oportunities for research through semester and summer projects, and a possibility of specializations in several exciting areas.  The program opens up many opportunities for graduated students, including PhD program at EPFL and other universities, as well as employment opportunities.</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/menu?rev=1568797355&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-09-18T11:02:35+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>menu</title>
        <link>https://lara.epfl.ch/w/menu?rev=1568797355&amp;do=diff</link>
        <description>&lt;li&gt;&lt;a href=&quot;http://lara.epfl.ch/w/Start&quot;&gt;About&lt;/a&gt;&lt;br/&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;http://lara.epfl.ch/w/Software&quot;&gt;Software&lt;/a&gt;&lt;br/&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;http://lara.epfl.ch/w/Teaching&quot;&gt;Teaching&lt;/a&gt;&lt;br/&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;http://lara.epfl.ch/w/Publications&quot;&gt;Publications&lt;/a&gt;&lt;br/&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;http://lara.epfl.ch/w/funding&quot;&gt;Funding&lt;/a&gt;&lt;br/&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;http://lara.epfl.ch/w/News&quot;&gt;News&lt;/a&gt;&lt;br/&gt;&lt;/li&gt;</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/minimization_of_state_machines?rev=1429630357&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2015-04-21T17:32:37+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>minimization_of_state_machines</title>
        <link>https://lara.epfl.ch/w/minimization_of_state_machines?rev=1429630357&amp;do=diff</link>
        <description>Minimization of Deterministic Finite State Machines

We consider deterministic finite state machine .

Goal: build a state machine  with the least number of states that accepts the language .

	*  we obtain a space-efficient, executable representation of a regular language</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/monadic_second-order_logic_over_trees?rev=1177421691&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2007-04-24T15:34:51+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>monadic_second-order_logic_over_trees</title>
        <link>https://lara.epfl.ch/w/monadic_second-order_logic_over_trees?rev=1177421691&amp;do=diff</link>
        <description>Monadic Second-Order Logic over Trees

	*  Tree Automata Techniques and Applications (Tata book)
	*  The MONA Project
	*  Timbook for Reachability Analysis and Tree Automata Calculations</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/monoid?rev=1178374171&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2007-05-05T16:09:31+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>monoid</title>
        <link>https://lara.epfl.ch/w/monoid?rev=1178374171&amp;do=diff</link>
        <description>Monoid

Monoid is a triple  where  such that

	*   is a semigroup and 
	*   is a neutral element for 

The second condition means that for all ,</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/msol_over_strings?rev=1210836377&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2008-05-15T09:26:17+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>msol_over_strings</title>
        <link>https://lara.epfl.ch/w/msol_over_strings?rev=1210836377&amp;do=diff</link>
        <description>MSOL over Strings

Syntax and Semantics of Weak Monadic Second-Order Logic over Strings

Explanation of the name:

	*  second-order logic: we can quantify not only over elements but also over sets and relations
	*  monadic: we cannot quantify over any relations, just unary relations, that is, sets</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/nenofar?rev=1235594220&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-02-25T21:37:00+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>nenofar</title>
        <link>https://lara.epfl.ch/w/nenofar?rev=1235594220&amp;do=diff</link>
        <description>Nenofar = Negation Normal Form Automated Reasoner

[Nenuphar = Water Lily]

Available downloads:

	*  a Linux binary of Nenofar compiled statically against libstdc++ and libc : &lt;http://lara.epfl.ch/~psuter/nenofar-dist/nenofar&gt;
	*  the compressed sources: &lt;http://lara.epfl.ch/~psuter/nenofar-dist/nenofar.tgz&gt;
	*  the benchmarks: &lt;http://lara.epfl.ch/~psuter/nenofar-dist/benchmarks.tgz&gt;

For more information:

	*  Philippe Suter
	*  Non-Clausal Satisfiability Modulo Theories (master's thesis by P…</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/news?rev=1489568483&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2017-03-15T10:01:23+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>news</title>
        <link>https://lara.epfl.ch/w/news?rev=1489568483&amp;do=diff</link>
        <description>LARA NEWS (Partial List)

See also the publications.



----------

2012

	*  Implicit Programming project funded with a Starting ERC Grant
	*  The second Rich Model Toolkit meeting of 2012 took place in Manchester
	*  Andrej Spielmann presents Synthesis for Unbounded Bitvector Arithmetic at IJCAR 2012
	*  Giuliano Losa presents Speculative Linearizability at PLDI 2012
	*  The first Rich Model Toolkit meeting of 2012 took place in</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/nicg?rev=1323870136&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-12-14T14:42:16+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>nicg</title>
        <link>https://lara.epfl.ch/w/nicg?rev=1323870136&amp;do=diff</link>
        <description>Non-Redundant Integer Cones - Resources

This page describes our work on computing maximal non-redundant integer cone generators. The algorithms, implementations, and results are described in the following technical report:

[Identifying Maximal Non-Redundant Integer Cone Generators]

As part of this search we have also explicitly computed all non-redundant integer cones modulo row and column permutations:</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/non-converging_iteration_in_reals?rev=1429631433&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2015-04-21T17:50:33+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>non-converging_iteration_in_reals</title>
        <link>https://lara.epfl.ch/w/non-converging_iteration_in_reals?rev=1429631433&amp;do=diff</link>
        <description>An example of a fixed point iteration not converging to a fixed point in one countable sequence



(draw figure)

Start from e.g. x=1/2.  Obtain a series converging to 1, but 1 is not a fixed point because .

This is because  is not continuous.  If it was continous (at least, continuous from the left), we would have the desired property.</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/note_on_buffer_overflows?rev=1225054845&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2008-10-26T22:00:45+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>note_on_buffer_overflows</title>
        <link>https://lara.epfl.ch/w/note_on_buffer_overflows?rev=1225054845&amp;do=diff</link>
        <description>Note on Buffer Overflows

A study published as a White Paper by Cisco Systems “Economic Impact of Network Security Threats”, describes virus Code Red,

“Code Red (2001)

The Code Red worm was a self-replicating malicious code that exploited a known vulnerability in Microsoft IIS servers. Code Red attempted
to connect to TCP port 80 on a randomly chosen host. When a successful connection to port 80 was achieved, the attacking host sent an
HTTP GET request to the victim, attempting to exploit a bu…</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/note_on_substitutions?rev=1174485477&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2007-03-21T14:57:57+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>note_on_substitutions</title>
        <link>https://lara.epfl.ch/w/note_on_substitutions?rev=1174485477&amp;do=diff</link>
        <description>On substitutions

Let t1[x:=t0] denote the result of substituting all occurrences of variable x in term t1 with the term t0.  These rules define substitution recursively:
x[x:=t0] = t2
y[x:=t0] = y   (for any variable y distinct from x)
c[x:=t0] = c   (for any constant symbol c)
f(t1,...,tn)[x:=t0] = f(t1[x:=t0],...,tn[x:=t0])</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/notes_on_context-free_grammars?rev=1174234281&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2007-03-18T17:11:21+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>notes_on_context-free_grammars</title>
        <link>https://lara.epfl.ch/w/notes_on_context-free_grammars?rev=1174234281&amp;do=diff</link>
        <description>Here is general information on Context-free Grammars.

Typically, in a context-free grammar one can have multiple productions of the form
N -&gt; w1
N -&gt; w2
M -&gt; w3
M -&gt; w4
M -&gt; w5
I use the notation that corresponds to Backus-Naur form
which collects all right-hand sides correspondig to same left-hand sides and separate the alternatives using the</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/ocaml_resources?rev=1175698910&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2007-04-04T17:01:50+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ocaml_resources</title>
        <link>https://lara.epfl.ch/w/ocaml_resources?rev=1175698910&amp;do=diff</link>
        <description>Ocaml Resources

	*  The OCaml programming language: &lt;http://caml.inria.fr/&gt; is convenient for writing implementations for this class because of its support for algebraic data types and pattern matching, which makes dealing with abstract syntax trees easier.

	*  &lt;http://www.csc.villanova.edu/~dmatusze/resources/ocaml/ocaml.html&gt; is a good crash-course in basic of OCaml. At the bottom of the file you are going to find pointers to the official OCaml manual and also to an introductory course given…</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/panagiotis_email?rev=1304700481&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-05-06T18:48:01+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>panagiotis_email</title>
        <link>https://lara.epfl.ch/w/panagiotis_email?rev=1304700481&amp;do=diff</link>
        <description>Hi everyone,

Here's a quick update with a quick overview of what needs doing for next
year. Viktor, please feel free to contact me if you have question or run
into trouble.

The executive summary is that all permissions have been granted and now all
that is left is for Hana to get the papers to the IEEE and ACM, so we're all
set.</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/parcon?rev=1582063059&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-02-18T22:57:39+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>parcon</title>
        <link>https://lara.epfl.ch/w/parcon?rev=1582063059&amp;do=diff</link>
        <description>EPFL CS-206: Parallelism and Concurrency

Click Here for the For 2020 Edition of EPFL Course CS-206, Parallelism and Concurrency</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/partial_order?rev=1238083937&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-03-26T17:12:17+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>partial_order</title>
        <link>https://lara.epfl.ch/w/partial_order?rev=1238083937&amp;do=diff</link>
        <description>Partial Orders

Partial ordering relation is a binary relation  that is reflexive, antisymmetric, and transitive, that is, the following properties hold for all :

	*  

	*  

	*  

If  is a set and  a binary relation on , we call the pair  a partial order</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/phantm?rev=1424610092&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2015-02-22T14:01:32+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>phantm</title>
        <link>https://lara.epfl.ch/w/phantm?rev=1424610092&amp;do=diff</link>
        <description>Phantm : PHP Analyzer for Type Mismatch

Welcome to the phantm wiki! Phantm analyzes PHP code statically (with optional help from dynamic instrumention). It has found many errors in real PHP applications.

News 05.10.2012: phantm 1.0.7 has been released, see</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/phd_positions?rev=1503411697&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2017-08-22T16:21:37+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>phd_positions</title>
        <link>https://lara.epfl.ch/w/phd_positions?rev=1503411697&amp;do=diff</link>
        <description>PhD Positions

[PhD EPFL]

Click Here for the Official Page

Open Positions: Laboratory for Automated Reasoning and Analysis (LARA) is generally looking for outstanding students interested in pursuing a doctoral (PhD) program in the area of verification, software analysis, automated reasoning, programming languages, and software reliability.  PhD students are expected to maintain active research activity, as well as attend doctoral classes and assist in teaching.</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/pmatching?rev=1194441913&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2007-11-07T14:25:13+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>pmatching</title>
        <link>https://lara.epfl.ch/w/pmatching?rev=1194441913&amp;do=diff</link>
        <description>Pattern matching project

Yet another page...

Attempt to link to another page..

SVN

All sources are available from a publicly accessible SVN repository. 

Valuable Papers

[1] T. Millstein, Practical Predicate Dispatch, OOPSLA'04, Oct. 24-28 2004

[2] M. Pettersson, A Term Pattern-Match Compiler Inspired by Finite Automata Theory</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/pong?rev=1384878155&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2013-11-19T17:22:35+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>pong</title>
        <link>https://lara.epfl.ch/w/pong?rev=1384878155&amp;do=diff</link>
        <description>Pong Designer : Game Programming by Demonstration

The increasing adoption of smartphones and tablets has
provided tens of millions of users with substantial
resources for computation, communication and sensing. The
availability of these resources has a huge potential to
positively transform our society and empower individuals.
Unfortunately, although the number of users has increased dramatically, the
number of developers is still limited by the high barrier
that existing programming environmen…</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/predicate_abstraction?rev=1239146557&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-04-08T01:22:37+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>predicate_abstraction</title>
        <link>https://lara.epfl.ch/w/predicate_abstraction?rev=1239146557&amp;do=diff</link>
        <description>Some predicate abstraction papers:

	*  Construction of abstract state graphs with PVS
	*  Boolean and Cartesian Abstraction for Model Checking C Programs, Thomas Ball, Andreas Podelski, Sriram K. Rajamani. TACAS 2001: 268-283 (paper in .PS format)
	*  Automatic Predicate Abstraction of C Programs, Thomas Ball, Rupak Majumdar, Todd D. Millstein, Sriram K. Rajamani. PLDI 2001: 203-213
	*  Bebop: a path-sensitive interprocedural dataflow engine, Thomas Ball, Sriram K. Rajamani. PASTE 2001: 97-103
…</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/preorder?rev=1175280760&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2007-03-30T20:52:40+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>preorder</title>
        <link>https://lara.epfl.ch/w/preorder?rev=1175280760&amp;do=diff</link>
        <description>Preorder

A (reflexive) preorder relation  on set  is a binary relation  that is reflexive and transitive, that is, these two properties hold:

	*  

	*  

Constructing a partial order from a preorder

Intuitively, preorder differs from partial order in that there are distinct elements that have same ordering properties with respect to other elements.  For such elements we therefore have</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/printingposters?rev=1271326130&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-04-15T12:08:50+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>printingposters</title>
        <link>https://lara.epfl.ch/w/printingposters?rev=1271326130&amp;do=diff</link>
        <description>Printing Posters

Here are some tips and tricks to prepare and print posters with the Reprographie service (a.k.a. repro).

EPFL Logos

Do not use a bitmap logo (JPG, PNG, etc.) but use the official vector logo instead, available here. Use the version in CMYK colors</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/programming_in_scala?rev=1348222311&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2012-09-21T12:11:51+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>programming_in_scala</title>
        <link>https://lara.epfl.ch/w/programming_in_scala?rev=1348222311&amp;do=diff</link>
        <description>Programming in Scala

The main recommended reference book for Scala:

	*  Programming in Scala, A comprehensive step-by-step guide, by Martin Odersky, Lex Spoon, and Bill Venners 

For more, see the Documentation section at &lt;http://www.scala-lang.org/&gt;</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/projects-old?rev=1414941343&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2014-11-02T16:15:43+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>projects-old</title>
        <link>https://lara.epfl.ch/w/projects-old?rev=1414941343&amp;do=diff</link>
        <description>Old Projects

Static code analysis for real-world Scala code base

Enterprises want to “manage” code quality, enforce code standards, flag dubious code (find bugs). 
Gist

Create an extensible static analysis tool based on the Scala front-end. Expose a simple</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/projects?rev=1635326716&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-10-27T11:25:16+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>projects</title>
        <link>https://lara.epfl.ch/w/projects?rev=1635326716&amp;do=diff</link>
        <description>Available Student Projects in LARA - EPFL Internal Page

General LARA Projects Suggestions: &lt;https://gitlab.epfl.ch/kuncak/student-projects/&gt;

In Spring 2022 we will accept only a limited number of semester projects of students who took Computer Language Processing or Formal Verification, because Viktor Kuncak is on a sabbatical.</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/publications?rev=1568796997&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-09-18T10:56:37+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>publications</title>
        <link>https://lara.epfl.ch/w/publications?rev=1568796997&amp;do=diff</link>
        <description>LARA Publications

Individual Publication Lists

Publication lists from home pages:

	*  Viktor Kuncak

Master's Theses (Partial List)

	*  Philippe Suter: Non-Clausal Satisfiability Modulo Theories
	*  Regis Blanc: Verification of Imperative Programs in Scala
	*  Remi Bonnet: Well-structured Petri Nets extensions with data
	*  Mikaël Mayer: Complete Program Synthesis for Linear Arithmetic
	*  Ersoy Bayramoglu: Programming with Undo
	*  Sebastian Gfeller: Robust Dynamically Deployed Static Analy…</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/publications2?rev=1292342100&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-12-14T16:55:00+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>publications2</title>
        <link>https://lara.epfl.ch/w/publications2?rev=1292342100&amp;do=diff</link>
        <description>Our publications

Note: you can search for LARA publications on Infoscience 




See also Master's theses:

	*  Remi Bonnet: Well-structured Petri Nets extensions with data
	*  Mikaël Mayer: Complete Program Synthesis for Linear Arithmetic
	*  Ersoy Bayramoglu: Programming with Undo
	*  Sebastian Gfeller: Robust Dynamically Deployed Static Analysis for Java
	*  Mirco Dotta: State Exploration of Scala Actor Programs
	*  Philippe Suter: Non-Clausal Satisfiability Modulo Theories
	*  Gizil Oguz: De…</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/pushdown_systems?rev=1178364753&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2007-05-05T13:32:33+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>pushdown_systems</title>
        <link>https://lara.epfl.ch/w/pushdown_systems?rev=1178364753&amp;do=diff</link>
        <description>Pushdown systems

Push down automaton and context-free grammars.

Summary of results.

	*  Stefan Schwoon's thesis: Model-Checking Pushdown Systems
	*  R. Alur, M. Benedikt, K. Etessami, P. Godefroid, T. Reps, and M. Yannakakis.  Analysis of Recursive State Machines</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/randomized_model_finder?rev=1183148415&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2007-06-29T22:20:15+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>randomized_model_finder</title>
        <link>https://lara.epfl.ch/w/randomized_model_finder?rev=1183148415&amp;do=diff</link>
        <description>Randomized Model Finder

 Cédric Jeanneret and Leander Eyer 

This project introduces a new method
using randomness to find model for first order logic
formulas. This new method has been tested on a simple
example and results, even far from well-known model
finder tool, are encouraging. This project also presents a
solver for TPTP problems based on KodKod.</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/rbound?rev=1400258326&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2014-05-16T18:38:46+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>rbound</title>
        <link>https://lara.epfl.ch/w/rbound?rev=1400258326&amp;do=diff</link>
        <description>Orb: Resource Bound Inference for Functional Programs

Orb is a tool for inferring symbolic resource bounds of purely functional Scala programs that use algebraic data types, recursive functions and nonlinear operations. The latest standalone version of Orb is available</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/reachable_pushdown_configurations_are_regular?rev=1306240160&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-05-24T14:29:20+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>reachable_pushdown_configurations_are_regular</title>
        <link>https://lara.epfl.ch/w/reachable_pushdown_configurations_are_regular?rev=1306240160&amp;do=diff</link>
        <description>Backward reachable pushdown configurations are regular

Examples:

	*  program with procedures that ensures proper use of a global lock
	*  Java stack inspection from security policies; accessing a local file system for logging purposes

We next show that in a push down system, the pre-image of a regular set of configurations is again a regular set of configurations.  Moreover, the new finite state machine for configurations can use the same set of states as the original one.  This gives an algo…</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/regsy-examples?rev=1275067781&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-05-28T19:29:41+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>regsy-examples</title>
        <link>https://lara.epfl.ch/w/regsy-examples?rev=1275067781&amp;do=diff</link>
        <description>Regsy - Examples

	*  Addition

unfold


# MONA Presburger predicates

# auxiliary predicates
pred xor(var0 x,y) = x&amp;~y | ~x&amp;y; 
pred at_least_two(var0 x,y,z) = x&amp;y | x&amp;z | y&amp;z;

# addition relation (p &quot;+&quot; q = r)
pred plus(var2 p,q,r) =
 ex2 c:                                                  # carry track
   0 notin c                                             # no carry-in
 &amp; all1 t:
     (t+1 in c &lt;=&gt; at_least_two(t in p, t in q, t in c)) # propagate carry
   &amp; (t in r &lt;=&gt; xor(xor(t in p, t …</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/regsy?rev=1294848508&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-01-12T17:08:28+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>regsy</title>
        <link>https://lara.epfl.ch/w/regsy?rev=1294848508&amp;do=diff</link>
        <description>RegSy: A Synthesizer for Regular Specifications over Unbounded Domains

RegSy (Regular Synthesis) is a synthesis tool that can be used to build functions from specification written in WS1S (or, equivalently, specifications given by automata, thanks to the WS1S-automata connection).</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/regular_expression?rev=1411121794&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2014-09-19T12:16:34+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>regular_expression</title>
        <link>https://lara.epfl.ch/w/regular_expression?rev=1411121794&amp;do=diff</link>
        <description>Regular expressions

Regular expressions are expressions denoting certain languages.  They are precisely those languages that can be built from the singleton languages , and  for each , using operations union (), concatenation (), and iteration () on languages.</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/regular_expressions_for_automata_with_parallel_inputs?rev=1429630357&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2015-04-21T17:32:37+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>regular_expressions_for_automata_with_parallel_inputs</title>
        <link>https://lara.epfl.ch/w/regular_expressions_for_automata_with_parallel_inputs?rev=1429630357&amp;do=diff</link>
        <description>Regular Expressions and Automata with Parallel Inputs

Given an alphabet , we consider a larger (but still finite) alphabet  for some .  Keep in mind that  is just one symbol; we often write it as



We can consider

	*  regular expression
	*  automata</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/rosa?rev=1383835351&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2013-11-07T15:42:31+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>rosa</title>
        <link>https://lara.epfl.ch/w/rosa?rev=1383835351&amp;do=diff</link>
        <description>Rosa: The Real Compiler

Rosa is publicly available on GitHub.</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/sav?rev=1464950792&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2016-06-03T12:46:32+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>sav</title>
        <link>https://lara.epfl.ch/w/sav?rev=1464950792&amp;do=diff</link>
        <description>Synthesis, Analysis, and Verification

----------

Here you can access the archives and the latest edition of the course Synthesis, Analysis and Verification.

The latest edition of the course: SAV 2017

Previous editions are: SAV 2015, SAV 2013, SAV 2012, SAV 2011, SAV 2010, SAV 2009, SAV 2008

----------</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/sav07?rev=1189952048&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2007-09-16T16:14:08+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>sav07</title>
        <link>https://lara.epfl.ch/w/sav07?rev=1189952048&amp;do=diff</link>
        <description>Software Analysis and Verification (March-June 2007 Class)

This class is taught next in Spring 2008.

Tools for automated analysis and verification of software can greately improve reliability of software that we use every day.   The underlying techniques are also used for compiler   optimizations and program understanding.  In recent years, new algorithms and combinations of existing techniques have made such tools more effective than in the past.  This course gives an overview of basic techni…</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/sav07_future_lectures?rev=1181901483&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2007-06-15T11:58:03+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>sav07_future_lectures</title>
        <link>https://lara.epfl.ch/w/sav07_future_lectures?rev=1181901483&amp;do=diff</link>
        <description>Probabilistic techniques

	*  Daikon invariant generator
	*  Program verification as probabilistic inference
	*  Inferring bugs from within

Expressive type systems

	*  Scala language
	*  ATS
	*  Type-Refinements.info</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/sav07_homework_1?rev=1176406489&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2007-04-12T21:34:49+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>sav07_homework_1</title>
        <link>https://lara.epfl.ch/w/sav07_homework_1?rev=1176406489&amp;do=diff</link>
        <description>SAV07 Homework 1

Here is the [Homework 1 PDF] (with some corrected typos).

Here are some example ocaml programs that may help you get started with using ocaml (but see also &lt;http://caml.inria.fr/&gt; ).  Please remove the .txt extension
when saving the file.

	*  
	*   

Note that you will need to use a slightly different syntax tree compared to one in formulas.ml, because the quantifiers in your homework are bounded.</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/sav07_homework_1_solution?rev=1174302127&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2007-03-19T12:02:07+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>sav07_homework_1_solution</title>
        <link>https://lara.epfl.ch/w/sav07_homework_1_solution?rev=1174302127&amp;do=diff</link>
        <description>Task 1

The property



holds. Namely, suppose  .
Then there is a y such
that  and .  Therefore,
 and .  From  and  we
have . Similarly,
from  and  we
have .  Therefore, .

Task 2

The property 



does not hold.  As an example, take A={1,2}, B={p,q} and let</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/sav07_homework_2?rev=1175883323&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2007-04-06T20:15:23+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>sav07_homework_2</title>
        <link>https://lara.epfl.ch/w/sav07_homework_2?rev=1175883323&amp;do=diff</link>
        <description>Homework 2

Quantifier Elimination

Consider a fragment of Presburger arithmetic where atomic formulas are equalities  or inequalities of the form , for arbitrary integer variables  and arbitrary constants .
F ::= A | (F&amp;F) | (F|F) | ~F | ALL v.F | EX v.F
A ::= v=v | v + K ≤ v
K ::= ... -2 | -1 | 0 | 1 | 2 | ...
v ::= x | y | z | ...</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/sav07_homework_3?rev=1176649640&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2007-04-15T17:07:20+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>sav07_homework_3</title>
        <link>https://lara.epfl.ch/w/sav07_homework_3?rev=1176649640&amp;do=diff</link>
        <description>Forward and backward propagation

Let  denote the result of propagating backward the error conditions, that is, the negation of postcondition.  We define  by



for all .  Here for any set of states  we write  for the complement of , that is, the set</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/sav07_homework_4?rev=1177446472&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2007-04-24T22:27:52+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>sav07_homework_4</title>
        <link>https://lara.epfl.ch/w/sav07_homework_4?rev=1177446472&amp;do=diff</link>
        <description>Forthcoming SAV07 Homework 4 Solution.

THE PARTS BELOW ARE DUE ON APRIL 19

Weakest preconditions and relations

Consider a guarded command language with one variable, denoted x, and constructs
assume F
assert F
havoc(x)
c1 [] c2
c1 ; c2
Assume that F can only mention x as the only variable, which takes values from some set</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/sav07_homework_4_solution?rev=1182024724&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2007-06-16T22:12:04+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>sav07_homework_4_solution</title>
        <link>https://lara.epfl.ch/w/sav07_homework_4_solution?rev=1182024724&amp;do=diff</link>
        <description>This is a sketch of the solution of SAV07 Homework 4

Part 1



Then we have 

.



Then we have .

Note that we have .

Basically,  and  both act as a left zeros of  for the relations of the form . 

Part 2

It is easiest to use the definition of Galois connection given by</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/sav07_lecture_1?rev=1180865641&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2007-06-03T12:14:01+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>sav07_lecture_1</title>
        <link>https://lara.epfl.ch/w/sav07_lecture_1?rev=1180865641&amp;do=diff</link>
        <description>Lecture 1

This is introductory lecture to sav07.

Here are the [slides for Lecture 1].

A good background reading for this course are some parts of Gallier Logic Book although we will review some of them.

Over of the material

Describe here what we do in which lecture.</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/sav07_lecture_2?rev=1175625100&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2007-04-03T20:31:40+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>sav07_lecture_2</title>
        <link>https://lara.epfl.ch/w/sav07_lecture_2?rev=1175625100&amp;do=diff</link>
        <description>Lecture 2

Will soon post a clean PDF version of our notes

Manually proving an example

For software verification. Programs must be represented as logical formulas. These logical formulas can be used for proving invariants. This lecture explains the base theory about Propositional logic, First Order logic and Relations.</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/sav07_lecture_2_skeleton?rev=1174158406&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2007-03-17T20:06:46+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>sav07_lecture_2_skeleton</title>
        <link>https://lara.epfl.ch/w/sav07_lecture_2_skeleton?rev=1174158406&amp;do=diff</link>
        <description>Lecture 2

Manually proving an example

Recall our example from Lecture 1, with a loop invariant:


    public static int sum(int a0, int n0)
   /*:
     requires &quot;a0 &gt; 0 &amp; n0 &gt; 0&quot;
     ensures &quot;result &gt; 0&quot;
   */
    {
        int res = 0, a = a0, n = n0;
        while //: inv &quot;a &gt; 0 &amp; res &gt;= 0 &amp; (n = n0 | res &gt; 0)&quot;
            (n &gt; 0)
        {
            a = 2*a;
            res = res + a;
            n = n - 1;
        }
        return res;
    }</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/sav07_lecture_3?rev=1176881986&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2007-04-18T09:39:46+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>sav07_lecture_3</title>
        <link>https://lara.epfl.ch/w/sav07_lecture_3?rev=1176881986&amp;do=diff</link>
        <description>Lecture 3

Scribe: Yuanjian

Summary of what we are doing in today's class:



Verification condition generation: converting programs into formulas

Context

Recall that we can

	*  represent programs using guarded command language, e.g. desugaring of 'if' into non-deterministic choice and assume</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/sav07_lecture_3_skeleton?rev=1174483643&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2007-03-21T14:27:23+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>sav07_lecture_3_skeleton</title>
        <link>https://lara.epfl.ch/w/sav07_lecture_3_skeleton?rev=1174483643&amp;do=diff</link>
        <description>Lecture 3 (Skeleton)

Summary of what we are doing in today's class:



Verification condition generation: converting programs into formulas

Context

Recall that we can

	*  represent programs using guarded command language, e.g. desugaring of 'if' into non-deterministic choice and assume</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/sav07_lecture_4?rev=1175098473&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2007-03-28T18:14:33+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>sav07_lecture_4</title>
        <link>https://lara.epfl.ch/w/sav07_lecture_4?rev=1175098473&amp;do=diff</link>
        <description>Lecture 4

The structure of this lecture is similar to the previous one:



Today, we extend the approach from last lecture (both generating and proving formulas) to support data structures such as references and arrays.

We use weakest preconditions, although you could also use strongest postconditions or any other variants of the conversion from programs to formulas.</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/sav07_lecture_4_skeleton?rev=1174911254&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2007-03-26T14:14:14+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>sav07_lecture_4_skeleton</title>
        <link>https://lara.epfl.ch/w/sav07_lecture_4_skeleton?rev=1174911254&amp;do=diff</link>
        <description>Lecture 4 Skeleton

The structure of this lecture is similar to the previous one:



Today, we extend the approach from last lecture (both generating and proving formulas) to support data structures such as references and arrays.

We use weakest preconditions, although you could also use strongest postconditions or any other variants of the conversion from programs to formulas.</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/sav07_lecture_5?rev=1175635157&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2007-04-03T23:19:17+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>sav07_lecture_5</title>
        <link>https://lara.epfl.ch/w/sav07_lecture_5?rev=1175635157&amp;do=diff</link>
        <description>Lecture 5

Two important techniques:

	*  Nelson-Oppen combination method
	*  Proof search

Basic idea of Nelson-Oppen combination

We mentioned decision procedures for

	*  quantifier-free Presburger arithmetic: by small model property
	*  quantifier-free uninterpreted function symbols: by congruence closure</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/sav07_lecture_5_skeleton?rev=1175115722&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2007-03-28T23:02:02+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>sav07_lecture_5_skeleton</title>
        <link>https://lara.epfl.ch/w/sav07_lecture_5_skeleton?rev=1175115722&amp;do=diff</link>
        <description>Lecture 5 Skeleton

Two important techniques:

	*  Nelson-Oppen combination method
	*  Proof search

Basic idea of Nelson-Oppen combination

We mentioned decision procedures for

	*  quantifier-free Presburger arithmetic: by small model property
	*  quantifier-free uninterpreted function symbols: by congruence closure</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/sav07_lecture_6?rev=1180374028&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2007-05-28T19:40:28+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>sav07_lecture_6</title>
        <link>https://lara.epfl.ch/w/sav07_lecture_6?rev=1180374028&amp;do=diff</link>
        <description>Lecture 6

Resolution theorem proving

Summary of Transformation to Clauses

Resolution operates on sets of clauses, which is essentially a disjunctive normal form of formulas without existential quantifiers.  Skolemization is the way to remove existential quantifiers at the cost of introducing new uninterpreted function symbols; skolemization preserves satisfiability.</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/sav07_lecture_6_skeleton?rev=1175635623&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2007-04-03T23:27:03+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>sav07_lecture_6_skeleton</title>
        <link>https://lara.epfl.ch/w/sav07_lecture_6_skeleton?rev=1175635623&amp;do=diff</link>
        <description>Lecture 6 Skeleton

Resolution theorem proving

Summary of Transformation to Clauses

Resolution operates on sets of clauses, which is essentially a disjunctive normal form of formulas without existential quantifiers.  Skolemization is the way to remove existential quantifiers at the cost of introducing new uninterpreted function symbols; skolemization preserves satisfiability.</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/sav07_lecture_7?rev=1239146807&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-04-08T01:26:47+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>sav07_lecture_7</title>
        <link>https://lara.epfl.ch/w/sav07_lecture_7?rev=1239146807&amp;do=diff</link>
        <description>Lecture 7: Formulas as a unifying domain for static analysis

General setup

Analysis domain based on formulas and main operations:

	*   - set of all first-order formulas (or another set closed under propositional operations and quantifiers)
	*   - subset of formulas that we use as our analysis domain, typically finite.  If we used abstract interpretation framework, we would have</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/sav07_lecture_7_skeleton?rev=1175684886&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2007-04-04T13:08:06+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>sav07_lecture_7_skeleton</title>
        <link>https://lara.epfl.ch/w/sav07_lecture_7_skeleton?rev=1175684886&amp;do=diff</link>
        <description>Lecture 7: Formulas as a unifying domain for static analysis

General setup

Analysis domain based on formulas and main operations:

	*   - set of all first-order formulas (or other set closed under propositional operations and quantifiers)
	*   - subset of formulas that we use as our analysis domain, e.g. finite.  If we used abstract interpretation framework, we would have</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/sav07_lecture_8?rev=1176380173&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2007-04-12T14:16:13+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>sav07_lecture_8</title>
        <link>https://lara.epfl.ch/w/sav07_lecture_8?rev=1176380173&amp;do=diff</link>
        <description>Lecture 8

Substitution theorem

Recall the statement in the optional part of Homework 1.

Review of

	*  semantics of first-order logic
	*  definition of capture-avoiding substitution and the set of free variables
	*  structural induction on algebraic data types and comparison to induction on natural numbers</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/sav07_lecture_8_skeleton?rev=1176380144&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2007-04-12T14:15:44+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>sav07_lecture_8_skeleton</title>
        <link>https://lara.epfl.ch/w/sav07_lecture_8_skeleton?rev=1176380144&amp;do=diff</link>
        <description>Lecture 8 Skeleton

Substitution theorem

Recall the statement in the optional part of Homework 1.

Review of

	*  semantics of first-order logic
	*  definition of capture-avoiding substitution and the set of free variables
	*  structural induction on algebraic data types and comparison to induction on natural numbers</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/sav07_lecture_9?rev=1178897189&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2007-05-11T17:26:29+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>sav07_lecture_9</title>
        <link>https://lara.epfl.ch/w/sav07_lecture_9?rev=1178897189&amp;do=diff</link>
        <description>Lecture 9: Fixpoints in static analysis



Recall formula propagation from Lecture 7.  See correctness of formula propagation.

Static analysis as equation solving in a lattice

If instead of formulas as  we have elements of some lattice, this condition becomes



(where sp in now denotes operator on states and not formulas).</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/sav07_lecture_9_skeleton?rev=1176976419&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2007-04-19T11:53:39+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>sav07_lecture_9_skeleton</title>
        <link>https://lara.epfl.ch/w/sav07_lecture_9_skeleton?rev=1176976419&amp;do=diff</link>
        <description>Lecture 9 Skeleton



Recall formula propagation from Lecture 7.  See correctness of formula propagation.

Static analysis as equation solving in a lattice

If instead of formulas as  we have elements of some lattice, this condition becomes



(where sp in now denotes operator on states and not formulas).</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/sav07_lecture_10?rev=1177443624&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2007-04-24T21:40:24+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>sav07_lecture_10</title>
        <link>https://lara.epfl.ch/w/sav07_lecture_10?rev=1177443624&amp;do=diff</link>
        <description>Lecture 10

Guest lecture by Andrey Rybalchenko:

	*  Andrey's web page with links to papers
	*  Links to paper pdfs</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/sav07_lecture_10_skeleton?rev=1176976407&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2007-04-19T11:53:27+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>sav07_lecture_10_skeleton</title>
        <link>https://lara.epfl.ch/w/sav07_lecture_10_skeleton?rev=1176976407&amp;do=diff</link>
        <description>Lecture 10 Skeleton

Guest lecture by Andrey Rybalchenko:

	*  Andrey's web page with links to papers
	*  Links to paper pdfs

ASTREE Static Analyzer

A Static Analyzer for Large Safety-Critical Software

Link to paper

Section 5.4: A remark on notation:

	*  if  denotes the state and  is a deterministic statement, then</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/sav07_lecture_11?rev=1177517872&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2007-04-25T18:17:52+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>sav07_lecture_11</title>
        <link>https://lara.epfl.ch/w/sav07_lecture_11?rev=1177517872&amp;do=diff</link>
        <description>Lecture 11

Modular analysis of procedures

Inlining specifications.  Last part of SAV07 Homework 4.

Postconditions that refer to values of variables in the precondition.

The meaning of modifies clauses.

ASTREE Static Analyzer

The Octagon Abstract Domain

Link to paper

A Static Analyzer for Large Safety-Critical Software</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/sav07_lecture_11_skeleton?rev=1177515863&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2007-04-25T17:44:23+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>sav07_lecture_11_skeleton</title>
        <link>https://lara.epfl.ch/w/sav07_lecture_11_skeleton?rev=1177515863&amp;do=diff</link>
        <description>Modular analysis of procedures

Inlining specifications.  Last part of SAV07 Homework 4.

Postconditions that refer to values of variables in the precondition.

The meaning of modifies clauses.

ASTREE Static Analyzer

The Octagon Abstract Domain

Link to paper

A Static Analyzer for Large Safety-Critical Software</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/sav07_lecture_12?rev=1177945133&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2007-04-30T16:58:53+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>sav07_lecture_12</title>
        <link>https://lara.epfl.ch/w/sav07_lecture_12?rev=1177945133&amp;do=diff</link>
        <description>Constraint-based analysis

	*  Sting tool, Constraint-based Linear-Relations Analysis

Key techniques:

	*  postulate a linear template invariant
	*  formulate standard condition for inductive invariant over templates
	*  eliminate implication using Farkas lemma
	*  remove existential quantifiers using</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/sav07_lecture_12_skeleton?rev=1177587830&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2007-04-26T13:43:50+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>sav07_lecture_12_skeleton</title>
        <link>https://lara.epfl.ch/w/sav07_lecture_12_skeleton?rev=1177587830&amp;do=diff</link>
        <description>Constraint-based analysis

	*  Sting tool, Constraint-based Linear-Relations Analysis

Key techniques:

	*  postulate a linear template invariant
	*  formulate standard condition for inductive invariant over templates
	*  eliminate implication using Farkas lemma
	*  remove existential quantifiers using</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/sav07_lecture_13?rev=1178112050&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2007-05-02T15:20:50+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>sav07_lecture_13</title>
        <link>https://lara.epfl.ch/w/sav07_lecture_13?rev=1178112050&amp;do=diff</link>
        <description>Predicate abstraction techniques (first part)

See predicate abstraction papers.

Three aspects:

	*  abstraction
	*  model checking (finite state or pushdown system)
	*  counterexample-driven refinement

Today: abstraction

Abstraction

Main readings:

	*  Construction of abstract state graphs with PVS
	*  Boolean and Cartesian Abstraction for Model Checking C Programs, Thomas Ball, Andreas Podelski, Sriram K. Rajamani. TACAS 2001: 268-283 (paper in .PS format)
	*  Automatic Predicate Abstracti…</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/sav07_lecture_13_skeleton?rev=1178111988&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2007-05-02T15:19:48+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>sav07_lecture_13_skeleton</title>
        <link>https://lara.epfl.ch/w/sav07_lecture_13_skeleton?rev=1178111988&amp;do=diff</link>
        <description>Predicate abstraction techniques

See predicate abstraction papers.

Three aspects:

	*  abstraction
	*  model checking (finite state or pushdown system)
	*  counterexample-driven refinement

Today: abstraction

Abstraction

Main readings:

	*  Construction of abstract state graphs with PVS
	*  Boolean and Cartesian Abstraction for Model Checking C Programs, Thomas Ball, Andreas Podelski, Sriram K. Rajamani. TACAS 2001: 268-283 (paper in .PS format)
	*  Automatic Predicate Abstraction of C Progr…</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/sav07_lecture_14_skeleton?rev=1178211802&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2007-05-03T19:03:22+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>sav07_lecture_14_skeleton</title>
        <link>https://lara.epfl.ch/w/sav07_lecture_14_skeleton?rev=1178211802&amp;do=diff</link>
        <description>Predicate abstraction techniques continued

See predicate abstraction papers.

Recall three aspects:

	*  abstraction
	*  model checking (finite state or pushdown system)
	*  counterexample-driven refinement

Today we deal with the last two.

Reachability checking for finite state systems using BDDs</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/sav07_lecture_15?rev=1178791075&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2007-05-10T11:57:55+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>sav07_lecture_15</title>
        <link>https://lara.epfl.ch/w/sav07_lecture_15?rev=1178791075&amp;do=diff</link>
        <description>Lecture 15

	*  Introduction to using MSOL over strings to verify linked lists

	*  Strings and languages

	*  Finite state machine
	*  Determinization of finite state machine

Automata and languages:

	*  Introduction to the Theory of Computation
	*  Introduction to Automata Theory, Languages, and Computation

Verification of linked structures using automata or MSOL:

	*  Field constraint analysis
	*  Pointer Assertion Logic Engine</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/sav07_lecture_15_skeleton?rev=1178528166&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2007-05-07T10:56:06+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>sav07_lecture_15_skeleton</title>
        <link>https://lara.epfl.ch/w/sav07_lecture_15_skeleton?rev=1178528166&amp;do=diff</link>
        <description>Finite state machines and verification of programs that manipulate linked lists

	*  Introduction to using MSOL over strings to verify linked lists

	*  Strings and languages

	*  Finite state machine
	*  Determinization of finite state machine
	*  Finite state machine with epsilon transitions
	*  Closure properties of finite state machines
	*  Regular expression
	*  Equivalence of finite state machine and regular expression languages

	*  Using automata to decide Presburger arithmetic
	*  MSOL …</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/sav07_lecture_16?rev=1178815117&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2007-05-10T18:38:37+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>sav07_lecture_16</title>
        <link>https://lara.epfl.ch/w/sav07_lecture_16?rev=1178815117&amp;do=diff</link>
        <description>Lecture 16

(A sequel to SAV07 Lecture 15.)

	*  Finite state machine with epsilon transitions
	*  Closure properties of finite state machines
	*  Regular expression
	*  Equivalence of finite state machine and regular expression languages

	*  Using automata to decide Presburger arithmetic
	*  MSOL over strings

Automata and languages:

	*  Introduction to the Theory of Computation
	*  Introduction to Automata Theory, Languages, and Computation

MSOL:

	*  The MONA Project

More

	*  LASH Toolse…</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/sav07_lecture_17?rev=1179267145&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2007-05-16T00:12:25+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>sav07_lecture_17</title>
        <link>https://lara.epfl.ch/w/sav07_lecture_17?rev=1179267145&amp;do=diff</link>
        <description>Lecture 17

A sequel to SAV07 Lecture 16 and SAV07 Lecture 15.

Preliminary reading:

	*  Tree Automata Techniques and Applications (Tata book), pages 13-20
	*  &lt;http://www.brics.dk/mona/papers/implementation-secrets/journal.pdf&gt;

Topics to cover:

	*  Using automata to decide MSOL over finite strings
	*  Regular expressions for automata with parallel inputs
	*  Expressing finite automata in MSOL over strings
	*  Expressing regular expressions in MSOL over strings

	*  Encoding lists using MSOL …</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/sav07_lecture_18?rev=1182282200&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2007-06-19T21:43:20+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>sav07_lecture_18</title>
        <link>https://lara.epfl.ch/w/sav07_lecture_18?rev=1182282200&amp;do=diff</link>
        <description>Lecture 13: Concurrency

(See also SAV07 Lecture 26.)

A language with concurrency primitives
c ::= [r]  |  c[]c  |  c;c  |  c*  |  c||c  |  atomic(c)
[r] - havoc, assume, assert, assignments, any simple command, given by relation r

Examples

What are the possible results?</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/sav07_lecture_19?rev=1180606443&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2007-05-31T12:14:03+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>sav07_lecture_19</title>
        <link>https://lara.epfl.ch/w/sav07_lecture_19?rev=1180606443&amp;do=diff</link>
        <description>Lecture 19

(Presented by Ruzica Piskac.)

Push-down automata

Equivalence of push-down automata and context-free grammars.

Intersection of a regular and context-free language.

First-order theorem provers

Completeness of propositional resolution.</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/sav07_lecture_20?rev=1243412910&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-05-27T10:28:30+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>sav07_lecture_20</title>
        <link>https://lara.epfl.ch/w/sav07_lecture_20?rev=1243412910&amp;do=diff</link>
        <description>Lecture 20: Interprocedural Analysis - Introduction

intraprocedural analysis = analysis for language without procedures

interprocedural analysis = analysis for language with procedures

Given intraprocedural analysis, how do we create interprocedural analysis?</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/sav07_lecture_21?rev=1243412785&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-05-27T10:26:25+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>sav07_lecture_21</title>
        <link>https://lara.epfl.ch/w/sav07_lecture_21?rev=1243412785&amp;do=diff</link>
        <description>Lecture 21: More on interprocedural analysis

The idea is to avoid having to specify contracts for all procedures

	*  abstract interpretation for general case (precision depends on the example)
		*  decidability results: no approximation, but works for restricted classes of programs (which can be obtained by abstract interpretation)</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/sav07_lecture_22?rev=1429630357&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2015-04-21T17:32:37+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>sav07_lecture_22</title>
        <link>https://lara.epfl.ch/w/sav07_lecture_22?rev=1429630357&amp;do=diff</link>
        <description>Lecture 22: Set constraints

Introduction

We can view analysis and verification as two stage process
program + properties =&gt; system of equations/formulas =&gt; solution
In general, the system of equations (for a program expressed as one loop) is an approximation of the condition</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/sav07_lecture_23?rev=1429630357&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2015-04-21T17:32:37+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>sav07_lecture_23</title>
        <link>https://lara.epfl.ch/w/sav07_lecture_23?rev=1429630357&amp;do=diff</link>
        <description>Lecture 23: Analysis of procedures, objects, and pointers

Announcements:

	*  semester and master's projects
	*  SAV07 mini projects

(Continuing sav07_lecture_22.)

Analysis of object-oriented languages

 * Fast and Effective Optimization of Statically Typed Object-Oriented Languages (includes description of Rapid Type Analysis algorithm)

Example of the problem

 Given the following object-oriented code :</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/sav07_lecture_24?rev=1211360580&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2008-05-21T11:03:00+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>sav07_lecture_24</title>
        <link>https://lara.epfl.ch/w/sav07_lecture_24?rev=1211360580&amp;do=diff</link>
        <description>Lecture 24: Pointer and shape analysis

Always active area of research.

We could say: “every analysis grows until it incorporates a pointer analysis”.

Introduction

Pointers and references: a way to manipulate values through a level of indirection.</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/sav07_lecture_25?rev=1182414168&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2007-06-21T10:22:48+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>sav07_lecture_25</title>
        <link>https://lara.epfl.ch/w/sav07_lecture_25?rev=1182414168&amp;do=diff</link>
        <description>Lecture 25: Presentation of relevant papers

Format of this class

For each project group:

	*  pick one paper, as relevant to your project as possible
	*  jointly present the paper in the class (if possible every group member should talk)
	*  also give a status report on where your project is and what remains to be done</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/sav07_lecture_26?rev=1183417915&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2007-07-03T01:11:55+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>sav07_lecture_26</title>
        <link>https://lara.epfl.ch/w/sav07_lecture_26?rev=1183417915&amp;do=diff</link>
        <description>Concurrency II

(See also SAV07 Lecture 18.)

Concurrency aspects of Java

	*  Ways to create (“spawn” or “fork”) threads
	*  locks, global and per-object, relationship to atomicity

Ways to create (&quot;spawn&quot; or &quot;fork&quot;) threads

There are two ways to create threads in Java:  subclassing the Thread class or using the Runnable interface:</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/sav07_lecture_27?rev=1181903043&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2007-06-15T12:24:03+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>sav07_lecture_27</title>
        <link>https://lara.epfl.ch/w/sav07_lecture_27?rev=1181903043&amp;do=diff</link>
        <description>Lecture 27: Project presentations

See and update SAV07 Projects page.

Presentations will start promptly at 14:15.  Please come a few minutes earlier to prepare.

Each talk will be 15 minutes, followed by 5 minute questions and break.  Times will be strictly enforced, so make sure your presentations finishes in 15 minutes.</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/sav07_mini_projects?rev=1181902090&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2007-06-15T12:08:10+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>sav07_mini_projects</title>
        <link>https://lara.epfl.ch/w/sav07_mini_projects?rev=1181902090&amp;do=diff</link>
        <description>SAV'07 Mini projects

2 goals

	*  do something interesting
	*  practice communication of research results (make results look interesting and promising)

Final result:

	*  if implementation, an implemented system
	*  in any case: write a 5-10 page paper in conference format, describing</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/sav07_project_ideas?rev=1178116439&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2007-05-02T16:33:59+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>sav07_project_ideas</title>
        <link>https://lara.epfl.ch/w/sav07_project_ideas?rev=1178116439&amp;do=diff</link>
        <description>Project Ideas

	*  you are not restricted to these ideas, but please discuss the suggestions with me first
	*  some of the projects below have been assigned already
	*  once you know which project you will like to do and you discussed it with me, email me with project title and names of people on the project</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/sav07_projects?rev=1184327717&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2007-07-13T13:55:17+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>sav07_projects</title>
        <link>https://lara.epfl.ch/w/sav07_projects?rev=1184327717&amp;do=diff</link>
        <description>SAV07 Projects

Please create or update the page for your project but keep the ordering of projects.

	*  Verifying pattern matching with guards
	*  Randomized Model Finder
	*  Verifying data structures using Jahob
	*  Verifying Dijkstra's algorithm in Jahob
	*  Expressive Power of a Fragment of WS1S
	*  Software Verification Tools Overview
	*  Variable range analysis
	*  Interfaces for atomicity
	*  Constraint based analysis of Java using Jahob and AMRC
	*  Alloy in Jahob

More information

	* …</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/sav07_quiz_answers?rev=1174420654&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2007-03-20T20:57:34+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>sav07_quiz_answers</title>
        <link>https://lara.epfl.ch/w/sav07_quiz_answers?rev=1174420654&amp;do=diff</link>
        <description>These are answers to selected  questions.

	*  Is the following statement valid when x is a real number and f is a function from reals to reals, and why:
  &quot;If (f(x))^2 = 4, then f(x)=2&quot;
	*  Answer: Not valid.  Let x be an arbitrary element. Take as t interpretation  a function f and such that f(x)=-2.</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/sav07_resource?rev=1207480855&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2008-04-06T13:20:55+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>sav07_resource</title>
        <link>https://lara.epfl.ch/w/sav07_resource?rev=1207480855&amp;do=diff</link>
        <description>Resources on Software Analysis and Verification

Related lecture notes and books

	*  Resources for a CMU Course
	*  CS242 from Stanford by John Mitchell
	*  Decision procedures lectures by Jochen Hoenicke and Andreas Podelski
	*  Proof Theory material
	*  The KeY Approach
	*  Decision procedures book with slides
	*  Language proof and logic
	*  The Calculus of Computation: Decision Procedures with Applications to Verification
	*  Lecture notes on static analysis by Michael Schwartzbach (section…</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/sav08?rev=1203090510&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2008-02-15T16:48:30+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>sav08</title>
        <link>https://lara.epfl.ch/w/sav08?rev=1203090510&amp;do=diff</link>
        <description>Click here for Software Analysis and Verification</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/sav09?rev=1235072559&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-02-19T20:42:39+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>sav09</title>
        <link>https://lara.epfl.ch/w/sav09?rev=1235072559&amp;do=diff</link>
        <description>Perhaps you were looking for the SAV 09 main page?</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/sav11?rev=1298153885&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-02-19T23:18:05+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>sav11</title>
        <link>https://lara.epfl.ch/w/sav11?rev=1298153885&amp;do=diff</link>
        <description>Perhaps you are looking for SAV 2011?

For SAV 2011, please see: &lt;http://lara.epfl.ch/w/sav11:top&gt;</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/scalaz3?rev=1330342228&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2012-02-27T12:30:28+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>scalaz3</title>
        <link>https://lara.epfl.ch/w/scalaz3?rev=1330342228&amp;do=diff</link>
        <description>Scala^Z3: Integration of Scala and Z3

Distribution

The sources are now available on GitHub. Please use GitHub's issue tracker to report bugs or suggest improvements. Questions should be asked on Stack Overflow, preferably tagged with [z3] and [scala].

Paper and Presentation</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/scp?rev=1311356294&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-07-22T19:38:14+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>scp</title>
        <link>https://lara.epfl.ch/w/scp?rev=1311356294&amp;do=diff</link>
        <description>SCP - Constraint Programming in Scala

	*  The sources of SCP (also known as Kaplan) bundled with Leon are available here.

	*  You will need the Z3 and ScalaZ3 libraries to compile and run the systems.

	*  The related Leon verification system.</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/semantic?rev=1382305228&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2013-10-20T23:40:28+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>semantic</title>
        <link>https://lara.epfl.ch/w/semantic?rev=1382305228&amp;do=diff</link>
        <description>Resources and papers on semantic-enriched text

[Prolog and Natural Language Analysis]

Courses

	*  EACL Links
	*  Natural Language Processing at Stanford, by Manning
		*  lecture16 transcript


	*  Natural (Language) Temporal Logic: Reasoning about Absolute and Relative Time
	*  [Automatic Inspection of Industrial Use Case Models]

Resource:

	*  &lt;http://www.delph-in.net/erg/&gt;

Computational Semantics

	*  [Interpretation as Abduction]

	*  lisp seminar nlp 2008

	*  work by Michael Collins at…</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/semigroup?rev=1178374236&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2007-05-05T16:10:36+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>semigroup</title>
        <link>https://lara.epfl.ch/w/semigroup?rev=1178374236&amp;do=diff</link>
        <description>Semigroup

Semigroup is a pair  where  such that  is associative, that is, for all ,</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/simple_linked_list_operation_in_jahob?rev=1179136907&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2007-05-14T12:01:47+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>simple_linked_list_operation_in_jahob</title>
        <link>https://lara.epfl.ch/w/simple_linked_list_operation_in_jahob?rev=1179136907&amp;do=diff</link>
        <description>Simple linked list operation in Jahob

The following is an example of a method and its annotation in the Jahob verification system.


class Node {
    public /*: claimedby List */ Node next;
}
class List
{
   private static Node first;  
   /*:
     public static specvar content :: objset;
     vardefs &quot;content == {x. x ~= null &amp; (first,x) : {(v,w). v..Node.next=w}^*}&quot;;

     public static specvar pointed :: &quot;obj =&gt; bool&quot;;
     public vardefs &quot;pointed == (% n. EX x. x ~= null &amp; x..Node.next = n)…</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/sizedatatree.java?rev=1233314055&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-01-30T12:14:15+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>sizedatatree.java</title>
        <link>https://lara.epfl.ch/w/sizedatatree.java?rev=1233314055&amp;do=diff</link>
        <description>Insertion into Tree with Data and Size Fields


public final class Node {
   public /*: claimedby Tree */ Node right;
   public /*: claimedby Tree */ Node left;
   public /*: claimedby Tree */ Object data;
}

public class SizeDataTree
{
   private static Node root;
   private static int size;
   /*: private static specvar inlist :: objset;
       public static specvar content :: objset;
       private vardefs &quot;inlist ==
        {x. rtrancl_pt (% x y. x..Node.left = y | x..Node.right = y) root x}…</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/sizelist.java?rev=1233317256&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-01-30T13:07:36+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>sizelist.java</title>
        <link>https://lara.epfl.ch/w/sizelist.java?rev=1233317256&amp;do=diff</link>
        <description>Insertion and Removal from a List with Size Field


class Node {
   public /*: claimedby SizeList */ Node next;
}

class SizeList {
   private static Node root;
   private static int size;
   /*:
     public static specvar content :: objset;
     vardefs &quot;content == {n. n ~= null &amp; (root,n) : {(u,v). u..next=v}^*}&quot;;
     invariant sizeInv: &quot;size = cardinality content&quot;;
     invariant treeInv: &quot;tree [next]&quot;;
     invariant rootInv: &quot;root ~= null --&gt; (ALL n. n..next ~= root)&quot;;
     invariant noNex…</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/slickchair?rev=1384852016&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2013-11-19T10:06:56+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>slickchair</title>
        <link>https://lara.epfl.ch/w/slickchair?rev=1384852016&amp;do=diff</link>
        <description>Slick Chair: An Open-Source Conference Management System in Scala

&lt;https://github.com/SlickChair/SlickChair&gt;</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/slin?rev=1386580704&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2013-12-09T10:18:24+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>slin</title>
        <link>https://lara.epfl.ch/w/slin?rev=1386580704&amp;do=diff</link>
        <description>Speculative Linearizability

Automata Specification in Isabelle/HOL

[Archive containing the theory files]

An older version of the theory can be found in the Archive of Formal Proofs.

Abortable Linearizable Modules in the AFP

TLA+ Specifications

[TLA+ Specifications]

I/O automata with finite trace semantics in Isabelle/HOL

[IOA framework with finite trace semantics]</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/smartfloat?rev=1365412568&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2013-04-08T11:16:08+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>smartfloat</title>
        <link>https://lara.epfl.ch/w/smartfloat?rev=1365412568&amp;do=diff</link>
        <description>SmartFloat: Numerical Error Estimator

SmartFloat is a numerical data type library for sound floating-point computations in Scala.
The library can perform sound computations with ranges of floating-point numbers 
and estimate the roundoff errors commited.</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/snisy?rev=1295362871&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-01-18T16:01:11+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>snisy</title>
        <link>https://lara.epfl.ch/w/snisy?rev=1295362871&amp;do=diff</link>
        <description>Snippet Synthesis Tool

SniSy is a tool for interactive snippet synthesis.</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/software?rev=1568799323&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-09-18T11:35:23+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>software</title>
        <link>https://lara.epfl.ch/w/software?rev=1568799323&amp;do=diff</link>
        <description>Software

The following software tools are currently available, sorted approximately according to how recently they have been updated:

	*  Stainless - Verifier for Scala
	*  Leon - Verifier and Synthesizer for Scala
	*  CVC4 - CVC4 SMT Solver
	*  Orb - Resource Bound Inference for Functional Programs</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/software_verification_tools_overview?rev=1231949873&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-01-14T17:17:53+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>software_verification_tools_overview</title>
        <link>https://lara.epfl.ch/w/software_verification_tools_overview?rev=1231949873&amp;do=diff</link>
        <description>Software Verification Tools Overview

by Clément Beffa, Vincent Pazeller, and Olivier Gobet

Report

Abstract : Bugs are becoming a bigger concern nowadays as we
are seeing their huge cost. Academics are building numerous
tools to get rid of them with more or less success. In
this paper, we make an overview of bug finding tools and
focus deeper on those targeting Java code. We explain the
purpose of each of them and test automatic tools on a specially
built Java test case in order to see their a…</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/solver?rev=1367003543&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2013-04-26T21:12:23+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>solver</title>
        <link>https://lara.epfl.ch/w/solver?rev=1367003543&amp;do=diff</link>
        <description>Constraint Solver in Scala

This is a part of GSOC in Scala:

	*  &lt;http://www.scala-lang.org/gsoc2013&gt;

The goal of this project is to develop a reasonably efficient constraint solver in Scala. You will build on a SAT solver we are developing and will add incremental SAT solving capabilities as well as reasoning about functional data structures. The constraint solver can be used for constraint programming, automated testing, verification, and synthesis in Scala.</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/sortedlist.java?rev=1233314697&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-01-30T12:24:57+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>sortedlist.java</title>
        <link>https://lara.epfl.ch/w/sortedlist.java?rev=1233314697&amp;do=diff</link>
        <description>Insertion and Removal from a Sorted List


class SortedList
    /* sorted list  */
{
    private static Node first;

    /*:
      private static specvar reach :: &quot;obj =&gt; obj =&gt; bool&quot;;
      vardefs
        &quot;reach == (% a b. rtrancl_pt (% x y. x..next=y) a b)&quot;;

      public static specvar content :: objset;
      vardefs
        &quot;content == {n. n ~= null &amp; (first, n) : {(x,y). x..next = y}^*}&quot;;

      invariant &quot;tree [next]&quot;;

      invariant &quot;first = null | (ALL n. n..next ~= first)&quot;;

      i…</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/start?rev=1693251117&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-08-28T21:31:57+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>start</title>
        <link>https://lara.epfl.ch/w/start?rev=1693251117&amp;do=diff</link>
        <description>Scientific Staff



See also the official list of past and current PhD students and automatically generated administrative page of the group.

Support



Academic Alumni



Joining LARA and EPFL IC

Information on joining and collaborating with LARA:

	*  About IC
	*  for postdoc positions, email Viktor Kuncak and check EPFL Fellows program ([PDF document])
	*  PhD Positions and information about EPFL
		*  [Slides from a Seminar for Starting PhD Students] (September 2009, somewhat context-specif…</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/strings_and_languages?rev=1562077011&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-07-02T16:16:51+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>strings_and_languages</title>
        <link>https://lara.epfl.ch/w/strings_and_languages?rev=1562077011&amp;do=diff</link>
        <description>Strings and languages

We next formalize mathematically the notion of a string and a set of strings.

Alphabet is a finite set of elements.  (It represents characters of a string.)  Let's denote it .

A string is a potentially empty, finite sequence of alphabet elements.  Often strings are called</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/stringsolver?rev=1392125835&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2014-02-11T14:37:15+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>stringsolver</title>
        <link>https://lara.epfl.ch/w/stringsolver?rev=1392125835&amp;do=diff</link>
        <description>The StringSolver project is hosted on Github:

StringSolver on Github

Some videos for demonstration are available here:

	*  Semi-automatic renaming on Windows
	*  Extracting data based on file content and the three dots '...'
	*  Grouping files to pdf using &quot;auto&quot; command
	*  Semi-automatic renaming in bash (oldest video)</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/suri?rev=1308011967&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-06-14T02:39:27+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>suri</title>
        <link>https://lara.epfl.ch/w/suri?rev=1308011967&amp;do=diff</link>
        <description>EPFL Summer Research Institute Schedule - LARA Information

Main pages: TOP, SCHEDULE

Schedule Outline


Monday

10:15: Applied Logic

14:15 Relational Analysis of Non-deterministic Integer Programs 
15:15 Specification-Centered Robustness
16:15 Uniform Reduction to SAT and SMT

Tuesday

10:15 Boolean Satisfiability: From Theoretical Hardness to Practical Success
11:15 In Praise of Algebra

14:15 Scalable Software Model Checking for Finding Bugs in the Large
15:15 HMC: Refinement type inference…</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/sverd?rev=1276615913&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-06-15T17:31:53+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>sverd</title>
        <link>https://lara.epfl.ch/w/sverd?rev=1276615913&amp;do=diff</link>
        <description>Scala Verification Day: 15 June 2010

Location: INR 113

Meeting of the following three research groups:

	*  LAMP, EPFL
	*  Programming Methodology, ETHZ
	*  LARA, EPFL

with selected talks open to public.

Opening talks:

	*  10:15 Viktor Kuncak: overview
	*  11:00 Peter Mueller: overview
	*  11:45 Martin Odersky: Interactive Q&amp;A Session</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/svtp17?rev=1488960995&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2017-03-08T09:16:35+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>svtp17</title>
        <link>https://lara.epfl.ch/w/svtp17?rev=1488960995&amp;do=diff</link>
        <description>Software Reliability and Constraint Solving Workshop

Date: 8 March 2017

Location: EPFL, BC 410

Speakers:

	*  Nikolaj Bjørner
	*  Sergio Giro
	*  Rustan Leino
	*  Bruno Marnette
	*  Philippe Rümmer

09:00. Coffee

09:30. Rustan Leino: Well-founded functions, induction, and extreme predicates in an SMT-based verifier

An SMT solver takes first-order formulas as input and provides impressive automation.  But what if the problem at hand goes beyond first order?  The Dafny program verifier provid…</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/tarski_fixed_point_theorem?rev=1178898340&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2007-05-11T17:45:40+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>tarski_fixed_point_theorem</title>
        <link>https://lara.epfl.ch/w/tarski_fixed_point_theorem?rev=1178898340&amp;do=diff</link>
        <description>Tarski's fixed point theorem

A complete lattice is a lattice where every set of elements  has the least upper bound  and the greatest lower bound 
(this implies that there is top and bottom as  and .

(Note: if you know that you have least upper bounds for all sets, it follows that you also have greatest lower bounds, by taking the least upper bound of the lower bounds. Converse also holds, dually.)</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/teaching?rev=1592921940&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-06-23T16:19:00+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>teaching</title>
        <link>https://lara.epfl.ch/w/teaching?rev=1592921940&amp;do=diff</link>
        <description>Teaching

LARA is (co)responsible for the following courses:

	*  Fall 2020:
		*  Computer Language Processing 2020
		*  Formal Verification 2020
		*  Functional Programming 2020

	*  Fall 2019:
		*  Computer Language Processing 2019
		*  Formal Verification 2019
		*  Functional Programming 2019

	*  Spring 2019:
		*  Parallelism and Concurrency 2019 (internal page on courseware.epfl.ch)</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/test?rev=1468508073&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2016-07-14T16:54:33+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>test</title>
        <link>https://lara.epfl.ch/w/test?rev=1468508073&amp;do=diff</link>
        <description>test latex:


test iframe:</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/test_draw?rev=1202998695&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2008-02-14T15:18:15+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>test_draw</title>
        <link>https://lara.epfl.ch/w/test_draw?rev=1202998695&amp;do=diff</link>
        <description>TEST of draw plugin

Plugin is :
&lt;http://wiki.splitbrain.org/plugin:draw&gt;

test02
&lt;draw name=fabien2&gt;</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/test_folded?rev=1222693177&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2008-09-29T14:59:37+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>test_folded</title>
        <link>https://lara.epfl.ch/w/test_folded?rev=1222693177&amp;do=diff</link>
        <description>This is example text with some of it only shown when you unfold it++. And after that
the text just continues to flow in the same paragraph.

voila voila

This is example text.

Title
 This table  is only shown  when you unfold the block 

migration</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/test_latex?rev=1611248977&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-01-21T18:09:37+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>test_latex</title>
        <link>https://lara.epfl.ch/w/test_latex?rev=1611248977&amp;do=diff</link>
        <description>Start



fabien

We define concatenation and iteration of languages by



again 



End</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/threadedtree.java?rev=1233314487&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-01-30T12:21:27+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>threadedtree.java</title>
        <link>https://lara.epfl.ch/w/threadedtree.java?rev=1233314487&amp;do=diff</link>
        <description>Insertion into a Sorted Threaded Tree


public final class Node {
   public /*: claimedby Tree */ Node right;
   public /*: claimedby Tree */ Node left;
   public /*: claimedby Tree */ Node next;
   public /*: claimedby Tree */ int v;
}

public class ThreadedTree
{
   private static Node root;
   private static Node first;

   /*: public static specvar content :: objset;
       private vardefs &quot;content ==
        {x. rtrancl_pt (% x y. x..left = y | x..right = y) root x}&quot;;

       invariant &quot;tre…</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/tips?rev=1224259283&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2008-10-17T18:01:23+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>tips</title>
        <link>https://lara.epfl.ch/w/tips?rev=1224259283&amp;do=diff</link>
        <description>Tips for Effective Web Editing

Editing Text using a Decent Editor

With this, you will be able to press a few keys and bring up
your favorite editor containing the wiki page to edit, then
save it back, often without even using your mouse.

The description is for Linux Debian Firefox, but it should also
work on some other platforms.</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/tree_automata?rev=1429630357&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2015-04-21T17:32:37+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>tree_automata</title>
        <link>https://lara.epfl.ch/w/tree_automata?rev=1429630357&amp;do=diff</link>
        <description>Tree automata

Finite Automata as Automata in Unary Language

Consider a finite alphabet .  A word  is a finite sequence of symbols from .

We can represent such a sequence as a term, as follows

	*  treat elements of  as unary function symbols
	*  let</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/treeinsertion.java?rev=1274777334&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-05-25T10:48:54+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>treeinsertion.java</title>
        <link>https://lara.epfl.ch/w/treeinsertion.java?rev=1274777334&amp;do=diff</link>
        <description>public class Tree
{
   private static Node root;
   
   /*: public static specvar content :: objset;
       private vardefs &quot;content == 
        {x. rtrancl_pt (% x y. x..Node.left = y | x..Node.right = y) root x}&quot;;
   
       invariant &quot;tree [Node.left, Node.right]&quot;;
   
       invariant &quot;root = null | (ALL n. n..Node.left ~= root &amp; n..Node.right ~= root)&quot;;
   
       invariant &quot;ALL x y. x ~= null &amp; y ~= null &amp; (x..Node.right = y | x..Node.left = y) --&gt; y : content&quot;;

       invariant &quot;ALL x y.…</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/useful?rev=1389339144&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2014-01-10T08:32:24+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>useful</title>
        <link>https://lara.epfl.ch/w/useful?rev=1389339144&amp;do=diff</link>
        <description>Some Useful Links

Trello:

	*  Leon
	*  Trustworthy Numerics
	*  Viktor work internal

Printers

	*  LPDLP2 (INR)
	*  LAMPLP1 (BC)

GIT

	*  &lt;http://lara.epfl.ch/w/laragit&gt;

LARA Phonebook

	*  LARA phones

Mailing List

	*  &lt;http://laraserver.epfl.ch/wws&gt;

EPFL Links

	*  is-academia 
	*  Hotels
	*  finances: &lt;http://infocentre-sap.epfl.ch/&gt;
	*  admissions
	*  service financier: &lt;http://sf.epfl.ch/&gt;
	*  MSc courses: &lt;http://ic.epfl.ch/page57856.html&gt;
	*  food: &lt;http://restauration.epfl.ch&gt;
	* …</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/using_automata_to_decide_msol_over_finite_strings?rev=1179305202&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2007-05-16T10:46:42+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>using_automata_to_decide_msol_over_finite_strings</title>
        <link>https://lara.epfl.ch/w/using_automata_to_decide_msol_over_finite_strings?rev=1179305202&amp;do=diff</link>
        <description>Using automata to decide MSOL over strings

Compare this to Using automata to decide Presburger arithmetic.

We will define  such that for every  and for all , for every matrix  where for  and ,



iff


a11 ... a1k         ---&gt;   v1
a21 ... a2k         ---&gt;   v2
... ... ...         ...
an1 ... ank         ---&gt;   vn

 ^
 |
L(G)</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/using_automata_to_decide_presburger_arithmetic?rev=1429629985&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2015-04-21T17:26:25+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>using_automata_to_decide_presburger_arithmetic</title>
        <link>https://lara.epfl.ch/w/using_automata_to_decide_presburger_arithmetic?rev=1429629985&amp;do=diff</link>
        <description>Using automata to decide Presburger arithmetic

Minimalistic syntax for Presburger arithmetic is given by the following grammar:

F ::= V=1 | V=V | V=V+V |  F | F  F |  v. F

V ::= v_1 | v_2 | ...

Variables range over non-negative integers.  

Example formula:</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/variable_range_analysis?rev=1183167019&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2007-06-30T03:30:19+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>variable_range_analysis</title>
        <link>https://lara.epfl.ch/w/variable_range_analysis?rev=1183167019&amp;do=diff</link>
        <description>Variable Range Analysis

 By:  Simon Blanchoud and  Yuanjian Wang Zufferey

Based on the paper of Patrick Cousot and Radhia Cousot

	*  Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints

Implemented in OCaml as we have in mind to get integrated into Jahob to be able to analyse real Java code.

Goal

Our goal is to compute the range of all variables in a piece of code as precisely as possible. These ranges could then be …</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/verifying_data_structures_using_jahob?rev=1183309212&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2007-07-01T19:00:12+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>verifying_data_structures_using_jahob</title>
        <link>https://lara.epfl.ch/w/verifying_data_structures_using_jahob?rev=1183309212&amp;do=diff</link>
        <description>Verifying data structures using Jahob

by Feride Cetin and Kremena Diatchka 

Our goal is to verify the implementations in Java of simple data structures using Jahob.

Abstract

We have implemented some simple data structures in Java, provided specifications for properties they must specify, and attempted to verify that the implementation is correct with respect to these specifications using the verification tool Jahob. We have fully verified the implementations of a singly-linked list with a he…</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/verifying_dijkstra_s_algorithm_in_jahob?rev=1183741302&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2007-07-06T19:01:42+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>verifying_dijkstra_s_algorithm_in_jahob</title>
        <link>https://lara.epfl.ch/w/verifying_dijkstra_s_algorithm_in_jahob?rev=1183741302&amp;do=diff</link>
        <description>Verifying Dijkstra's algorithm in Jahob

This project consist to a verification Case Study of an implementation of the Dijkstra algorithm. Here is the part of the code we will analyze:

Report: [ final]

Complete Dijkstra program: [ Dijkstra_Application]

Slides: [ presentation]

Here are the annotations for the verification of the Dijkstra Algorithm!</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/verifying_pattern_matching_with_guards?rev=1183159160&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2007-06-30T01:19:20+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>verifying_pattern_matching_with_guards</title>
        <link>https://lara.epfl.ch/w/verifying_pattern_matching_with_guards?rev=1183159160&amp;do=diff</link>
        <description>Verifying pattern matching with guards

 Mirco Dotta, Philippe Suter 

Abstract from the final report:

----------

Pattern matching is a powerful construct for conditional
execution, and is present in many programming
languages, particularly in functional ones. The number
and complexity of patterns in a matching expression often
grows quickly as programs are written, and the task
of checking the completeness or disjointness of such an
expression becomes tedious. Compilers can assist programmers…</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/visibly_pushdown_languages?rev=1181035207&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2007-06-05T11:20:07+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>visibly_pushdown_languages</title>
        <link>https://lara.epfl.ch/w/visibly_pushdown_languages?rev=1181035207&amp;do=diff</link>
        <description>Visibly pushdown languages

What if a property that we wish to check is not regular?

Note that checking inclusion, emptyness of intersection, and universality of context-free languages are all undecidable.  So we cannot check (without approximation) whether a pushdown system satisfies a context-free property.  This is unfortunate, as some properties are context-free.  There is a class of languages that are between regular and context-free and that have good closure properties.  These can be use…</description>
    </item>
    <item rdf:about="https://lara.epfl.ch/w/ws1s_expressive_power_and_quantifier_elimination?rev=1184172145&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2007-07-11T18:42:25+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ws1s_expressive_power_and_quantifier_elimination</title>
        <link>https://lara.epfl.ch/w/ws1s_expressive_power_and_quantifier_elimination?rev=1184172145&amp;do=diff</link>
        <description>[Expressive Power of a Fragment of WS1S]</description>
    </item>
</rdf:RDF>
