Showing posts with label Development. Show all posts
Showing posts with label Development. Show all posts

Thursday, April 2, 2009

Metric LOC

Metrics Utility
http://csx.jp/~marunomaruno/practice_programming_java01.html?c=appendix

CCCC - $0

CCCC is a tool which analyzes and generates a report on various metrics of the code. Metrics supported include lines of code, McCabe's complexity and metrics proposed by Chidamber & Kemerer and Henry & Kafura.

Languages: C++, Java
USC CodeCount and USC COCOMO- $0

CodeCount automates the collection of source code sizing information. The CodeCount toolset utilizes one of two possible source lines of code (SLOC) definitions, physical or logical. COCOMO (COnstructive COst MOdel), is a tool which allows one to estimate the cost, effort, and schedule associated with a prospective software development project.

Languages: Ada, Assembly, C, C++, COBOL, FORTRAN, Java, JOVIAL, Pascal, PL1
SLOCCount - $0

SLOCCount is a set of tools for counting physical Source Lines of Code (SLOC) in a large number of languages of a potentially large set of programs. SLOCCount can automatically identify and measure many programming languages.

Languages: Ada, Assembly, awk, Bourne shell and variants, C, C++, C shell, COBOL, C#, Expect, Fortran, Haskell, Java, lex/flex, LISP/Scheme, Makefile, Modula-3, Objective-C, Pascal, Perl, PHP, Python, Ruby, sed, SQL, TCL, and Yacc/Bison.
SourceMonitor - $0

SourceMonitor lets you see inside your software source code to find out how much code you have and to identify the relative complexity of your modules. For example, you can use SourceMonitor to identify the code that is most likely to contain defects and thus warrants formal review. Collects metrics in a fast, single pass through source files. Displays and prints metrics in tables and charts.

Languages: C++, C, C#, Java, Delphi, Visual Basic (VB6) or HTML
LOCC - $0

LOCC is an extensible system for producing hierarchical, incremental measurements of work product size that are useful for estimation, planning, and other software engineering activities. LOCC supports size measurement of grammar-based languages through integrated support for JavaCC. LOCC produces size data corresponding to the number of packages, the number of classes in each package, the number of methods in each class, and the number of lines of code in each method.

Languages: C++, Java
NDepend - $0

NDepend is a tool for .NET developers and architects. It analyses assemblies and source code of .NET applications and generates reports which contain design quality metrics, warnings and advices and diagrams.

Languages: .NET, C#
Eclipse Metrics Plugin - $0

Eclipse Metrics Plugin is a metrics calculation and dependency analyzer plugin for the Eclipse platform. Measure various metrics with average and standard deviation and detect cycles in package and type dependencies and graph them.

Languages: Java
Code Counter Pro - $25

Code Counter Pro is perfect for those reports you need to send to your boss - count up all your progamming lines (SLOC, KLOC) automatically, find out your team's productivity, use as handy help for measuring Function Points through Backfiring, measure comment percentages and more.

Languages: ASM, COBOL, C, C++, C#, Fortran, Java, JSP, PHP, HTML, Delphi, Pascal, VB, XML
SLOC Metrics - $99

SLOC Metrics measures the size of your source code based on the Physical Source Lines of Code metric recommended by the Software Engineering Institute at Carnegie Mellon University (CMU/SEI-92-TR-019). Specifically, the source lines that are included in the count are the lines that contain executable statements, declarations, and/or compiler directives. Comments, and blank lines are excluded from the count. When a line or statement contains more than one type, it is classified as the type with the highest precedence. The order of precedence for the types is: executable, declaration, compiler directive, comment and lastly, white space.

Languages: ASP, C, C++, C#, Java, HTML, Perl, Visual Basic
Resource Standard Metrics - $200

Resource Standard Metrics, or RSM, is a source code metrics and quality analysis tool unlike any other on the market. The unique ability of RSM to support virtually any operating system provides your enterprise with the ability to standardize the measurement of source code quality and metrics throughout your organization. RSM provides the fastest, most flexible and easy-to-use tool to assist in the measurement of code quality and metrics.

Languages: C, C++, C#, Java
SD C# Metrics - $250

Semantic Designs C# Metrics tool computes a number of useful metrics for C# program source code suites. Metrics computed at module level: Source Lines of Code (SLOC), Noncommented Source Lines of Code, Comment Lines, Number of Methods, Decision Density, Cyclomatic Complexity, Maximum loop nesting, Maximum conditional nesting, Halstead measures (volume, difficulty, effort, operators and operands), Software Engineering Institute (SEI) Maintainability Index, and Class and File counts.

Languages: C#
Understand for C++ - $495

Understand for C++ is a reverse engineering, documentation and metrics tool for C and C++ source code. It offers code navigation using a detailed cross reference, a syntax colorizing "smart" editor, and a variety of graphical reverse engineering views. Understand for C++ is an interactive development environment (IDE) designed to help maintain and understand large amounts of legacy or newly created source code.

Languages: C, C++
EZ-Metrix - $495

EZ-Metrix supports software development estimates, productivity measurement, schedule forecasting and quality analysis. With an easy Internet-based interface, multiple language support and flexible licensing features, you will be up and running in minutes with EZ-Metrix. Measure source code size from virtually all text-based languages and from any platform or operating system with the same utility. Size data may be stored in EZ-Metrix's internal database or may be exported for further analysis.

Languages: Ada, ALGOL, antlr, asp, Assembly, awk, bash, BASIC, bison, C, C#, C++, ColdFusion, Delphi, Forth, FORTRAN, Haskell, HTML, Java, Javascript, JOVIAL, jsp, lex, lisp, Makefile, MUMPS, Pascal, Perl, PHP, PL/SQL, PL1, PowerBuilder, ps, Python, Ruby, sdl, sed, SGML, shell, SQL, Visual Basic, XML, Yacc
CMT++ Complexity Measures Tool - $1200

CMT++ Complexity Measures Tool gives estimates how error prone the program source code is due to its complexity, how long it will take to understand the code, what is the logical volume of the code, etc. The code complexity is known to correlate with the defect rate and robustness of the application program.

Languages: C, C++
McCabe IQ - $ unknown

McCabe IQ enables you to deliver better, more reliable software to your end-users, and is known worldwide as the gold standard for the analysis, comprehension, testing, and reengineering of new software and legacy systems. McCabe IQ uses advanced software metrics to identify, objectively measure, and report on the complexity and quality of your code at the application and enterprise level.

Languages: Ada, ASM86, C, C#, C++.NET, C++, COBOL, FORTRAN, Java, JSP, Perl, PL1, VB, VB.NET
Semantic Designs - $ unknown

Semantic Designs provides extremely generalized compiler technology and services that can be used, for arbitrary mixes of computer languages, to implement: 1) Software Enhancement and Reengineering: Legacy System Migration, Legacy Modernization, Legacy Language Parsers, Software Transformation Tools, Massive Regular Change to Sources, Software Reengineering Tools 2) Source Code Documentation: Source Code Formatters, Source Code Obfuscators, Source Code Browsers, Hyperlinked System Cross Reference, 3) Software Quality Assessment: Software Metrics Tools, Coding Standards Checkers, Software Quality Analyzers, Test Coverage Tools, Performance Profiling Tools, Source Code Instrumentation, Fact Extraction, Custom Code Analyzers 4) Software Quality Improvement: Redundant Code Detection and Removal, Dead Code Detection and Removal, Source Code Restructuring Tools, Refactoring Tools, HTML analysis and transformation tools, XML analysis and optimization tools, Code Optimization Tools, Specification Language Analyzers, 5) Code Generation Automated Code Generation, Specification Language Translators, Custom Compilers for Legacy Languages, Domain-Specific Language Compilers, Parallel Programming Tools and Languages, 6) Hardware Description Languages Custom HDL Analyzers, Custom HDL Transformers, Intellectual Property Protection, Co-design Tools

Saturday, March 21, 2009

AutoHotkey is a free, open-source utility for Windows.

http://www.autohotkey.com/

Introduction

AutoHotkey is a free, open-source utility for Windows. With it, you can:
Automate almost anything by sending keystrokes and mouse clicks. You can write a mouse or keyboard macro by hand or use the macro recorder.
Create hotkeys for keyboard, joystick, and mouse. Virtually any key, button, or combination can become a hotkey.
Expand abbreviations as you type them. For example, typing "btw" can automatically produce "by the way".
Create custom data-entry forms, user interfaces, and menu bars. See GUI for details.
Remap keys and buttons on your keyboard, joystick, and mouse.
Respond to signals from hand-held remote controls via the WinLIRC client script.
Run existing AutoIt v2 scripts and enhance them with new capabilities.
Convert any script into an EXE file that can be run on computers that don't have AutoHotkey installed.

Getting started might be easier than you think. Check out the quick-start tutorial.
More About Hotkeys

AutoHotkey unleashes the full potential of your keyboard, joystick, and mouse. For example, in addition to the typical Control, Alt, and Shift modifiers, you can use the Windows key and the Capslock key as modifiers. In fact, you can make any key or mouse button act as a modifier. For these and other capabilities, see Advanced Hotkeys.
What Others Say

David A. Karp of PC Magazine: ...save time, keystrokes, and mouseclicks by making your own customized shortcuts ...lift the burden of repetitive tasks—like typing email replies—by doing them for you... [read the full article: Program Your Own Keyboard Shortcuts]

Wolfgang Reszel of c't Magazine: AutoHotkey sends several tools into retirement. It unites hotkey and text macros and offers a scripting-language, which is more powerful than every batch-file and easier to learn than the Windows-Scripting-Host. Beginners are able to start fast because of the scripting-language, similar to BASIC, contains a macro-recorder and syntax-checker. [read the full article: Simple automation of Windows and programs]

Dmitri Popov at NewsForge: Autohotkey features a combination that makes it a tool of choice for automating Windows: It's both powerful and easy to use. Whether you're a seasoned Windows administrator or an ordinary user, Autohotkey can make your computing life easier. [read the full article: Automating Windows with Autohotkey]

