- Ada 2012
- Ada 2005 / 95 / 83
- Embedded Development
- Formal Methods
- Open Source
- Safety-Critical Development
- Static Analysis
Jul 31st, 2007
Better warning for unassigned entry formal
New cases of entry formals of mode OUT that are never assigned are now detected and generate unreferenced entity warnings.
As part of the 6.0.2 release, AdaCore is pleased to announce that support for the Windows OS has been extended to the new Windows Vista platform. GNAT Pro now supports all Windows platforms from Windows 2000 through to Vista.
In the near future AdaCore will announce support for Microsoft .NET bringing a commercial Ada development environment to this platform for the first time. The port will include support for Microsoft Visual Studio .NET 2005.
A press release providing more details on these ports will be issued in the coming months.
Jul 27th, 2007
Load file with spaces in debugger simulator
The debugger has been enhanced to be able to load files whose name contain spaces.
Jul 26th, 2007
New check for Text_IO.Is_Open on standard files
On Windows the standard files (Current_Input, Current_Output and Current_Error) are not usable when the application is compiled with the -mwindows option (GUI mode). In the case, Text_IO.Is_Open now returns False to warn of this unusual (and non-standard) situation.
Disabling editing of projects with variables
GPS will now prevent you from graphically editing a project that uses variables (of the form "a:=value"), since the graphical editor does not support those and would mess the project up.
New plug-in to interface with addr2line
A new plug-in is provided to interface with addr2line to convert backtraces into clickable symbolic backtraces
Dynamic Key Bindings preference removed
This preference was removed because it could result in unexpected shortcut change when a menu is open and the user press an incorrect key accelerator (users often ended up assigning "q" to /File/New, expecting to hit Exit instead. See the documentation on how to keep access to the old behavior through gtkrc files (see index in the documentation).
Locations window highlights current line error
After a compilation resulted in errors, the locations view displays these errors. In addition, it will now highlight the error corresponding to the current line in the editor, making it easier to find what is the error that occurred on that line.
Ada.Execution_Time implemented on Windows
This Ada 2005 package is now implemented on Windows.
Additional warnings for missing Valid tests
The warning for a range test that really should be a valid test is now extended to the case where explicit bounds are given that are known to match the subtype bounds.
New plug-in to show dependency path between files
A new plug-in can be activated to show why one file depends on another one, and why the compiler decides to recompile the first one when the second one has changed.
Config files saved after each change
GPS will now save its various configuration files (preferences, bookmarks, plug-ins,...) every time they are modified, even implicitely, instead of on exit. This makes sure that when you have several GPS sessions running the behavior is more user-friendly, and that these files can be edited manually even when GPS is running
New plug-in to list unused entities
A new plug-in (unused_entities.py) can be activated through the /Tools/Plug-ins menu and provides additional menus to list unused entities in a file or a project.
Jul 19th, 2007
Symbolic traceback is now supported on AIX
This includes GNAT.Traceback.Symbolic as well as gnatmem.
Jul 18th, 2007
Suppress IN-OUT warnings for access/generics
The -gnatwk warning for an unmodified IN-OUT parameter is now suppressed if the subprogram in question has Access applied, or is used as a generic actual since in these contexts the use of IN-OUT may be required even if the formal is not modified.
Jul 17th, 2007
Traceback supported on OpenVMS Itanium
Run-time non-symbolic traceback is now supported on OpenVMS Itanium. This includes support of GNAT.Traceback.
Jul 16th, 2007
Exception propagation warnings off by default
The warnings for exception propagation (which warn if the no chance handler may be entered) are now off by default (these are under control of -gnatw.x so can be turned on using this switch, they are also included in -gnatwa. These warnings are generated only if Restrictions (No_Exception_Propagation) is active. This restriction is on by default for the ZFP profile, but the ZFP profile will no longer generate the warnings by default.
Ada Web Server
Jul 16th, 2007
New high level service Web_Block
This new service is providing support for easily building web applications based on blocks. Blocks are fully independent and can be placed in any Web pages without modifying the Ada code.
Jul 15th, 2007
Better error message for bad address arithmetic
If an attempt is made at adding/subtracting an integer to/from an address value, the message now specifically suggests using System.Storage_Elements.
Jul 14th, 2007
More warnings for unused packages
In -gnatwu mode, the compiler now catches more cases of unused packages and issues appropriate warning messages.
Jul 11th, 2007
Following on from Ben Brosgol's SSTC paper, this week sees the publication of an interesting article on language choice for security-critical software:
Security in modern embedded systems is critical-- software developers must keep ahead of the “bad guys”. A key decision is the choice of programming language: while some languages make it easier to produce secure code, others seem to exacerbate rather than solve the problem. This article identifies the key requirements that a programming language must satisfy, and shows how Ada effectively meets these demands.
To read the article in full, please click here.
Jul 10th, 2007
Debugger support for spaces in directory names
The debugger has been enhanced to support the case where the path name of source files contains spaces.
Jul 9th, 2007
Improved representation of union typecodes
The internal representation of union typecodes has been improved. Its memory footprint has been reduced, and the marshalling and unmarshalling of unions are now more efficient.
Jul 5th, 2007
Support interfaces for bare board Ravenscar
The extended Ravenscar run time for ERC32 and LEON supports now all types of interfaces except task interfaces that are not allowed by the Ravenscar restrictions.
Jul 2nd, 2007
Ben Brosgol's presentation from the recent SSTC event entitled "Designing High-Security Systems: A Comparison of Programming Languages"
The high degree of interconnectivity in today's computing systems and the increasing threat from technically sophisticated adversaries make security an essential requirement in modern military software. Many technical factors affect the ease or difficulty of meeting this requirement, including the programming language, the software development tools, the operating system, and the application program interface. This presentation focuses on the programming language, which is arguably the factor that a development project manager can control most directly, and assesses three major language families with respect to the criteria that a secure system must meet:
* Ada 2005 and the Ada-based SPARK language
* C and C++
* Java and its relevant extensions (Real-Time Specification for Java, Safety-Critical Real-Time Java)
The presentation focuses in particular on how modern language features (such as the data type model, Object-Oriented Programming ("OOP"), exception handling, and concurrency) affect application security, and compares the requirememts for security and for safety.