Current Posts
- 01 Jul 2024 » Shift-Reduce Parsers LR(0) SLR(1), LALR(1) and LR(1)
- 28 Jun 2024 » Search Based Fuzzing -- Computing Branch Distance
- 27 Jun 2024 » Search Based Fuzzing -- Computing Approach Level
- 23 Mar 2024 » Grammar Coverage with K-Paths for Syntax Testing
- 22 Mar 2024 » Building Grammars for Fun and Profit
- 20 Jan 2024 » Hosting your own ActivityPub instance for free
- 04 Jan 2024 » Learning Regular Languages with L* Algorithm
- 03 Nov 2023 » Efficient Matching with Regular Expressions
- 02 Nov 2023 » Minimizing a Deterministic Regular Grammar or a DFA
- 19 Oct 2023 » Removing Left Recursion from Context Free Grammars
- 16 Mar 2023 » Valiant's Parser
- 01 Feb 2023 » Mutation Analysis and Mutation Testing
- 10 Jan 2023 » CYK Parser
- 02 Jul 2022 » Generalized LL (GLL) Parser
- 05 Jun 2022 » Incorporating Indentation Parsing in Standard Parsers -- PEG
- 04 Jun 2022 » Parsing Indentation Sensitive Languages
- 15 May 2022 » A Fast Grammar Fuzzer by Compiling the Grammar
- 17 Apr 2022 » Iterative deep copy of Python data structures
- 16 Feb 2022 » A Minimal Static Call Graph for Python Programs
- 13 Nov 2021 » Converting a Regular Grammar to a Regular Expression
- 28 Oct 2021 » Intersection Between a Context Free Grammar and a Regular Grammar
- 26 Oct 2021 » Conjunction, Disjunction, and Complement of Regular Grammars
- 24 Oct 2021 » Converting a Regular Expression to DFA using Regular Grammar
- 23 Oct 2021 » Regular Expression to Regular Grammar
- 22 Oct 2021 » Fuzzing With Regular Expressions
- 29 Sep 2021 » Remove Empty (Epsilon) Rules From a Context-Free Grammar.
- 12 Sep 2021 » Specializing Context-Free Grammars for Not Inducing A Fault
- 11 Sep 2021 » Fault Expressions for Specializing Context-Free Grammars
- 10 Sep 2021 » Specializing Context-Free Grammars for Inducing Multiple Faults
- 09 Sep 2021 » Specializing Context-Free Grammars for Inducing Faults
- 05 Sep 2021 » Fixing Python Default Parameters
- 27 Jul 2021 » Uniform Random Sampling of Strings from Context-Free Grammar
- 22 Feb 2021 » Error Correcting Earley Parser
- 21 Feb 2021 » Some Sillyness with Python Iterators as Pipes
- 06 Feb 2021 » Earley Parser
- 28 Jan 2021 » Blackbox Inference of Context Free Grammars -- Verification
- 14 Dec 2020 » Can Mutation Analysis be used for Evaluating Static Analysis Tools?
- 20 Aug 2020 » Control Flow Graph from Python Bytecode
- 03 Aug 2020 » Simple DDSet
- 26 Jul 2020 » Semantic Testcase Reducer
- 15 Jul 2020 » DDSet and how to abstract a minimized failure inducing input to a failure pattern
- 15 May 2020 » Mutation Analysis and Its Industrial Applications Special Issue in STVR
- 17 Mar 2020 » Recursive Descent Context Free Parsing with Left Recursion
- 14 Mar 2020 » Simple Parser For Context Free Languages with Forking Stacks
- 02 Mar 2020 » Simple Combinatory Parsing For Context Free Languages
- 01 Mar 2020 » On the Power of Context Free Grammar Vs Parsing Expression Grammars -- Current Status
- 13 Feb 2020 » Pyodide Canvas
- 14 Jan 2020 » Test Page for Pyodide
- 13 Jan 2020 » Test Page for Skulpt
- 12 Jan 2020 » Test Page for Klipse
- 25 Dec 2019 » Automatically Preprocessing Python Files with Codecs
- 08 Dec 2019 » A tiny and incomplete Python Virtual Machine
- 08 Dec 2019 » The Python Control Flow Graph
- 07 Dec 2019 » Python Meta Circular Interpreter
- 04 Dec 2019 » Hierarchical Delta Debugging
- 03 Dec 2019 » Delta Debugging
- 29 Nov 2019 » Parsing XML with a context free grammar
- 26 Nov 2019 » A simple grammar miner
- 28 May 2019 » The simplest grammar fuzzer in the world
- 18 Nov 2018 » Rehabilitating Mutant Immortals
- 25 Sep 2018 » A self-learning proxy-network with reinforcement learning (Q-Learning)
- 16 Sep 2018 » A simple split-stream mutation engine in Python
- 10 Sep 2018 » When are comprehensions (list, set) harmful in Python?
- 10 Sep 2018 » Representing a Grammar in Python
- 07 Sep 2018 » Importing Python Modules
- 07 Sep 2018 » Generating a parser in c++ with ANTLR4
- 06 Sep 2018 » Recursive descent parsing with Parsing Expression (PEG) and Context Free (CFG) Grammars
- 05 Sep 2018 » How hard is parsing a context-free language? - recursive descent parsing by hand
- 03 Sep 2018 » A tale of two little languages -- an engineering story
- 10 Jan 2018 » Spectre - review
- 10 Jan 2018 » Meltdown - review
- 25 Jan 2017 » Have We Gotten Better at Writing Code?
- 22 Nov 2016 » Equivalent, Redundant, Trivial and Stubborn Mutants
- 08 Nov 2016 » Using Mutants to Improve Test Suites.
- 05 Nov 2016 » Mutation 2017 at Tokyo
- 05 Oct 2016 » Is Code Coverage Effective in Preventing Bugs?
- 02 Oct 2016 » Various Definitions of Minimal Mutant Sets.
- 19 Jul 2016 » Shared Environments with Prefixed Nix
- 04 Dec 2015 » Mutation 2016 at Chicago
- 01 Oct 2015 » Should We Use Mutation Score Instead of Coverage for Measuring Test Suite Effectiveness?
- 18 Jul 2015 » Weak, Firm, and Strong Mutation
- 19 Feb 2015 » Mellanox Cookbook Status Update
- 18 Jan 2015 » Fault, Error, Failure, and Mutants
- 12 Dec 2014 » Mellanox Openstack status update
- 10 Dec 2014 » Mutation Selection Approaches
- 10 Nov 2014 » Foundations of Mutation Analysis
- 11 Jul 2014 » Static analysis tools for Ruby (for Puppet Codebase)
- 12 Dec 2013 » The Mutation Analysis Landscape
- 03 May 2013 » Clone Detection Tools
- 21 Sep 2012 » Solaris 11 IPS Packages for Puppet Facter and Hiera
- 30 Dec 2011 » Version Control Systems
- 30 Nov 2010 » HTTP WebCache Topologies
- 29 Nov 2010 » Distributed HTTP Caching Mechanisms
Writing a language
These are the teaching materials I prepared for a course in programming languages for which I was the instructor. These are still under construction since the classes typically had to refer back to previous sessions, and hence each post is a super set of the previous.
- 01 Jul 2011 » Programming Language Fundamentals
- 14 Jul 2011 » Constructing a language - Simple Parsing
- 15 Jul 2011 » Constructing a language - Slightly more Parsing
- 16 Jul 2011 » Construcing a language - Bigstep Semantics
- 17 Jul 2011 » Construcing a language - More Semantics
- 18 Jul 2011 » Construcing a language - A standard library
- 19 Jul 2011 » Construcing a language - Adding Scope lookup
- 20 Jul 2011 » Construcing a language - Wrapping up
Some Haskell tricks
- 11 Sep 2011 » Applicatives
- 03 Sep 2011 » Using forall - RankN Types
- 24 Aug 2011 » Template Haskell
- 24 Aug 2011 » Haskell environment tricks
- 28 Apr 2010 » GHCI tricks
Older Sun Microsystems Posts
- 13 Apr 2009 » sun hpc clustertools for openmpi
- 09 Apr 2009 » A simple extension to the hg (mercurial) forest (fdiff fcommit and fimport)
- 30 Aug 2007 » The Proxy side
- 24 Aug 2007 » SUNW to JAVA
- 22 Aug 2007 » compile time options for binary distribution of Squid
- 22 Apr 2007 » A thin slice of Haskell
- 19 Apr 2007 » Homoiconic languages
- 31 Jan 2007 » (SJSWS7.0 VII) Scripting with servlets [php - using quercus]
- 19 Jan 2007 » (SJSWS7.0 VI) Scripting with servlets [groovy - using jsr223]
- 18 Jan 2007 » (SJSWS7.0 II) Scripting with servlets [jscheme]
- 18 Jan 2007 » (SJSWS7.0 V) Scripting with servlets [jacl]
- 17 Jan 2007 » (SJSWS7.0 IV) Scripting with servlets [sleep]
- 16 Jan 2007 » (SJSWS7.0 III) Scripting with servlets [rhino]
- 15 Jan 2007 » (SJSWS7.0 I) Scripting with servlets [jruby]
- 14 Jan 2007 » (SJSWS7.0 0) Scripting with servlets - prologue
- 10 Jan 2007 » Getting FastCGI to play nice with ruby (Sun Java System Web Server 7.0 )
- 17 Nov 2006 » Front ending an ftp server - Using SJS Web Proxy Server to boost Ftp Server performance.
- 29 Oct 2006 » (wadm X) The mists of time - implementing cron
- 27 Oct 2006 » (wadm IX) Dancing with XSLT
- 25 Oct 2006 » (wadm VIII) Through the looking glass - implement extensions
- 23 Oct 2006 » (wadm VII) Halloween - dressing up as a filesystem
- 21 Oct 2006 » (wadm VI) Walking with the unknown - parsing Apache httpd.conf
- 21 Oct 2006 » (wadm V) The java nature
- 20 Oct 2006 » (wadm IV) Log Analyzer
- 16 Oct 2006 » (wadm III) ACL, Parse thyself
- 13 Oct 2006 » (wadm II) More wadm
- 14 Apr 2006 » using openmp on a 64 threads system
- 25 Jun 2005 » (wadm I) Using wadm in Sun Java System Web Server 7.0
- 16 Jul 2004 » mod_scheme 3.3.a
- 13 Jul 2004 » mod_scheme updates
Older Quark Posts
- 20 Oct 2003 » mod_scheme 3.0