Adam Pash of Lifehacker: With AutoHotKey, I’m confident that I’ve trimmed the time I spend replying to emails down to a third of what it would be without. [read the full article: Knock down repetitive email with AutoHotKey]
Other Features
Change the volume, mute, and other settings of any soundcard.
Make any window transparent, always-on-top, or alter its shape.
Use a joystick or keyboard as a mouse.
Monitor your system. For example, close unwanted windows the moment they appear.
Retrieve and change the clipboard's contents, including file names copied from an Explorer window.
Disable or override Windows' own shortcut keys such as Win+E and Win+R.
Alleviate RSI with substitutes for Alt-Tab (using keys, mouse wheel, or buttons).
Customize the tray icon menu with your own icon, tooltip, menu items, and submenus.
Display dialog boxes, tooltips, balloon tips, and popup menus to interact with the user.
Perform scripted actions in response to system shutdown or logoff.
Detect how long the user has been idle. For example, run CPU intensive tasks only when the user is away.
Automate game actions by detecting images and pixel colors (this is intended for legitimate uses such as the alleviation of RSI).
Read, write, and parse text files more easily than in other languages.
Perform operation(s) upon a set of files that match a wildcard pattern.
Work with the registry and INI files.



Software License: GNU General Public License

Mouse and Key Automation Tools

http://www.nonags.com/nonags/auto.html

Prishtina MagicKeys 1.0
Compatible with: Win9x, ME, XP, Vista
Filename: magickeys.msi
Size: 281 kb
Author: Prishtina Soft
More Details & Downloads
Description: Prishtina MagicKeys is a text replacement utility. It allows the user to define an endless amount of keystrokes to be replaced by text or paragraphs. The software observes the keys that the user types and replaces the defined keystroke with the corresponding text. This allows users to save a lot of time by removing the tedious task of repeatedly typing long text.

* Create an unlimited amount of tables
* Unlimited amount of Keywords per table
* Create replacement text of up to 30,000 charachters
* Stays hidden from view while monitoring keywords
* Freeware

HOME - TOP
V-Control v3.05

V-Control v3.05
Compatible with: Win2k, XP, Vista
Filename: V-Control3-win_en.zip
Size: 8 mb
Author: VMAN
More Details & Downloads
Description: Multipurpose automation software, controlling almost any kind of devices with control interface (RS232/422/485, TCP, UDP, DMX, MIDI, Web etc.).

Show Control:
Control hard disk video- and audio players, VTR's, crossbars / matrix switches, video projectors, relays, DMX and MIDI equipment in Theme Parks, Museums, Theatres and Show Events.

Home Control:
Expand your Windows, Linux or Mac home server to an universal home control system. Control all connected devices via web interface. Beside RS232 and TCP, we also support X10 and RF.

Control Room:
Integrate V-Control in monitoring an control facilities. Alarm and status messages, comming from RS 232 / 422 / 485, TCP or UDP interfaces, being processed in a multitasking environment.

HOME - TOP
Magic Do 1.0

Magic Do 1.0
Compatible with: Win9x, NT4, ME, Win2k, XP, Vista
Filename: magic_do_setup.exe
Size: 588 kb
Author: electronicdesignworks
More Details & Downloads
Description: Magic Do is a VHDL hierarchy builder that automates the process of generating ncsim or modelsim compilation macros. The same file list can also be reused for synthesis of scripts and/or compilation macros for any other simulator.

Features
1) Automatically generates compilation macro.
2) Automatically finds and includes required packages.
3) Automatically inserts 87 and 93 option for each file.
4) Provides Alternate folder (optional).
5) Generates unused files and multiple component definition report (optional).

HOME - TOP
AutoIt 3.2.10.0

AutoIt 3.2.10.0
Compatible with: WinALL
Filename: autoit-v3-setup.exe
Size: 6.5 mb
Author: AutoItScript
More Details & Downloads
Description: AutoIt v3 is a freeware BASIC-like scripting language designed for automating the Windows GUI and general scripting. It uses a combination of simulated keystrokes, mouse movement and window/control manipulation in order to automate tasks in a way not possible or reliable with other languages (e.g. VBScript and SendKeys). AutoIt is also very small, self-contained and will run on all versions of Windows out-of-the-box with no annoying "runtimes" required!

AutoIt was initially designed for PC "roll out" situations to reliably automate and configure thousands of PCs. Over time it has become a powerful language that supports complex expressions, user functions, loops and everything else that veteran scripters would expect.

Features:

- Easy to learn BASIC-like syntax

- Simulate keystrokes and mouse movements

- Manipulate windows and processes

- Interact with all standard windows controls

- Scripts can be compiled into standalone executables

- Create Graphical User Interfaces (GUIs)

- COM support

- Regular expressions

- Directly call external DLL and Windows API functions

- Scriptable RunAs functions

- Detailed helpfile and large community-based support forums

- Compatible with Windows 95/98/ME/NT4/2000/XP/2003/Vista

- Unicode support

- Digitally signed for peace of mind

- Works with Windows Vista's User Account Control (UAC)

AutoIt has been designed to be as small as possible and stand-alone with no external .dll files or registry entries required

HOME - TOP
Do It Again v1.0

Do It Again v1.0
Compatible with: /Win2k/XP
Filename: SetupDoItAgain.msi
Size: 1.17 mb
Author: spacetornado software
More Details & Downloads
Description: Do It Again is a free, simple program that allows you to make your computer automatically perform a task for you, whenever you want. Record a task (or macro) then sit back and watch as your computer automates that task, clicking the mouse and pressing the keyboard by itself.

If there is something that you do on your computer over and over, and you do it exactly the same way every time (such as backing up your pictures, checking web-based email for new messages, etc.), you can tell Do It Again how to perform that task (by doing it once yourself to create the new task). Then you can run that task whenever you want and Do It Again will automatically click the buttons and press the keyboard keys (in exactly the same way as when you created the task), while you sit back and watch the task being performed on the screen.

This is also called macro or automation software, as it allows you to record a macro, then play it back to automate the actions of that macro.

HOME - TOP
ZenKEY 1.8.0

ZenKEY 1.8.0
Compatible with: Win9x/NT4/ME/Win2k/XP
Filename: ZenKEY18.exe
Size: 2.8 mb
Author: ZenCODE
More Details & Downloads
Description: ZenKEY allows you to control almost all aspects of your computer via the keyboard and mouse. Using keystrokes that work no matter what program you are in, you can:

Launch a program or bring it back into focus
Open a document, folder or Internet resource
Automatically make active or inactive windows transparent
Minimize or maximize a window
Resize, move or alter a window
Perform an internet search
Issue a Media command, such as play, pause or volume up/down
Start your screensaver or shutdown your computer
Access hidden Windows utilities
Control Winamp or compatible media players (we love QCD Player!)
Instantly display any menu of programs or actions at the mouse pointer
Launch a program automatically on ZenKEY startup
Set the Mouse pointer speed
Simulate a series of keystrokes
Switch between tasks

Using the ZenKEY configuration utility, you can add any program, add or alter any menu, and assign any keystroke to perform any action.

HOME - TOP
HotKicks 4.0

HotKicks 4.0
Compatible with: Win9x/NT4/ME/Win2k/XP
Filename: hotkicks.zip
Size: 139 kb
Author: Kunle Adegoke
More Details & Downloads
Description: HotKicks combines, in a single executable, functions which as a rule you only get by installing several programs. New users of HotKicks often wonder how they managed to use Windows without HotKicks! If you like using hotkey combinations you will love this little program. It has many built in functions like immediate or scheduled shutdown/restart/logoff/standby/hibernate, launch default browser or email client, open explorer, display important info about your computer like IP address, memory usage and so on, defragment your computer and shutdown, open/close CD drive, empty the recycle bin or/and delete files or folders at startup, delete index.dat files, backup or synchronize directories, rename multiple files, fix window on top, enable or disable your screensaver etc.

HOME - TOP
File Commander 1.2

File Commander 1.2
Compatible with: Win9x/ME/Win2k/XP
Filename: FileCommander.msi
Size: 1424 kb
Author: Cinnamon Software
More Details & Downloads
Description: File Commander helps you save time when organizing the files on your disk. If you find that you're moving, copying, or deleting the same files over and over, you can use File Commander to make a simple command that does it for you. When you run the command, your files will be moved, copied, or deleted just as if you'd done it yourself. File Commander includes a Wizard for creating new commands, with easy step-by-step instructions. There are no scripts to write and no technical jargon to understand.

HOME - TOP
AutoMouseClicker v1.25

AutoMouseClicker v1.25
Compatible with: Win9x/NT4/ME/Win2k/XP
Filename: AutoMouseClicker.zip
Size: 21 kb
Author: Mingkun Goh
More Details & Downloads
Description: Some irritaing games or softwares requires you to click many hundred times, and this program just do that for you automatically.

HOME - TOP
WinMacro v1.2.1

WinMacro v1.2.1
Compatible with: Win9x/NT4/ME/Win2k/XP
Filename: WinMacro_v1_21_exe.zip
Size: 57 kb
Author: S. Senthil Kumar
More Details & Downloads
Description: WinMacro is a simple Macro recorder/player for Windows written in Microsoft Visual C++ 6.0. It can record whatever you do at your Windows Desktop, and can replay them exactly. It doesn't record video, instead it uses windows hooking mechanisms to monitor your mouse and keyboard events, and plays them back. Therefore the recorded file is much smaller than what would be if you recorded live video, typically in the range of kilobytes.

If you are wondering what use such software will be, you'll be surprised to know it's power. WinMacro can be used to automate everyday tasks that you need to repetetively. You only have to look at Word or Excel to know how useful it is. I personally use WinMacro to connect to the internet using dialup, open browser windows and type URLs for checking my mail. All I had to do was do that once, and record the whole thing. The next time, I simply play that file back, and everything takes place automatically.

You can use it to give a practical demonstration as part of a tutorial. Just imagine, instead of instructing users to go to Start->Programs->blah blah, you can show the whole thing like somebody sitting nearby. You do what you want your users to do once, record it, and simply give the file as part of the tutorial. Users can then play back the file to get first hand knowledge. You can even use it for testing purposes, say to test a GUI. You needn't keep moving the mouse or banging the keyboard, WinMacro can do it for you.

HOME - TOP
Toolbar v1.4c

Toolbar v1.4c
Compatible with: Win9x/NT4/ME/Win2k/XP
Filename: tlbar14c.exe
Size: 499 kb
Author: Rik Blok
More Details & Downloads
Description: Provides a way to add a customized floating toolbar to any application. When a button is pressed a pre-defined sequence of keystrokes is sent to the desired window. All options for the buttons and what they do may be altered within the configuration file.

HOME - TOP
Telecurs v1.10

Telecurs v1.10
Compatible with: Win9x/NT4/ME/Win2k/XP
Filename: telec110.zip
Size: 19 kb
Author: Jason Hood
More Details & Downloads
Description: Telecurs (teleport cursor) is a Windows utility to automatically move the mouse cursor to a tab or button in a standard dialog box. After the dialog closes, the cursor can be moved back to its original position.

