Archive

Posts Tagged ‘ACCU’

The complexity of three assignment statements

April 15th, 2009 Derek-Jones No comments

Once I got into researching my book on C I was surprised at how few experiments had been run using professional software developers. I knew a number of people on the Association of C and C++ Users committee, in particular the then chair Francis Glassborow, and suggested that they ought to let me run an experiment at the 2003 ACCU conference. They agreed and I have been running an experiment every year since.

Before the 2003 conference I had never run an experiment that had people as subjects. I knew that if I wanted to obtain a meaningful result the number of factors that could vary had to be limited to as few as possible. I picked a topic which has probably been the subject of more experiments that any other topics, short term memory. The experimental design asked subjects to remember a list of three assignment statements (e.g., X = 5;), perform an unrelated task that was likely to occupy them for 10 seconds or so, and then recognize the variables they had previously seen within a list and recall the numeric value assigned to each variable.

I knew all about the factors that influenced memory performance for lists of words: word frequency, word-length, phonological similarity, how chunking was often used to help store/recall information and more. My variable names were carefully chosen to balance all of these effects and the information content of the three assignments required slightly more short term memory storage than subjects were likely to have.

The results showed none of the effects that I was expecting. Had I found evidence that a professional software developer’s brain really did operate differently than other peoples’ or was something wrong with my experiment? I tried again two years later (I ran a non-memory experiment the following year while I mulled over my failure) and this time a chance conversation with one of the subjects after the experiment uncovered one factor I had not controlled for.

Software developers are problem solvers (well at least the good ones are) and I had presented them with a problem; how to remember information that appeared to require more storage than available in their short term memories and accurately recall it shortly afterwards. The obvious solution was to reduce the amount of information that needed to be stored by simply remembering the first letter of every variable (which one of the effects I was controlling for had insured was unique) not the complete variable name.

I ran another experiment the following year and still did not obtain the expected results. What was I missing now? I don’t know and in 2008 I ran a non-memory based experiment. I still have no idea what techniques my subjects are using to remember information about three assignment statements that are preventing me getting the results I expect.

Perhaps those researchers out there that claim to understand the processes involved in comprehending a complete function definition can help me out by explaining the mental processes involved in remembering information about three assignment statements.

Finding the ‘minimum’ faulty program

March 17th, 2009 Derek-Jones No comments

A few weeks ago I received an inquiry about running a course/workshop on compiler writing. This does not does not happen very often and it reminded me that many years ago the ACCU asked if I would run a mentored group on compiler writing, I was busy writing a book at the time. The inquiry got me thinking it would be fun to run a compiler writing mentored group over a 6-9 month period and I emailed the general ACCU reflector asking if anybody was interested in joining such a group (any reader wanting to join the group has to be a member of the ACCU).

Over the weekend I had a brainwave for a project, automatic compiler test generation coupled with a program source code minimizer (I need a better name for this bit). Automatic test generation sounds great in theory but in practice whittling down the source code of those programs that result in a fault being exhibited, to create a usable sized test case that is practical for debugging purposes can be a major effort. What is needed is a tool to automatically do the whittling, i.e., a test case minimizer.

A simple algorithm for whittling down the source of a large test program is to continually throw away that half/third/quarter of the code that is not needed for the fault to manifest itself. A compiler project that took as input source code, removed half/third/quarter of the code and generated output that could be compiled and executed is realistic. The input/reduce/output process could be repeated until the generated source was considered to have reached some minima. Ok, this will soak up some cpu time, but computers are cheap and people are expensive.

Where does the test source code come from? Easy, it is generated from the same yacc grammar that the compiler, written by the mentored group member, uses to parse its input. Fortunately such a generation tool is available and ready to use.

The beauty is using the same grammar to generate tests and parse input. This means there is no need to worry about which language subset to use initially and support for additional language syntax can be added incrementally.

Experience shows that automatically generated test programs quickly uncover faults in production compilers, even when working with language subsets. Compiler implementors are loath to spend time cutting down a large program to find the statement/expression where the fault lies, this project will produce a tool that does the job for them.

So to recap, the mentored group is going to write one or more automatic source code generators that will be used to stress test compilers written by other people (e.g., gcc and Microsoft). Group members will also write their own compiler that reads in this automatically generated source code, throws some of it away and writes out syntactically/semantically correct source code. Various scripts will be be written to glue this all together.

Group members can pick the language they want to work with. The initial subset could just include supports for integer types, if-statements and binary operators.

If you had trouble making any sense all this, don’t join the group.

www.wenn.com
FireStats icon Powered by FireStatswww.tinynibbles.com buy propecia without prescription

cialis price in canada

cost of viagra

order cheapest propecia online

cialis overnight delivery

buy prescription propecia without

cheap cialis soft

levitra where to buy

buying online propecia

cheap viagra online

discount levitra online

levitra online prescription

generic propecia sale

cialis professional 20 mg

cialis refractory

canada cheap propecia

brand cialis for sale

lowest propecia prices

buy viagra without prescription

name brand cialis

fda levitra

levitra pill

cheapest viagra online

buy generic viagra india rx

canadian healthcare

get levitra

buying propecia online

buy propecia online prescription

cialis professional 100 mg

cheapest overnight cialis

levitra cost

buying cialis

order levitra online

cheap levitra prescription

discount levitra rx

buy propecia online pharmacy

online cheap viagra

cialis daily

cost of propecia

5 mg original brand cialis

generic propecia effective

once daily cialis

buy cheap levitra online

cheap discount levitra

cialis purchase

buy propecia online

order prescription propecia

cialis buy overnight

obtain viagra without prescription

