Friday
May042012

Tech Talk: An Analysis of Analysis

Galois is pleased to host the following tech talk. These talks are open to the interested public--please join us! (There is no need to pre-register for the talk.)

Please note the unusual date and time for this talk, it is on Friday, 11 May 2012, at 10:30am

title: An Analysis of Analysis

speaker: Charles Parker

time: Friday, 11 May 2012, 10:30am

location:
Galois Inc.
421 SW 6th Ave. Suite 300,
Portland, OR, USA
(3rd floor of the Commonwealth building)

abstract:

A basic problem in computer science is binary classification, in which an algorithm applies a binary label to data based on the presence or absence of some phenomenon. Problems of this type abound in areas as diverse as computational biology, multimedia indexing, and anomaly detection. Evaluating the performance of a binary labeling algorithm is itself a complex task, often based on a domain-dependent notion of the relative cost of "false positives" versus "false negatives". As these costs are often not available to researchers or engineers, a number of methods are used to provide a cost-independent analysis of performance. In this talk, I will examine a number of these methods both theoretically and experimentally. The presented results suggest a set of best practices for evaluating binary classification algorithms, while questioning whether a cost-independent analysis is even possible.

bio: Charles Parker received his Ph.D. in Computer Science in 2007 under Professor Prasad Tadepalli at Oregon State University. His thesis, "Structured Gradient Boosting", presented a gradient-based approach to structured prediction useful in information retrieval and planning domains. From 2007 to 2011, he worked for the Eastman Kodak Company on various problems in data mining, scanned document analysis, and consumer video indexing. He currently works for BigML, Inc., helping to develop a web-scale infrastructure and interface for machine learning. His work has appeared in ICML, AAAI, ICDM, and other notable venues.

Wednesday
Apr042012

Galois' Open-Source Projects on GitHub

Galois is pleased to announce the movement of our open source projects to GitHub!

As part of our commitment to giving back to the open source community, we have decided that we can best publish our work using GitHub's public website. This move should provide the open source community more direct access to our repositories, as well as more advanced collaboration tools.

Moved repositories include the widely-used XML and JSON libraries, our FiveUI extensible UI Analysis tool, our high-speed Cereal serialization library, our SHA and RSA crypto packages, the HaLVM, and more.

For a list of our open source packages, please see our main GitHub page here:

https://github.com/galoisinc

We are very excited to interact with the GitHub community and utilize all the great tools there. On the other hand, if you're not a GitHub user, please feel free to continue to send us any patches or suggestions as per usual.

For those currently hacking on projects using our old repositories at code.galois.com, we apologize for the inconvenience! The trees on GitHub hold the exact same trees, however, so you should be able to add a remote tree (git remote add) and push without too much difficulty.

As always, we would love to hear your feedback. Been waiting for this change? Hate it? Wonder how to push your changes to us? Please email us at github@galois.com.

Saturday
Mar312012

FiveUI: Extensible UI Analysis in your browser

Galois is excited to announce the Open-Source release of FiveUI!

FiveUI is a framework and tool for checking web-based user interfaces against codified UI guidelines. It is the first step towards an extensible, semantically aware, reusable and pragmatic toolchain for checking aspects of user interfaces against arbitrary guidelines.

FiveUI currently works as a browser extension for Google Chrome and Mozilla Firefox, but we are hard at work on a batch system for running guidelines in a non-interactive, headless environment, such as the Jenkins continuous integration system. For now, you can load FiveUI in your browser and navigate around web sites by hand. We think it's a pretty useful tool, as-is, even if you still have to do some clicking to trigger guidelines that check web pages.

The real strength of FiveUI is its extensibility. Anyone can encode guidelines as rules and rulesets, which are just literal javascript objects (much like JSON; in fact, they would be JSON, but rules require actual functions). Once you've written a set of rules, we would love it if you would add them to the growing collection of rule sets available for FiveUI. Because guidelines are general-purpose, the rules should be written to apply to any web site. This makes it trivial to take collections of rules and run them on any web page or web app you create, any rules you share can be used by others, and you'll be able to take advantage of the rules contributed by everyone else as well.

Take a look at the Install Guide, the Getting Started guide and the FiveUI Prelude to learn more about using and writing Rules and Rule Sets.

Last, but not least, let us know what you think! Send comments, email us, submit pull requests and file issues. We're listening for everything, and we'll do everything we can to make the tool and the community work for you.

Thursday
Mar292012

HTML5 is Paving the Way for Semantically Aware Tools

Rich semantics are the Holy Grail for automated analysis tools; combined with extensible, familiar, and reusable tools and techniques we can seriously cut the costs associated with robust user interface development and testing.

Previously, we discussed the set of tools available for validating and linting HTML5-based user interfaces; (eg: the  W3C, numerous HTML/CSS editors, and tools like  HTML Lint). These tools help to identify syntactic issues, but what else is possible? The syntactic (and limited semantic) checks that these tools perform are necessary, but they aren't sufficient to cover the body of intricate failures that can occur while creating the rich user experiences we've come to expect from interactive web applications and mobile devices. Linters and Validators can't, for example, find bugs relating to the visual layout, and with good reason: Checking a UI is hard; it's repetitive, monotonous, and more importantly, subjective work.

However, there is still room for improvement. Surely we can push the envelope to do more. What's next, and how can we automate tasks that still challenge human analysts?

The first important insight is that many general guidelines for creating a good user interface have quantitative approximations. For example, the Windows 7 guidelines state:

Use title-style capitalization for titles, and sentence-style capitalization for all other UI elements.

and:

Write the label as a phrase or an imperative sentence, and use no ending punctuation.

In the words of Richard Anderson: We have the technology! Which brings us to the first of a few key areas or techniques that could improve the tools that help ensure UI Consistency.

Click to read more ...

Monday
Feb132012

Tech talk video: Efficient Implementation of Property Directed Reachability

We are pleased to announced the availability of a new tech talk video, Alan Mishchenko talking about an efficient implementation of a novel model checking technique. For more information, please visit the talk announcement page.

For more Galois tech talk videos, please visit our Vimeo channel.