HOME - TOP
RemoteKeys 8.4.5

RemoteKeys 8.4.5
Compatible with: Win9x/NT4/ME/Win2k/XP
Filename: RemoteKeys.zip
Size: 1580 kb
Author: Detlev Schaefer
More Details & Downloads
Description: RemoteKeys can automate complex control systems, but also simple jobs like inserting text passages into Word and EMails, filling out (internet-) forms with recurring phrases etc. To do this simply click onto one of the 2500 buttons, which can be freely assigned and labeled. The macros can also be released by using the keyboard if prefered. For those wishing to make full use of RemoteKeys, there are over 400 commands available, e.g. inserting the actual date into a text, opening program groups and ordering them on screen or even to automize Excel calculations. The buttons may be assigned with the help of the integrated macro recorder and an integrated timer can activate these buttons. Additional features include an image memory and a clipboard history function. RemoteKeys is always at hand in the systemtray, can be individually configured, is network-able, allows database access and requires no installation. (Engl./Ger./French with manual).

HOME - TOP
Mouse Recorder 2.1

Mouse Recorder 2.1
Compatible with: Win9x/ME/Win2k/XP
Filename: mouserecorder21.exe
Size: 60 kb
Author: Tarindu Paranagama
More Details & Downloads
Description: Used to record mouse movements and clicks to play back later. Has some great features.

HOME - TOP
MacroMaker 1.0.3.1

MacroMaker 1.0.3.1
Compatible with: Win9x/NT4/ME/Win2k
Filename: MacroMakerInst.zip
Size: 225 kb
Author: Anthony Mathews
More Details & Downloads
Description: MacroMaker allows the user to build macros and assign them to hotkeys to automate tasks. The user can build a macro to simulate a series of keystrokes, execute built in functions or play back a previous recording with just a keystroke. With the copy and paste functions available you can feasibly have a clipboard, which can store text only, assigned to every key on the keyboard amongst other prebuilt functions. Changes: - Several minor bug fixes. - Better editing capabilites. - Relative mouse coordinates in the MOVE MOUSE POINTER. This way no matter where a window is moved on the screen the mouse will still move to the appropriate location in the window the user is working in. - Added the Windows and Scroll keys on the virtual keyboard. - Save As option so you can use an existing macro as a starting point when creating a new macro. - SEND KEYS command so you can easily type the characters you want to push into the keyboard buffer instead of using the virtual keyboard. For complex key strokes you will still need to use the virtual keyboard, i.e. Ctrl-C and such. - DATE and TIME commands allow you to format the way they look.

HOME - TOP
Switch Off 1.9

Switch Off 1.9
Compatible with: Win9x/NT4/Win2k
Filename: swoff19.exe
Size: 44 kb
Author: Yaroslav Pomazkov / YaSoft
More Details & Downloads
Description: Switch Off is a free easy-to-use tray-based system utility that can automatically perform various frequently used operations: Shutdown or restart your computer, disconnect your current dialup connection, lock workstation, etc.

HOME - TOP
Startup Delayer 2.0.54

Startup Delayer 2.0.54
Compatible with: Win9x/NT4/ME/Win2k
Filename: startdelay.exe
Size: 1.39 mb
Author: r2 studios
More Details & Downloads
Description: Can you learn another language in the time it takes for your machine to boot?
Do you turn on your PC when you go to bed, so it's finished booting by the time you get home from work the next day?

When Windows loads it's Startup file, it attempts to load every program in there at the same time. Therefore if you have quite a lot of programs starting when Windows starts, each program will try and grab CPU time so that it can load.

If each program tries to do this at the same time, you soon notice the slow down that occurs, due to your CPU trying to help all the programs to load, and your hard disk accessing multiple files.


Startup Delayer allows you to setup how many seconds after Windows has started, to load each program.

For Example:
If you have your mail program and a special clock starting up, then you can make your mail start say 10 seconds after Windows has loaded, and then the special clock start 20 seconds after Windows Starts.

HOME - TOP
AceMacro 2.0

AceMacro 2.0
Compatible with: Win9x/NT4/ME/Win2k
Filename: Mac10.EXE
Size: 584 kb
Author: HiTek Software
More Details & Downloads
Description: AceMacro is a macro recording and replaying utility. You can record and replay keyboard and mouse events. AceMacro can be launched from the command line to replay your recordings. Free for personal/home use only.

HOME - TOP
AutoMouse 20000730e

AutoMouse 20000730e
Compatible with: Win9x/NT4/Win2k
Filename: AE_A0730.exe
Size: 287 kb
Author: Kakuya Yamamoto
More Details & Downloads
Description: 'AutoMouse is a scripting tool, controls mouse and keyboard so you can make scripts to run applications etc.'

HOME - TOP
Sleepsmart 3.0

Sleepsmart 3.0
Compatible with: Win9x/ME
Filename: slpsmart.exe
Size: 622 kb
Author: Jake rockwell
More Details & Downloads
Description: Sleepsmart is a program to change the power scheme,disable the screensaver or schedulded tasks while any of the specified programs are running.It is useful for users having TV tuner cards or even others who watch VCDs,DVDs and for other purposes which require uninterupted operation.You can also make programs run on wakeup and terminate programs before going into suspend mode which is required for certain programs like keyboard,mouse diablers,and set sounds for wakeup and suspend.

HOME - TOP
IEMouse 1.00

IEMouse 1.00
Compatible with: Win9x
Filename: iemouse.exe
Size: 48 kb
Author: Sweet Dreams Software
More Details & Downloads
Description: Internet Explorer Mouse Cursor Moving Application - Allows quick and easy way to automatically move the mouse cursor in situation where you wish for the mouse cursor to move. Easy enable and disable options and even a automatic mouse clicker built in to fire mouse clicking events. All automatic!

HOME - TOP
ClickOff 1.40

ClickOff 1.40
Compatible with: Win9x/NT4
Filename: clickoff.exe
Size: 260 kb
Author: SoftwareHQ
More Details & Downloads
Description: This program automatically clicks buttons on annoying error messages etc. It takes about 0.3% of your CPU time which means that it doesn't slow down your system. It is only visible in your system tray and it easy to configure. German and English language file is included. CPU utilization has been lowered and unuseful options have been removed in V1.40

HOME - TOP
MyRun 1.10

MyRun 1.10
Compatible with: Win9x
Filename: MyRunInstall.EXE
Size: 582 kb
Author: Timofey Spirin
More Details & Downloads
Description: MyRun allow you to run several programms by one click. For each programm you can set pauses before/after launch, window position (hide too), process priority and some megs of physical memory to free.
Whats new:
- Multilanguage interface.
- MyRunEdit interface rewrited.
- MyRun can hide when working.
- Misc bugs fixed.

HOME - TOP
Mouse Mover 4

Mouse Mover 4
Compatible with: Win9x/NT4
Filename: mseve.zip
Size: 255 kb
Author: Chris Child's Software
More Details & Downloads
Description: MouseMove4 is the newly updated version of MouseMove, a program designed to move the mouse to prescribed locations. MouseMove4 includes support for eight movement locations, user settable jump intervals, turn off on real movement, and, newly added, support to click on any of the eight click locations. Also included is an html file that, every time the mouse moves over it (ie set it as one of the jumps) it changes its title, effectively fooling any program that is looking for web brows

Auto Clicker Open Source Code DescriptionAuthor:

Auto Clicker Open Source Code DescriptionAuthor:
http://www.appup.com/Auto-Clicker-Open-Source-Code-53412.html

Automate the Click and Keyboard inputing

Version: v1.1
Release: 0000-00-00
Platform: WinXP
File size: 0.08 MB
Price: $0
Install: No Install Support
Rating: Not rated



view larger
Click here to free download Auto Clicker Open Source Code

Other software from same author

See related software
Journal Macro
Journal Macro is an easy-to-use mouse and keyboard macro recorder, player and editor designed to help you eliminate repetitive operations. It is the easiest way to make working in Windows faster, easier, and more productive. You can set up "macros" that simplify complex or repetitive tasks and operations into a single step. Simply record anything once and then play it back at any time, at any speed, with a single keystroke!
Workspace Macro
Ease your workload. Alienate monotony. Delegate repetitive tasks to WORKSPACE MACRO. Highly accurate keyboard macro & mouse macro. Create macros in any application using a simple, intuitive process. Features unique SMART MACRO technology, password protection, repeat options, accurate high-speed replay, macro management, IE plug-in, customizable UI & scheduler integration. Rely on this 'Record once & play anytime' macro recorder and macro program.
PTR-Buster
Must have tool for PTR clickers, integrated mail client and browser, you don't need any other software with it to successfully manage more than 300+ PTR sites (tested in a month period, using 2 hours a day). Other features: automatic PTR site inbox mail download, auto clicking of freely definable number of links simultaneously, fully anti and anti-anti cheat prevention, automatic PTC banners clicking, automatic retrieval of PTR site earnings.
Internet Image Hunter
Internet Image Hunter is a you see what you get Image downloader and browser. All images that you are viewing in the web page can be saved by one mouse click. In addition, all large images under the preview small images will be auto saved. You do not need to click each thumbnail image in order to save the large images. Image Hunter can save all large images behind the thumbnail images by just one mouse click.
Internet Form Hunter
Internet Form Hunter is a built-in IE core's Internet Browser, with function as auto record and fill-in form, context sensitive online dictionary, user id and password management, bookmark handling, WYSIWYG auto image download etc. It help you to handle daily repetitious tasks such as check email, logon website and check information, submit information etc.
ActMaker
ActMake2.5 is a keyboard and mouse action recording toolkit targeted at common computer users.It can easily record your operation actions and then complete your work every month, every week, or every day at a fixed time. The strongest feature is its small size and practical functionality. It really reduces the work pressure of people. Hopefully it will be welcome by the enormous computer users.

Selenium IDE FireFox macro recorder and webtest tool

Selenium IDE FireFox macro recorder and webtest tool
Aug 20, 2008 at 1:41 PM
Post a comment

The Selenium IDE FireFox macro recorder and webtest tool can be used to record and play FireFox macrosm and for QA QC of web sites !

The config files are easy to read XML/HTML files which can be exported into Java & PHP Selenium Remote Control (RC) files.