buy cheapest propecia

buy viagra mexico

cheap viagra from uk

cialis woman

cheapest price propecia cheap

cheap propecia online prescription

levitra online sales

cialis en mexico

get cialis

canada online pharmacy propecia

cheap cialis

indian cialis

order propecia

buy propecia cheap

cheap order prescription propecia

generic viagra made in usa

levitra from canadian pharmacy

levitra cheap fast

generic viagra canadian

buy cialis online uk

levitra discount

healthcare canadian pharmacy

buy generic propecia

online propecia prescriptions

lowest cost levitra

how much does cialis cost

buying cialis next day delivery

discount levitra purchase

buy propecia prescriptions online

canadian pharmacy

indian viagra

brand viagra over the net

discount propecia online

cialis from canada

getting cialis from canada

online levitra

canada viagra pharmacies scam

buy viagra

cialis headaches

cialis delivered overnight

next day delivery cialis

discount us propecia

buy propecia where

lowest propecia 1 mg

online propecia prescription

lowest price levitra

canadian healthcare viagra

mexico levitra

lowest price on non generic levitra

canadian viagra 50mg

cialis vs levitra

lowest priced propecia

canada viagra

cialis no prescription

how much to buy viagra in pounds

cheapest propecia uk

low cost canadian viagra

buy cialis without prescription

canada meds viagra

levitra in india

ordering propecia online

buy levitra overnight

generic levitra canada

cheap propecia no prescription

buy cialis for daily use

cheap prescription propecia

canada generic propecia

lowest price for propecia

cheap levitra tablets

hydrochlorothiazide cialis

lowest price propecia

generic propecia alternative

buy online prescription propecia

buy canada levitra

brand name cialis overnight

cheapest viagra usa

gele viagra

generic viagra canada

canada levitra

levitra order prescription

get levitra online

buy viagra online cheap us

canada viagra generic

buy viagra china

cialis 50 mg

levitra sales uk

buy propecia online from usa pharmacy

cheapest propecia sale uk

generic levitra cheap

levitra viagra cialis

cialis 5 mg italia

canadian healthcare pharmacy

cheap propecia online

buy can from i propecia who

canadian drugs propecia

buy propecia in the uk

cialis price 100 mg

cheap propecia 5mg

cialis dosage mg

online generic cialis 100 mg

best price cialis

buy cialis cannada

how to buy cialis in canada

cialis pharmacy

buying levitra online

cialis fast delivery usa

brand name cialis

canadian pharmacy cialis

online propecia uk

generic propecia 5mg

generic levitra vardenafil

cialis overnight

ganeric cialis

online viagra gel to buy

buy real cialis

generic viagra 100 mg

best viagra

buy levitra us

buying generic propecia

cialis generic 100 mg

indian generic levitra

generic cialis from india

generic levitra purchase

canadian pharmacies cialis

cialis on women

herbal propecia

cialis discounts

generic cialis next day shipping

natural viagra

buy propecia now

buy propecia canada

buy fast propecia

cialis daily in canada

cialis price

cialis discount

buy cheap generic propecia

buy cialis 5 mg

best way to use cialis

cialis uk

drug generic propecia

i need to buy propecia

buy levitra online from canada

online pharmacy propecia viagra

ordering cialis gel

canadian pharmacy viagra

levitra prescription

mail order levitra

canadian propecia rx

levitra mg

cheap levitra

cialis and ketoconazole

levitra in canada

levitra now online

cheap propecia uk

levitra low price

50 mg cialis

levitra buy online

levitra tabs

buy cialis fedex shipping

low cost levitra

buy viagra online

canada online pharmacy levitra

china viagra

buying cialis soft tabs 100 mg

levitra 10mg

for sale levitra

indian cialis generic

cialis prescription

generic propecia fda approved

cialis strenght mg

low price levitra

cialis tablets foreign

cialis to buy

buy discount viagra

buy cialis canada

get propecia online pharmacy

cheapest prices for viagra

canadian viagra

mail online order propecia

cialis cheap us pharmacy

can i get viagra in mexico

daily dosage cialis

buy levitra vardenafil

bio viagra herbal

cheapest viagra

online ordering propecia

how to get cialis in canada

best price propecia

brand viagra professional

buy now propecia

buy 5 mg cialis

buy cheap generic levitra

canadian pharmacy discount code viagra

best price for generic cialis

canada propecia prescription

cialis by mail

generic levitra overnight delivery

buy levitra online viagra

buy cialis online canada

discount generic propecia

buying viagra in canada

cialis in mexico

cialis soft pills

generic propecia online pharmacy

cialis profesional

low cost propecia

generic viagra online

cialis 100 mg

generic propecia for sale

buy viagra germany canadian meds

cost of daily cialis

internet pharmacy propecia

discount propecia rx

cialis 20 mg

levitra for sale

levitra online no prescription

buy real viagra online

generic cialis soft tabs

generic cialis sale

cialis tablets

buy viagra on line

cheap fast levitra

canadian viagra and healthcare

does generic cialis work

discount cialis india

generic viagra made in india

buying generic cialis mexico rx

info levitra

buy cheap levitra

cheap canadian viagra

cialis 5 mg

buy cialis once daily

buy dosages levitra

how to get viagra

overnight delivery viagra

buying propecia

discount propecia propecia

buy levitra uk

5 mg daily cialis

overnight delivery cialis

combine cialis and levitra

order generic levitra

buy branded viagra

buy cialis in usa

cialis fast delivery

cheap levitra without prescription

cialis for woman

best price for propecia

cialis 5 mg buy

cost levitra low

best price levitra