There is a test suite HMTL file that simply defines the test cases to run. Each test case HTML file contains commands such as open/goto, click, select, type, clickandwait and verifytextpresent which helps you identify if you test succeeded or failed !

There's even a Selenium CubicTest plugin for Eclipse !

Sub Section Macro use as test automator

https://www.adaptavist.com/display/free/Sub+Section+Macro

Automating Firefox with iMacros

Automating Firefox with iMacros
http://linux.com/feature/123844
By Chad Files on January 14, 2008 (9:00:00 AM)

Share Print Comments

Do you have some mundane task that you have to do regularly through a Web browser? Are you a developer who wants to automatically test the interface of your latest Web application? Maybe you want to log into all of the sites you visit on a daily basis with one click. If you fall into any of these categories, you should check out the iMacros Firefox extension.

The iMacros for Firefox is a record and playback automation tool for the browser. The extension uses the Firefox engine to track all actions and record them in scripts that can be saved, shared, and loaded for playback. It supports most JavaScript, which sets iMacros apart from most freely available Web automation tools. The free version of iMacros cannot record actions performed on Flash objects, Java applets, or any other third-party plugins, but a $500 business edition has support for various plugins, including Flash, Java, and Silverlight.

iOpus, the company that makes iMacros, also has a free Internet Explorer version of iMacros. Each version of iMacros can run the other's scripts, so you can create testing scripts once and test on both browsers.

Once installed, iMacros adds a new button in the main navigation bar. When you click the button, a sidebar opens to display a list of recorded macros, along with a few tabs and buttons to control the macros.

To record a macro, click on the Rec tab then the Record button, then go into the main browser window. Everything you do will be recorded by iMacros and made into a script. When you are ready to stop recording, click the stop button in the iMacros sidebar. iMacros saves the current macro script as #Current.iim in its list of macros. You can play the script by clicking the Play tab then the Play button. You can stop or pause playback at any point during execution by clicking the respective button.

You can store a macro you just created in one of two ways: Either click the Save button on the Rec tab, or right-click the #Current.iim macro and choose Rename from the menu.

iMacros also has several features to manage macros. One of the most useful is the ability to edit a macro script by hand. To do this, select a macro, click the Edit tab, then the Edit Macro button. This will open a small text editor with the macro script preloaded. This feature gives you the ability to fine-tune your macros. If you would rather use a different text editor to modify the script, you can tell iMacros what editor to use in the options dialog of the Edit tab. You can change several other settings as well using this dialog.

Another useful feature is the ability to play a macro in a loop. On the Play tab you can tell iMacros how many times you want to play the selected macro by providing a Max value then clicking the Play (Loop) button. This feature gives you the ability to load-test an application and a server. By sharing and simultaneously running a macro on several computers, you can get a real-world idea of just how much traffic your services can handle.

iMacros has become part of my everyday routine. It has saved me countless hours of testing and caught several overlooked bugs.

Every Monday we highlight a different extension, plugin, or add-on. Write an article of less than 1,000 words telling us about one that you use and how it makes your work easier, along with tips for getting the most out of it. If we publish it, we'll pay you $100. (Send us a query first to be sure we haven't already published a story on your chosen topic recently or have one in hand.)

Chad Files, a software developer and writer, has been developing software applications for more than 10 years, and is a contributing developer to many open source projects.

Make iMacro as ETL util for Browser - Like Excel macros? You’ll love this..

Like Excel macros? You’ll love this..
http://blog.gobansaor.com/2007/07/17/like-excel-macros-youll-love-this/

July 17, 2007 by Tom Gleeson
Ads by Google
Windows Macro Recorder
Reliable & User-friendly macro
recorder for Windows. Download Now.
www.workspacemacro.com
Powerful Macro Recorder
Record Windows Macros and automate
any task in minutes. Free Download.
www.WinAutomation.com




One of the most used (and abused) features of Excel is its macro recording facility. How many mundane and repetitive actions have been automated using this feature? How many people found the courage to program in VBA by using the recorder as their training-wheels? Well now iMacros (from German company iOpus GmpH) a Firefox extension and an IE add-on brings macro recording to the web browser. Although Greasemonkey already enables JavaScript programmers to automate Firefox, iMacros offers the same power to non-programmers.

The macros can be saved as bookmarks and can also be shared with others (although I couldn’t get the sharing feature to work). I’ve already automated a number of tedious tasks and had hoped to use it with Google Spreadsheets, alas either the nature of Goggle’s JavaScript or inbuilt protection within Goggle Apps stopped the recorder for working. Pity, as there’s three things missing from Google Spreadsheets as it stands, pivot table support, offline ability and macro support. Google Gears will undoubtedly solve the offline problem, charts are essentially a graphical pivot so I guess a table pivot must be a possibility, iMacros or something like it could perform the duties that VBA provides to Excel. As with Office macros, security issues may well dampen the parade - iMacros allows access to the PC’s file system and a macro can be invoked from a bookmarklet camouflaged as a standard link - but I’ll not worry until (or if) the product goes mainstream.

From an ETL point of view iMacros can act as a powerful web scraping tool and as a automated form-filler. There’s also a commercial version of the product ($499.00) that exposes the tool via an ActiveX API which means Excel/VBA can be used as a web scraping/ form filling environment. If the price tag is too steep then the excellent scRUBTt is both free /open source and is ideal if you’re scraping a lot of data on a frequent basis while for small or once off tasks this equally free and open source Firefox extension is good enough.

How to run macros in Firefox, and why

How to run macros in Firefox, and why
http://download.cnet.com/8301-2007_4-10056169-12.html

by Jessica Dolcourt
Font size
Print
E-mail
Share
6 comments



My editorial job requires me to spend 90 percent of most days stationed in front of my PC. Even with an ergonomic setup, my hands get achy, especially when I'm racing against the clock. I can, thankfully, eliminate some of those repetitive tasks by automating them with a macro.

Macros are essentially scripts that run through a sequence of predefined steps. Since much of my work is Web-based, iOpus' free plug-in, iMacros for Firefox, is a great time-saver that simply lets me record my mouse actions and then translates those actions into a script I can save and even share with others.

Getting familiar with iMacros


Toggle the iMacros sidebar on and off from the toolbar.
(Credit: CNET Networks)

When you first install iMacros, it opens as a sidebar on the left that squashes your tabs to the right. Since it also installs a toolbar button (a blue browser window highlighted by a yellow gear), you can safely kill the sidebar and resurrect it from the toolbar any time you need.

At first glance, iMacros' interface is a mess of demos and tests. The demos are there to boost your learning curve, but only brought me speeds too fast to discern the process and sample downloads I didn't want and then had to delete. Forget 'em; you can get clearer step-by-step instructions online. I stashed the demos in a new folder, which cleared the clutter and made room for my own, far more useful, macros.

Recording a macro
My day, like many people, begins with a routine. TheHungerSite.com is just one bookmark I've set Firefox to open when it launches but when I'm done, I'm done and I move on to e-mail. This is a great time to create a macro: pressing record before clicking through the site's five tabs, then surfing to my Web mail and entering my password, pressing stop to finish.


The controls are simple: record, edit, and play.
(Credit: CNET Networks)

A word on passwords--iMacros gives you the option to leave passwords as they are or to encrypt them in two ways. Open passwords are insecure and visible in the script whenever you edit a macro. You can encrypt the password and shield it behind a master password by going into iMacros' Options menu (get there from Firefox's Add-Ons selection in the Tools menu.) The master password will be stored in Firefox's password manager unless you opt to reenter it each time iMacros opens.

The latter creates more hassle (and defeats the purpose of running a macro to begin with), but it is also more secure.

Making macros into bookmarks
There are as many uses for a macro as there are tasks. I gave you one above, but others are for filling out forms, for opening Web tools you always use together, and for testing Web developments; it just depends what you need to do. What matters next is how to use them. Helpfully, iMacros lets you save macro files as bookmarks for quicker launching.

There's a little process involved. Right-click the macro of choice and select Add to bookmark from the context menu. You'll see two choices. Adding the bookmark everywhere will transfer the entire macro script onto your clipboard to then paste into an e-mail, or to share on Delicious.


Turning macros into bookmarks launches them faster.
(Credit: CNET Networks)

If it's for your own Firefox use, choose to save it locally. iMacros will drop a reference URL into the bookmark instead of the entire command line. If you'd like iMacros to consider recommending it, also tag your Delicious bookmark 'for:imacros'.

You can also index the IIM file type that iMacros uses in a quick-app launcher like Launchy, Executor, or Keybreeze and type the file name. The benefit: quick execution that won't make you depress the mouse button while you scan the list for your bookmarked macro.

Here's another neat trick: those of you who use Foxmarks to sync your Firefox bookmarks will automatically import the macro when you sync with another computer.

What iMacros for Firefox doesn't have
iMacros for Firefox can save you from the physical trauma of computing busywork, for which my fingers are thankful. Yet, I still have a wish list. I'd like to schedule macros to run when Firefox launches and at other times of the day. I'd also like macros to run in the background while I'm off in other tabs; when I tried this, my macros failed.

These tasks, plus support for Flash, Java, Silverlight, and Ajax and so many more advanced features, are available in the feature-loaded business edition that costs $500, a sum hardly any individual would buy just to automate a few tasks. It would be nice if iOpus, iMacros' publisher, released an inexpensive commercial version that also let you run the macro in the background and launch it on start-up. Regardless, we're glad to see a solid freeware add-on that makes macros possible.

Functional test tools

Browser Automation tool 1.0
http://webscripts.softpedia.com/script/Internet-Browsers-C-C/Browser-Automation-tool-18310.html


(89 found)
http://www.opensourcetesting.org/functional.php

Advertisement




Abbot Java GUI Test Framework

Description:

The Abbot framework provides automated event generation and validation of Java GUI components, improving upon the very rudimentary functions provided by the java.awt.Robot class (A Better 'Bot). The framework may be invoked directly from Java code or accessed without programming through the use of scripts. It is suitable for use both by developers for unit tests and QA for functional testing.

Requirement:

TBC

Download data:

Downloadable files: 71757 total downloads to date


Anteater

Description:

Anteater is a testing framework designed around Ant, from the Apache Jakarta Project. It provides an easy way to write tests for checking the functionality of a Web application or of an XML Web service.

Requirement:

OS Independent

Download data:

Downloadable files: 16182 total downloads to date


Apodora

Description:

Apodora is a framework/tool for automating functional testing of web applications. It provides the user with programmatic control of the web browser allowing them to interact directly with the browser's user interface. It uses a database backend in order to remember how to find your html elements. This also makes your scripts easier to maintain.

Requirement:

Windows, IE6

Download data:

Downloadable files: 7396 total downloads to date


Arbiter

Description:

Document based acceptance tester. Similar to FIT in goal. Manages requirements documents in Word or RTF format that are created jointly by customer and developer. Requirements are parsed to extract a glossary and test suite.

Requirement:

OS Independent

Download data:

Downloadable files: 1729 total downloads to date


Autonet

Description:

Autonet is a GUI network test platform, internally it's based on CLI to communicate with devices. It can help you to arrange test cases, setup commands to devices ,run commands to check results and record test results

Requirement:

windows, linux and any other platform which support tcl

Download data:

Downloadable files: 1689 total downloads to date


AutoTestFlash

Description:

AutoTestFlash allows the recording and playback of tests writen in Flash and Flex. The tool website provides a live sample.

Requirement:

Windows / Flash

Download data:

No data feed available


Avignon

Description:

Avignon is an acceptance test system that allows you to write executable tests in a language that you define. It uses XML to define the syntax of the language but, if you choose to extend the language, leaves the semantics of the tests up to you. Avignon includes modules for testing HTML applications (through either IE or FireFox), Swing and .NET WinForm applications.

Requirement:

Java (MS Windows only for .NET testing)

Download data:

Downloadable files: 10112 total downloads to date


Blerby Test Runner

Description:

Ajax test runner for php. Currently supports simpletest and phpunit 3.x. Allows developers to refactor code while being able to receive instant feedback on their changes. Tracks test dependencies and automatically re-runs appropriate tests upon source changes.

Requirement:

Windows, *nix, apache

Download data:

No data feed available


Canoo WebTest

Description:

Used for functional testing of web pages, WebTest is an open source testing framework built on top of HttpUnit. It allows tests to be defined in XML as Ant targets.

Requirement:

JDK 1.2 and ANT v1.3

Download data:

No data feed available


Concordion

Description:

Concordion is an open source framework for Java that lets you turn a plain English description of a requirement into an automated test. Concordion specifications are active. Behind the scenes, they are linked to the system under test and therefore do not go out-of-date. If a change is made to the system's behaviour then the tests associated with the relevant specification will fail and let you know.

Requirement:

Java 1.5 or above

Download data:

No data feed available


Crosscheck

Description:

Crosscheck is an open source testing framework for verifying your in-browser javascript. It helps you ensure that your code will run in many different browsers such as Internet Explorer and Firefox, but without needing installations of those browsers. The only thing you need is a Java Virtual Machine.

Requirement:

Java Virtual Machine

Download data:

Downloadable files: 6197 total downloads to date


csvdiff

Description:

csvdiff is a perl script for comparing two files of comma-separated values with each other. In contrast to standard diff, it will show the number of the record where the difference occurs, the column number, and (if provided) the fieldname which is different. The separator can be set to any value you want, not just a comma. It also provides support for multiple column keys, the ability to ignore case and trim leading/tailing spaces, and the ability to ignore selected columns such as timestamps.

Requirement:

Everywhere you can install perl

Download data:

Downloadable files: 5782 total downloads to date


CubicTest

Description:

CubicTest is a graphical Eclipse plug-in for writing Selenium and Watir tests. It makes web tests faster and easier to write, and provides abstractions to make tests more robust and reusable. CubicTest's test editor is centered around pages/states and transitions between these pages/states. The model is intuitive for both Ajax and traditional web applications and supports most user interaction types. CubicTest features an innovative test recorder and test runner based on Selenium RC which are fully integrated with the graphical test editor. Tests can also run standalone from Maven 2.

Requirement:

Eclipse plug-in

Download data:

No data feed available


Cucumber

Description:

Cucumber is a tool that runs functional tests written in plain text. It supports over 20 spoken languages. Programmers then write small chunks of ruby or java code to wire the plain text tests to the system under test. Cucumber is designed for Behaviour Driven Development.

Requirement:

Ruby, JRuby, Java or any web platform

Download data:

No data feed available


DBFeeder

Description:

With DBFeeder you can automatically generate testdata for Oracle Databases which fits primary and foreign keys of tables. A file-based configuration system allows in-depth customization of the generated data.

Requirement:

independent

Download data:

Downloadable files: 425 total downloads to date


DbFit

Description:

Extension to FIT/FitNesse for test-driven database development. Enables developers to manipulate database objects in a relational/ tabular form, making database testing and management much easier then with xUnit-style tools.

Requirement:

Java/.NET

Download data:

Downloadable files: 7537 total downloads to date


DejaGnu

Description:

DejaGnu is a framework for testing applications such as Tcl, C, C++, Java and network applications and cross testing of embedded systems. Its purpose is to provide a single front end for all tests. Think of it as a custom library of Tcl procedures crafted to support writing a test harness.

Requirement:

MacOS, Windows, POSIX

Download data:

No data feed available


Dogtail

Description:

Dogtail is a GUI test tool and automation framework written in Python. It uses accessibility technologies to communicate with desktop applications. Dogtail scripts are written in Python and executed like any other Python program.

Requirement:

Python 2.3 or higher

Download data:

No data feed available


Doit: Simple Web Application Testing

Description:

Doit is a scripting tool and language for testing web applications that use forms. Doit can generate random or sequenced form fill-in information, report results (into a database, file, or stdout), filter HTML results, and compare results to previous results, without having to manually use a web browser. It uses a console-based web client tool (like Curl or Wget) to send and receive HTTP requests and responses respectively.

Requirement:

You must have Perl 5 or greater and the appropriate Perl modules (detailed in Doit manual) installed on your system before you can use SPL.

Download data:

Downloadable files: 883 total downloads to date


Eclipse TPTP

Description:

The Eclipse test and performance tools platform (TPTP) provides support for three types of testing: Performance testing of HTTP applications, JUnit testing and manual testing. Although each of these areas of testing has its own unique set of tasks and concepts, two sets of topics are common to all three types: creation and use of datapools, and creation of test deployments.

Requirement:

Eclipse

Download data:

No data feed available


EMOS Framework

Description:

EMOS Framework is a simple yet powerful environment for development of automated WinRunner? tests. Like most frameworks of this sort EMOS Framework separates test data from the test code in order to simplify and speed up test development, increase robustness of the produced solution, and empower non-programmers towards test automation. It is almost completely written in WinRunner's own scripting language, TSL.

Requirement:

Mercury WinRunner, All 32-bit MS Windows (95/98/NT/2000/XP)

Download data:

Downloadable files: 10311 total downloads to date


Enterprise Web Test

Description:

Enterprise Web Test allows Java programmers to write re-usable tests for web applications that, unlike HttpUnit, "drive" the actual web browser on the actual platform they intend to support. Tests can be leveraged for functional, stress, reliability.

Requirement:

Microsoft, OS Independent, Linux

Download data:

Downloadable files: 11010 total downloads to date


Expect

Description:

Expect is a Unix automation and testing tool, for automating interactive applications such as telnet, ftp, passwd, fsck, rlogin, ssh, tip, etc. And by adding Tk, you can also wrap interactive applications in X11 GUIs.

Requirement:

Windows / UNIX

Download data:

No data feed available


Frankenstein

Description:

Frankenstein is a Functional Testing tool for Swing applications. Frankenstein's focus is on readable, simple, fast functional tests that can be shared and run by everyone on a team. Apart from automating your functional tests, you could also use Frankenstein for recording bugs so that they may be easily reproduced later.

Requirement:

JDK 1.4+

Download data:

No data feed available


GITAK

Description:

TIBCO General Interface Test Automation Kit (GITAK) is a test-automation tool for Ajax applications. GITAK extends the Selenium Core test tool for Web applications. It lets developers create automated test cases and run scenarios to validate that an application is performing properly. Once a library of test cases has been built, the Ajax applications and changes to them can be tested with the push of a button.

Requirement:

IE 6, IE7, Firefox 2, Fireox 1.5.x

Download data:

No data feed available


GNU/Linux Desktop Testing Project

Description:

GNU/Linux Desktop Testing Project (GNU/LDTP) is aimed at producing high quality test automation framework and cutting-edge tools that can be used to test GNU/Linux Desktop and improve it. It uses the "Accessibility" libraries to poke through the application's user interface. The framework has tools to generate "AppMap" by reading through the user interface components of an application. The framework also has tools to record test-cases based on user-selection on the application. GNU/LDTP can test any GNOME application which are accessibility enabled, Mozilla, OpenOffice.org, any Java application (should have a UI based on swing) and KDE 4.0 applications based on QT 4.0 (based on the press releases by KDE).

Requirement:

Linux

Download data:

No data feed available


Harness

Description:

An open source Java API for creating Java test software

Requirement:

TBC

Download data:

Downloadable files: 1721 total downloads to date


httest

Description:

Scriptable HTTP Test Tool for testing and benchmarking webapplication and HTTP server development. Can act as client (requesting) and server (backend for reverse proxys). Pattern matching answers (both server(s)and client(s)) to test validity. Has a very simple but powerfull syntax. Can execute and stream shell commands into the HTTP stream and vis versa.

Requirement:

linux, solaris

Download data:

Downloadable files: 1980 total downloads to date


IdMUnit

Description:

IdMUnit is the leading xUnit automated testing framework for Identity Management that simplifies and accelerates the functional testing of the solution. Test cases are defined and implemented in spreadsheet format. This product plugs into Eclipse. Now users can Design, Deploy, Document and Test with the press of a button!

Requirement:

Cross-platform

Download data:

Downloadable files: 3469 total downloads to date


Imprimatur

Description:

Imprimatur is a web application functional testing tool. The tests are described in a simple XML file. Imprimatur handles HTTP methods, authentication and file uploads. The responses can be validated using regular expressions.

Requirement:

Java

Download data:

Downloadable files: 1884 total downloads to date


ItIN - Infopath testing in .Net

Description:

ItiN is a framework for the testing of InfoPath forms. It is derived from the WatiN testing framework which is used for testing web applications. ItiN needs Visual Studio 2005 and InfoPath 2003 with the .Net programability support installed to work. You may have some trouble with the references, but it should be OK.

Requirement:

Windows

Download data:

No data feed available


ITP

Description:

Lightweight, yet powerful web application test harness. Test scripts written in XML. No programming required and no changes required to your web application. Supports sessions/cookies, POST form data. Command line based for integration into other tools. Also useful for regression and smoke testing

Requirement:

OS independent

Download data:

No data feed available


ItsNat, Natural AJAX

Description:

ItsNat is a Java AJAX web framework with functional web test built-in. Simulates a Universal Java W3C Browser in the server, the client DOM tree is basically a clone of the server and is updated automatically when the server changes usually as the response of an AJAX event. The server can fire W3C DOM events and send them to the browser simulating user actions. These are received again by the server as in a normal AJAX app. As the test code is in the server too, can check the expected GUI changes (checking the server DOM tree) or the expected bussiness behavior (added/removed/updated data).

Requirement:

Any supported platform by Java VM 1.4 or upper

Download data:

Downloadable files: 1174 total downloads to date


ivalidator

Description:

Regression testing framework written in java but by no means restricted to java testing. Test suites are declared in XML. Especially designed for complex testing scenarios and integration testing.

Requirement:

JDK 1.3

Download data:

No data feed available


Jacobie

Description:

Jacobie is a Java API for use with Internet Explorer. Based on the JACOB project (JAva to COm Bridge) and the IE COM Object, it directly controls IE from java. This API can be used as a true end-user web browser test with IE and not a Http-Based test such as HttpUnit.

Requirement:

All 32-bit MS Windows (95/98/NT/2000/XP)

Download data:

Downloadable files: 2270 total downloads to date


Jameleon

Description:

Jameleon is a plug-in driven automated testing tool that separates applications into features and allows those features to be tied together independently, creating test cases. Test cases can be data-driven and executed against different environments and test case docs are generated from the test cases. The goal is to create an automated testing tool that can be used for the enterprise. A UI that ties a series of features to a test case, generating both the test script and the test case documentation is in the works.

Requirement:

OS Independent, JDK 1.4 or higher

Download data:

Downloadable files: 58928 total downloads to date


jDiffChaser

Description:

jDiffChaser is a GUI comparison tool that automates diffs detection between versions. You can record and play scenarios on two different releases of the same Swing application (in sequential or parallel mode); jDiffChaser compares both screens, shows you the differences and list them in a report with images highlighting the diffs.

Requirement:

Linux, OS X, WinXP

Download data:

Downloadable files: 794 total downloads to date


Jemmy

Description:

Jemmy is a tool allowing you to create automated tests for Java GUI applications. Tests are written on Java, using Jemmy as a regular Java library. No recording (yet), no GUI, no XML, no bells and whistles - all the work being done in Jemmy is dedicated to test stability, so it could be used for big, complicated and "dynamic" Java GUI applications.

Requirement:

Java 1.2 or above

Download data:

No data feed available


JFunc: JUnit Functional Testing Extension

Description:

JFunc is an extension to the JUnit testing framework to make it easier for use with functional tests. Functional testing (also called integration testing) significantly differs from unit testing in a number of respects. Part of this project is dedicated towards putting together code to address these differences; the other part of this project is putting together methodologies for functional testing.

Requirement:

JUnit

Download data:

Downloadable files: 5711 total downloads to date


JSystem

Description:

JSystem is an open source framework for writing and running automated system testing. JSystem includes: 1. Services Java API - exposes JSystem services 2. JSystem Drivers- Java modules used to interfaces with the system under test. 3. JRunner - GUI application interface used for creating and running tests scenarios. 4. JSystem Agent - Execution engine used to run scenarios on a distributed setup. 5. JSystem Eclipse plug-in - accelerates the development environment setup and enforces JSystem conventions. JSystem is based on JUnit (tests and steps) and Ant (execution engine).

Requirement:

Independent

Download data:

Downloadable files: 5607 total downloads to date


jWebUnit

Description:

jWebUnit is a Java framework that facilitates creation of acceptance tests for web applications. jWebUnit provides a high-level API for navigating a web application combined with a set of assertions to verify the application's correctness. This includes navigation via links, form entry and submission, validation of table contents, and other typical business web application features. This code utilizes HttpUnit behind the scenes. The simple navigation methods and ready-to-use assertions allow for more rapid test creation than using only JUnit and HttpUnit.

Requirement:

OS Independent

Download data:

Downloadable files: 69727 total downloads to date


Latka

Description:

Latka is a functional (end-to-end) testing tool. It is implemented in Java, and uses an XML syntax to define a series of HTTP (or HTTPS) requests and a set of validations used to verify that the request was processed correctly.

Requirement:

JDK 1.3 or better

Download data:

No data feed available


Linux Test Project

Description:

The Linux Test Project is a collection of tools for testing the Linux kernel and related features. Our goal is to improve the Linux kernel by bringing test automation to the kernel testing effort.

Requirement:

Linux

Download data:

Downloadable files: 158057 total downloads to date


LogiTest

Description:

LogiTest is the core application in the LogiTest suite. The LogiTest application provides a simple graphical user interface for creating and playing back tests for testing Internet-based applications.

Requirement:

JDK 1.2 or higher

Download data:

Downloadable files: 10596 total downloads to date


LReport

Description:

Command line tools for comparing csv files and databases (on the level of particular selects). The tools also support test documentation by nice formatting of selects' results.

Requirement:

Tested on Win32 but should work on other platforms

Download data:

Downloadable files: 773 total downloads to date


MActor

Description:

MActor is an extensible tool for system integration testing. It can facilitate tests of any XML-based integration regardless of the type of message transfer protocol used (HTTP, SOAP, file-system and IBM MQ series are currently supplied with the tool)

Requirement:

OS Independent

Download data:

Downloadable files: 1560 total downloads to date


Marathon

Description:

Marathon is a general purpose tool for both running and authoring acceptance tests geared at the Java Platform Version 1.3 or later. Included with marathon is a rich suite of components to help you interact with your application at the User Interface Level (GUI). To aid with the regression testing of existing applications, Marathon comes bundled with a recorder to capture events as you use and interact with your applicationand. These events are then converted into a valid Marathon test which can subsequently be played back.

Requirement:

Java 1.3 or later

Download data:

Downloadable files: 43214 total downloads to date


MaxQ

Description:

MaxQ is a free web functional testing tool. It includes an HTTP proxy that records your test script, and a command line utility that can be used to playback tests. The paradigm of MaxQ is similar to commercial web testing tools like Astra QuickTest or Empirix e-Test. These products are quite expensive. MaxQ hopes to provide the essential features: HTTP test recording, scripting, and playback without the huge cost.

Requirement:

Java 1.2 or later

Download data:

No data feed available


Mockito

Description:

Java mocking is dominated by expect-run-verify libraries like EasyMock or jMock. Mockito offers simpler and more intuitive approach: you ask questions about interactions after execution. Using mockito, you can verify what you want. Using expect-run-verify libraries you are often forced to look after irrelevant interactions. Mockito has very slim API, almost no time is needed to start mocking. There is only one kind of mock, there is only one way of creating mocks. Just remember that stubbing goes before execution, verifications of interactions go afterwards.

Requirement:

Java

Download data:

No data feed available


MozUnit

Description:

Develop test-first style or just test against regressions: MozUnit provides framework, test runner, source browser, and API hooks for personalized reports. MozUnit is part of MozLab, a suite of tools and libraries for developers of AJAX and Mozilla applications, packaged as a Firefox extension.

Requirement:

Firefox

Download data:

No data feed available


OLVER - Open Linux VERification

Description:

OLVER is an open source test suite for automated conformance and functional testing of various Linux distributions against LSB standard requirements on base system interfaces behavior. The tests are being developed at the Linux Verification Center of Russia.

Requirement:

Linux

Download data:

No data feed available


Om

Description:

Om (pronounced as "Oh m") is an Open source command-line tool for generating data for Random Testing & Field testing. It reduces a lot of effort when we need to generate stressful text data for field testing. Om can generate data in three different ways using its three different modes of Operation. User can provide an option for generating data consisting of different character types like uppercase, lowercase, numerical, others or any combination of the above four. Om also comes with user manual. Moreover it can also generate Random data required for Random testing.

Requirement:

Windows

Download data:

No data feed available


org.tigris.mbt

Description:

org.tigris.mbt is an implementation of Model-based testing built in Java. It allows you to generate test sequences from a finite-state machine (graph). The test sequences can be created statically, or run dynamically.

Requirement:

Any platform that runs Java 1.4.2

Download data:

No data feed available


PAMIE

Description:

(PYTHON AUTOMATION MODULE FOR INTERNET EXPLORER) is a scripting tool for website testing. PAMIE can manipulate elements on the web page, such as links, textboxes, images, listboxes, checkboxes, radiobuttons, submit buttons, ect.

Requirement:

Windows NT/2000

Download data:

Downloadable files: 12691 total downloads to date


Pounder

Description:

Pounder is a utility for testing Java GUIs. It allows developers to dynamically load components, record scripts, and then use those scripts in JUnit. It supports custom components, drag and drop, and the examination of test runs in source. This project is no longer being actively developed. For similar tools under active development, the Pounder team recommend considering Abbot, Marathon, jfcunit and others.

Requirement:

OS Independent

Download data:

Downloadable files: 7211 total downloads to date


pywinauto

Description:

pywinauto is a python package that allows you to automate the windows GUI. Very easy to get started, and quite powerful. There is a screencast at... http://www.showmedo.com/videoPage?name=UsingpyWinAutoToControlAWindowsApplication

Requirement:

Windows 2000, XP, +

Download data:

Downloadable files: 15899 total downloads to date


QAT (Quality Assurance Tests)

Description:

QAT was developed to ease the issues encountered by having to perform Quality Assurance tests across a variety of hardware and software combinations. The QAT tool can be divided into two main sections, the Agent, responsible for actually running each test or group of tests, and the Harness, which is responsible for test selection, management, result and agent co-ordination.

Requirement:

Java 2

Download data:

Downloadable files: 3871 total downloads to date


QMTest

Description:

CodeSourcery's QMTest provides a cost-effective general purpose testing solution that allows an organization to implement a robust, easy-to-use testing program tailored to its needs. QMTest's extensible architecture allows it to handle a wide range of application domains: everything from compilers to graphical user interfaces to web-based applications.

Requirement:

QMTest works with most varieties of UNIX, including GNU/Linux, and with Microsoft Windows.

Download data:

No data feed available


Rasta

Description:

Rasta is a keyword-driven test framework using spreadsheets to drive testing. It?s loosely based on FIT, where data tables define parmeters and expected results. The spreadsheet can then be parsed using your test fixtures.

Requirement:

Windows, Ruby

Download data:

No data feed available


Robot Framework

Description:

Robot Framework is a Python-based keyword-driven test automation framework for acceptance level testing and acceptance test-driven development (ATDD). It has an easy-to-use tabular syntax for creating test cases and its testing capabilities can be extended by test libraries implemented either with Python or Java. Users can also create new keywords from existing ones using the same simple syntax that is used for creating test cases.

Requirement:

OS Independent

Download data:

No data feed available


Sahi

Description:

Sahi is an automation and testing tool for web applications, with the facility to record and playback scripts. Developed in Java and JavaScript, it uses simple JavaScript to execute events on the browser. Features include in-browser controls, text based scripts, Ant support for playback of suites of tests, and multi-threaded playback. It supports HTTP and HTTPS. Sahi runs as a proxy server and the browser needs to use the Sahi server as its proxy. Sahi then injects JavaScript so that it can access elements in the webpage. This makes the tool independant of the website/ web application.

Requirement:

OS Independant. Needs Java 1.4+

Download data:

Downloadable files: 42014 total downloads to date


Samie

Description:

S.A.M. for I.E. is a Perl module (SAM.pm) that allows a user to run automated tests for their browser applications.

Requirement:

Windows NT/2000

Download data:

Downloadable files: 18418 total downloads to date


Sauce Labs: cloud-based Selenium service

Description:

Sauce Labs is a cloud-based Selenium service that runs test scripts concurrently. It delivers radically faster test suite completion times and removes the hassle of setting up your own Selenium test machines. User transition to (or from) our service is typically as easy as putting some API calls into a build script or cron job. Generic Selenium in, standard Selenium results out. Just screaming fast and no admin headaches.

Requirement:

Cloud computing service. API available in Ruby, Python, Perl, and curl.

Download data:

No data feed available


Scalable Test Platform

Description:

STP is a system for automating the QA testing process for the Linux Kernel, as well as automating benchmarking and regression testing on diverse hardware systems.

Requirement:

Linux

Download data:

No data feed available


Selenium

Description:

Testing tool for browser-based testing of web applications. It can be used both for functional, compatability (it has extensive cross-browser support) and regression testing.

Requirement:

Windows, Linux or Mac

Download data:

No data feed available


SharpRobo

Description:

SharpRobo is a Functional Testing and Recording tool for WinForm applications written in C#. It supports all the standard WinForm controls. SharpRobo records the tests in FIT format which can be played back using Fit (File or Directory Runner).

Requirement:

Windows NT/2000/XP

Download data:

No data feed available


soapui

Description:

soapui is a java-swing based desktop application for inspecting, invoking and functional testing of webservices over HTTP. It is mainly aimed at developers/testers providing and/or consuming webservices (java, .net, etc). Functional testing can be done interactively in soapui or within a CI-process using the soapui maven plugin.

Requirement:

Java 1.5

Download data:

Downloadable files: 648650 total downloads to date


Software Automation Framework Support

Description:

Software Automation Framework Support (SAFS) provides for the implementation of compatible keyword-driven test automation frameworks. Currently, developing independent, multi-platform, Java-based Driver. Will be followed by independent, multi-platform Engines.

Requirement:

All 32-bit MS Windows (95/98/NT/2000/XP)

Download data:

Downloadable files: 55987 total downloads to date


Software Testing Automation Framework (STAF)

Description:

The Software Testing Automation Framework (STAF) is an open source, multi-platform, multi-language framework designed around the idea of reusable components, called services (such as process invocation, resource management, logging, and monitoring). STAF removes the tedium of building an automation infrastructure, thus enabling you to focus on building your automation solution. STAX is an execution engine which can help you thoroughly automate the distribution, execution, and results analysis of your testcases. STAX builds on top of three existing technologies, STAF, XML, and Python, to place great automation power in the hands of testers. STAX also provides a powerful GUI monitoring application which allows you to interact with and monitor the progress of your jobs.

Requirement:

Windows, Linux, Solaris, AS/400, AIX, HP-UX, Irix

Download data:

Downloadable files: 308189 total downloads to date


Solex

Description:

This project is a set of Eclipse plugins providing non regression and stress tests of Web application servers. Test scripts are recorded from internet browser thanks to a built in web proxy.

Requirement:

Eclipse 2.1 or above

Download data:

Downloadable files: 32352 total downloads to date


SWAT (Simple Web Automation Toolkit)

Description:

The Simple Web Automation Toolkit (SWAT) is a library written in C# designed to provide an interface to interact with several different web browsers. SWAT also includes components to integrate with Fitnesse allowing Q/A engineers to automate web application testing.

Requirement:

Windows (IE and FireFox)

Download data:

Downloadable files: 3016 total downloads to date


SWTBot

Description:

SWTBot is a functional testing tool for SWT and Eclipse applications. The focus of SWTBot is to provide a simple, readable and fast way to write tests. The API is simple which means that everyone on a team can use SWTBot to write functional tests. It is also very flexible when it comes to extensibility.

Requirement:

SWT/Eclipse

Download data:

No data feed available


Systin

Description:

Systin stands for System Testing in .Net and allows you to write system-level tests in a ?domain language?. This is a port of the popular Systir program. Systin will allow for an abstraction of Test Case specification and Test Case automation execution.

Requirement:

.Net Windows

Download data:

Downloadable files: 1403 total downloads to date


tclwebtest

Description:

Tclwebtest is a tool for writing automated tests on web applications in tcl. It implements some basic html parsing functionality to provide comfortable commands for operations on the html elements (most importantly forms) of the result pages.

Requirement:

OS Independent

Download data:

Downloadable files: 3584 total downloads to date


TestGen4Web

Description:

A capture-replay tool which can record user actions on Firefox, saving the recording to an XML file, and replaying the saved recording. The output of the recorder can also be translated into automatic testing scripts such as httpunit, selenium, simple-test, etc.

Requirement:

Firefox 1.5 alpha1 +

Download data:

No data feed available


TestPlan

Description:

TestPlan is an automated testing tool for testing interactive web systems. It offers these features: * Testing web pages via a Firefox or Internet Explorer, or a display-less backend * Reporting for status feedback on an entire test suite * Metrics for page responses and availability * Email and FTP for full web application testing * Unified syntax for Email, Text, HTML, CSV, and XML data * Advanced tracing for locating overnight errors * High-level specialized testing language suitable for non-developers * JavaScript and dynamic page testing

Requirement:

Any with Java

Download data:

No data feed available


TextTest

Description:

TextTest is an application-independent tool for text-based functional testing. This means running a batch-mode binary in lots of different ways, and using the text output produced as a means of controlling the behaviour of that application.

Requirement:

Most UNIX flavours + Windows XP (not Windows 9x)

Download data:

Downloadable files: 2438 total downloads to date


Tomato

Description:

Tomato - the Automation Tool Abstraction Project - is an abstraction layer for automation engines. Its design allows automation scripts or tests to be written in one language, against one library, and remain portable across different architectures, OS platforms, and even widely different automation engines (e.g. Mercury Interactive WinRunner or the Linux Desktop Test Project).

Requirement:

Windows/Linux

Download data:

No data feed available


Toster - The Object-oriented Sofware Testing Environment

Description:

Toster is a system for sharing a set of tools that allow you to implement methods for object-oriented testing. Any method based on UML diagrams and on the software source code can easily be implemented as a TOSTER module. The environment itself makes a number of mechanisms available, such as information transfer from UML diagrams, mapping this information to source code, introducing modifications to the source code, launching the tested application, or presenting the results.

Requirement:

OS Independent

Download data:

Downloadable files: 507 total downloads to date


Watij

Description:

Watij (pronounced wattage) stands for Web Application Testing in Java. Based on the simplicity of Watir and enhanced by the power of Java, Watij automates funtional testing of web applications through the real browser. There is a Google group at http://groups.google.com/group/watij

Requirement:

windows

Download data:

Downloadable files: 20879 total downloads to date


WatiN

Description:

WatiN stands for Web Application Testing in dotNet. Inspired by Watir, WatiN enables web application testing, through Internet Explorer on a Windows platform, expressed in any .Net language.

Requirement:

Windows

Download data:

Downloadable files: 62579 total downloads to date


Watir

Description:

Watir (Web Application Testing in Ruby) is a functional testing tool for web applications. It supports tests executed at the web browser layer by driving a web browser and interacting with objects on a web page. It uses the Ruby scripting language.

Requirement:

Windows (currently only supports Internet Explorer)

Download data:

No data feed available


Web Form Flooder

Description:

Web Form Flooder is a Java console utility that will analyze a Web page, complete any forms present on the page with reasonable data, and submit the data. The utility will also crawl links within the site in order to identify and flood additional forms that may be present.

Requirement:

OS Independent

Download data:

Downloadable files: 1677 total downloads to date


WebDriver

Description:

A developer focused tool for automated testing of webapps: WebDriver has a simple API designed to be easy to work with and can drive both real browsers, for testing javascript heavy applications, and a pure "in memory" solution for faster testing of simpler applications.

Requirement:

any java-compatible platform

Download data:

No data feed available


WebInject

Description:

WebInject is a free tool for automated testing of web applications and services. It can be used to test any individual system component with an HTTP interface, and as a test harness to create a suite of automated functional and regression tests.

Requirement:

Windows, OS Independent, Linux

Download data:

Downloadable files: 61726 total downloads to date


WebTst

Description:

WebTst is a Web development test infrastructure. It aims to simplify testing by implementing a capture engine: a Web proxy which records a tester's actions using a real browser, and then replays them during testing. It comes with support for digital certificates, and a number of simple tests, such as cookie setting, pattern matching, response status, and many others. It features an extensible plug-in system.

Requirement:

POSIX, Linux

Download data:

Downloadable files: 2389 total downloads to date


WET

Description:

WET is a opensource web automation testing tool which uses Watir as the library to drive web pages. You dont have to download / install Watir separately or know anything about Watir. WET drives an IE Browser directly and so the automated testing done using WET is equivalent to how a user would drive the web pages. WET allows you to perform various checks as a part of the testing process by using Checkpoints.

Requirement:

Windows 98/ME/2000 SP3/XP SP2/Server 2003

Download data:

Downloadable files: 6019 total downloads to date


Win32::IEAutomation

Description:

A Perl module which automates functional testing of web applications. It can be used to automate any complex web application including dynamic frames and popup windows. It is an object oriented module and all methods are like user actions on web browser.

Requirement:

Windows (only Internet Explorer is supported)

Download data:

No data feed available


XML Test Suite

Description:

XmlTestSuite provides a powerful way to test web applications. Writing tests requires only a knowledge of HTML and XML. We want XmlTestSuite to be adopted by testers, business analysts, and web developers who don't have a java background.

Requirement:

Windows 95/98/2000, Windows NT/2000, Linux, SunOS/Solaris

Download data:

Downloadable files: 6114 total downloads to date


For those projects hosted on SourceForge, the project activity data is updated weekly using live newsfeeds powered by CaRP

Designing a language is hard, and M won't change that

Designing a language is hard, and M won't change that

http://weblogs.asp.net/fbouma/archive/2008/11/05/designing-a-language-is-hard-and-m-won-t-change-that.aspx

I was a bit surprised about the large scale of the positive hype around 'M' in Oslo. Fortunately, Roger Alsing wrote a 'Back to reality' post about M which stood out as a single critical remark against the sea of positivism. I like it when someone chooses to be the more sceptical voice in the crowd: this way an outsider gets a better chance to see the whole picture instead of just one side. This post is written in that light, to give my two cents in line with what Roger said and to give some more background in what I think he meant.

What's the idea of 'M', the codename for the textual language in Oslo? It's supposed to make it easy to write DSLs. A DSL is a 'Domain Specific Language', which in short is a name for a language (in any shape or form!) to express behavior, data structures, data and what have you, for a specific, narrow, well defined domain. So if you want your application to have a custom set of rules, definable by the user, a DSL might be a good mechanism to formulate these rules in. Make no mistake about what a DSL is though: a grid, form, text in a textfile, can be a representation of a DSL. It's a concept, not a physical toolkit.

Everyone who has ever written a parser for a grammar, defined a grammar for a language or designed a language, has probably read or heard about the 'Dragon book', or more officially: Compilers: Principles, Techniques, and Tools, by Aho, Sethi and Ullman. In that book, it's explained in all detail what's needed to define a language, to recognize elements in texts containing elements defined in the grammar of the language, parse it and do something with that parse result. It's not a book for the hobby programmer, and for a reason: computer languages, and thus also DSLs, are complex beasts to handle. The domain of computer languages has been studied a lot in the past decades and it's one of the few fields in Computer Science which can be considered a bit more mature than the rest: today, the aspects of computer languages, grammars, lexers, parsers and friends are well understood and documented in many papers and books.

One of the nice things of a relatively mature field is that the techniques to work with the material are fairly mature as well. This means that if you want to define a grammar, look for a way to understand texts defined in that grammar, the solutions are available to you in mature formats, with tooling which has proven its value for many years. The question that arises often is of course: with all this tooling and knowledge, is it possible for a less educated / hobby programmer (or a non-programmer) to define a language for a given domain so the domain's complexity is easier to handle? (because that's the main purpose of DSLs). The answer is sadly: no, it's not. As the M toolset is too a toolset for producing a parser and do something with the input, it too doesn't make things easier. I'll explain why below.

The L(AL)R(k) vs. LL(k) difference
If you already wonder what LALR, LR and LL stand for, I've proven my point. I've linked them to the Wikipedia articles, so if you're not familiar with the terms you can read up and follow the rest of the argument. LALR and LR are so called 'Rightmost derivation' parsers, which can be seen as 'bottom up': it uses a stack and a state machine to recognize Non-Terminals in the input so it can in the end, understand the complete input.

When an LR parser understands it has seen a Non-Terminal N, it will replace the elements in the input stream (Terminals and / or Non-Terminals) with the Non-Terminal it just recognized. This is called 'Reduce', and it's typical an event which is used to trigger handler code outside the parser, e.g. to build up the Abstract Syntax Tree (AST). This process continues till it has reduced the whole input stream to a single Non-Terminal, the start symbol. As the Wikipedia article describes, writing a parser for LR(k) grammars by hand is hard, as you have to produce tables with data for the parser engine which is a state machine. A generator can help there. A good example of such a generator is the Gold Parser or YACC. The Gold Parser comes with a visual toolkit which allows you to test and debug your grammars.

The main problem with LALR/LR languages is that grammars can lead to conflicts, in the form of reduce/reduce conflicts or shift/reduce conflicts or even shift/shift conflicts. The conflicts all arise inside the parser's state machine where it is in state S and the path to get there with the current input decides which state will follow. Reduce/reduce conflicts occur when the parser sees an input element E and on the stack are a group of elements which together with E form a match for two (or even more!) Non-Terminals: it can't decide, based on E and the stack contents, which Non-Terminal should replace the set of elements on the stack + E. A shift/reduce conflict arises when the parser sees an element E and it has to decide whether replace the set of elements on the stack + E with Non-Terminal N1, or push E onto the stack (shift) to try to form the required elements for Non-Terminal N2. Shift/shift conflicts occur when the parser can't decide for which Non-Terminal to push onto the stack (shift) the input element E.

These conflicts should be resolved to have a proper language which doesn't contain a bug by itself. It's sometimes sufficient to pick one over the other (e.g. shift instead of reduce in a shift/reduce conflict) but it's in general not adviced to do so. Add to that that as soon as a language is ambiguistic, (like C# and VB.NET are for example), it's harder to solve these conflicts: the parser has to 'look ahead' to see what's coming to decide what to do. LALR parsers therefore are less suffering from these conflicts, yet it's something one has to deal with in a lot of cases. Though to be able to solve these conflicts, one has to understand how the parsing process works.

There's another type of parser, the LL(k) parser. An LL(k) parser is a Leftmost derivation parser, which means that it's a top-down parser. It doesn't use shift/reduce tables and a stack, instead it simply looks at the input and calls a handler for the Non-Terminal the input symbol is the start symbol of and leaves the handling to that handler. So instead of waiting for the parser to see the complete 'If' expression for the 'If' Non-Terminal to reduce it and call the handler for the 'If' Non-Terminal, it calls the 'If' Non-Terminal handler after it sees a Terminal 'if' and expects the If Non-Terminal handler to take care of it. LL(k) parsers can be seen as state machines similar to LR/LALR parsers, yet the state machine is less visible: it's inside the handler code.

As the handling of a Non-Terminal is done in a process you have every control over, as you're there along the way, it's much easier to handle errors: if you expect a ')' and it's not there, you can report the error and act as if you've seen that bracket and move on, to handle more errors (or to even ignore the error, if the language has to be very flexible). An LR/LALR parser can't do that easily because it simply has to give up: it sees an element E which combined with the stack contents can't be used to either shift or reduce. This makes LL(k) easier to handle ambiguistic languages and parse along when errors occur. Of course generators for LL(k) are available as well, a good example is the widely known ANTLR, which despite its name might suggest is an LL(k) toolkit.

One core difference between LL(k) and LALR/LR is that code to build the AST is inside the grammar for LL(k) and outside the grammar for LALR/LR(k). This is logical, because LL(k) is handled with custom handlers for the grammar's Non-Terminals, so the code which handles Non-Terminal N is custom made for N, containing the code to build the AST node for N along the way (of course using re-usable classes/methods, but the structure of the handler is unique for that Non-Terminal). To be able to do that, the custom code is specified inside the grammar which is fed to the generator which produces a proper parser for the grammar, including the custom code. For LALR/LR grammars, the code can be outside the grammar because the generator doesn't generate any code, it generates data, which is the input for the state machine to make sure the parser knows what to do when a given input is seen.

My experience with both LALR/LR and LL is that with LL, it's easier to write a grammar but harder to produce custom code for the final parser: it's very hard to debug code which is inside a grammar which is used to generate a parser which task it is to build an AST from the input which in turn is used to do something with the input. For LALR/LR it's hard(er) to get the grammar right, harder to get good error recovery, but writing the handling code to build the AST is relatively easy: you just fill in the blanks for every Non-Terminal in your grammar. I know that in one of the Oslo presentations, it was shown that the language could be debugged. The ANTLR tools can do that too (for Java), though does what the M tools can do, make things less complex than the complexitiy level of the ANTLR tools? One still has to know what's on the screen, what everything means and what's handled by what at what moment.

So when I look at M's elements, I can only conclude that it too has the same aspects as the well known tooling and building blocks for parsers, grammars and the like available to everyone today: it's complex. With 'complex' I mean: you need proper knowledge about computer languages, parsers and grammars to understand what's going on and how to use the tools available properly. There's nothing wrong with that: if something is hard, well... that's life, deal with it by understanding the concepts which makes a hard problem manageable. Though to me it's impossible that all crucial aspects of writing computer languages are suddenly not important anymore with M's elements on the table. Sure, people will write DSLs with M's elements, but today you can do that too with ANTLR or Gold Parser, use a visual toolkit to design, test and debug the language, and you're likely up and running in a day or two. That doesn't mean a person who has no clue what LL(k) means, what an AST is, can create a language for a given domain with ANTLR, some knowledge about parsers, grammars etc. is required. And with M's elements, this isn't any different at all.

That's not bad, not at all. It's however to me a different reality than the picture Microsoft tried to paint with the Oslo material provided through the PDC, and therefore I fully agree with what Roger said in his blogpost.

The core issue is that to be able to write a succesful DSL, you have to be able to create a grammar, within the restrictions of the system in which you have to specify the grammar. With the restrictions, rules and aspects of the various parsing techniques as the guideline of what you can do inside the grammar, it's still very hard to define a grammar for a DSL, because not only has the DSL to be expressive enough and compact enough, it also has to work on all valid input and be able to produce a proper result in the form expected. If you want to experience how complex this is, try to write a very simple business rule grammar, in EBNF, which for example allows you to specify validation rules for objects. The difficulty is for example in 'all valid input'. What's valid input for your language? How do you determine that? You do that by defining rules, which will eventually become your grammar. An initial start is probably easy, though it gets out of hand pretty quickly if you want to add another couple of Non-Terminals, or want to re-use a Terminal inside multiple Non-Terminals, which might all of a sudden lead to an ambiguistic language and thus either lead to conflicts or more complex code in your handlers.

I appreciate Microsoft for making the effort in this direction, and future will tell what the M toolbox will become. I truly hope it can meet the expectations of many people around, though I seriously doubt it will be a set of tools used by what looks like one of the big parts of the target audience: the group of people who lack the knowledge of grammars, parsers, languages and the like, as to me it doesn't lower the bar of complexity one bit. While that's not something to worry about in general, it is an aspect we have to be careful about: there's already enough complexity in our field: we need elements to make things more understandable, to make complexity more manageable, not to muddy the waters as if it's all of a sudden easy as tic-tac-toe to write a grammar, language, parser and AST interpreter code and every non-programmer can create DSLs.