Development Log

  • GNAT Pro | GPS | GNATbench
    May 3rd, 2012

    GPS: improve batch codefix support
    GPS now provides the ability to automatically fix similar errors in batch mode when multiple choices are available.

  • SPARK Pro
    May 1st, 2012

    Function calls in proof contexts
    It was always possible to call functions in SPARK proof contexts, however now their return annotation (if any) will appear in the hypothesis. For a function f(x) with precondition P and postcondition Q the instantiation that will appear in the hypothesis is: ((P and in_type(x)) -> Q) and in_type(f(x)). Proof functions can now be annotated with preconditions and return annotations (and they can also be refined). These annotations will also appear in the hypotheses if such a proof function is called in proof contexts (including pre- and post-conditions). This has two benefits: structured proof is much easier to achieve and the number of user rules to write will decrease significantly.

  • GNAT Pro
    May 1st, 2012

    Implementation of interfacing aspects
    The aspects Convention, Import, Export, Link_Name and External_Name are now properly implemented, as an Ada 2012 alternative for the Convention, Import, and Export pragmas (which continue to be available).

  • GNAT Pro
    Apr 25th, 2012

    Package Ada.Streams.Stream_IO is preelaborated
    As specified in AI05-0283, package Ada.Streams.Stream_IO is now declared with a pragma Preelaborate. This allows the declarations of Remote_Types and Remote_Call_Interface packages to depend on it, for support of such features as logging and persistence.

  • GNAT Pro | GPS | GNATbench
    Apr 24th, 2012

    GPS: automatic mode for “strip blanks” preference
    A new mode "Autodetect" has been added to the "strip blanks" preference. In this mode, if a file is open and contains zero trailing blanks, GPS will automatically strip trailing blanks when saving that file. Otherwise, trailing blanks will be preserved.

  • GNAT Pro | GPS | GNATbench
    Apr 24th, 2012

    GPS: strip trailing blank lines
    A new preference is provided in GPS to strip or keep trailing blank lines at end of file when saving editors.

  • CodePeer
    Apr 23rd, 2012

    More precise analysis of standard arithmetic
    CodePeer now analyzes more precisely code involving standard arithmetic functions, such as Sin and Cos, by taking into account the postconditions of these functions giving bounds and results for special values.

  • SPARK Pro
    Apr 23rd, 2012

    New proof statement for system assumptions
    A new proof statement (assume) has been added to introduce assumptions about a system. In essence, this can be used to introduce any fact into the proof system and is intended as a replacement for certain prv files. An example assumption could be "we reboot this system every 10 years, hence the uptime counter cannot overflow".

  • GNAT Pro
    Apr 23rd, 2012

    Add postconditions to standard numeric functions
    The Ada RM requires numeric functions to return values in specific ranges, and specific values for some specified argument values. Many of these are now translated as Ada 2012 Post aspects on numeric functions, so that they can used by analysis tools, such as codepeer.

  • SPARK Pro
    Apr 19th, 2012

    Further relaxation of static limits
    The symbol table has been made dynamic and the limit of 1 million source lines per file has also been relaxed - it is now 2.1 billion lines which should be enough for most...

  • GNAT Pro
    Apr 19th, 2012

    GNAAMP emits exception instructions for small lib
    On the AAMP target, when using the small library configuration, raises of Program_Error and Constraint_Error are compiled into EXCEPT1 and EXCEPT2 instructions rather than run-time calls, reducing code size.

  • GNAT Pro | GPS | GNATbench
    Apr 16th, 2012

    GB: Improved search results interaction
    In search results, when a non-nested entry is selected, the IDE opens an editor on the first enclosed match, rather than on the enclosing construct itself. For example, let's say the search finds one more more references to an entity within a subprogram. Only one entry, the subprogram name, will appear in the results, rather than every enclosed match being given an entry. Selecting that subprogram entry will open the editor at the first enclosed reference, rather than at the subprogram name.

  • GNAT Pro
    Apr 16th, 2012

    Code size reduction for controlled operations
    The output of informative messages for the case of raising Program_Error in Finalize and Adjust due to earlier exceptions is now enabled only when the switch -gnateE is used. As a consequence, code size is reduced for programs using controlled types.

  • GNAT Pro | GPS | GNATbench
    Apr 12th, 2012

    GPS: inherit ALI parser for custom language
    GPS may now be configured to use its ALI parser to read cross referencing information for custom languages.

  • GNAT Pro | GPRbuild
    Apr 11th, 2012

    Support for VxWorks Linux
    gprbuild now support VxWorks Linux targets.

  • GNAT Pro | GPRbuild
    Apr 11th, 2012

    Support for VxWorks Linux
    gprbuild now support VxWorks Linux targets.

  • GNAT Pro | GPS | GNATbench
    Apr 9th, 2012

    GPS: wildcard support in Open From Project
    Interpretation of wildcard characters is now available in the "Open From Project..." dialog.

  • gnatcoll_db2ada can now generate Create_Database
    This function (that is generated with the -adacreate switch) provides the necessary code to recreate the database from your application, with no need for the external files that define the schema and initial data of the database.

  • GNATCOLL.Readline: new package
    This package provides an interface to the readline library, providing advanced interactive input.

  • GNAT Pro
    Apr 6th, 2012

    GNAT.Command_Line: default value for string switch
    The function Define_Switch that automatically assigns the value of the parameter to a variable will now preserve the default value set in that variable, instead of systematically reseting to the empty string. This makes it easier to specify default values.

  • GNAT Pro
    Apr 6th, 2012

    GNAT.Command_Line: specify argument names
    It is now possible to specify the name of the argument, as displayed in the automatic help message, when registering switches in Define_Switch. This helps make the help message more readable.

  • Ada
    Apr 5th, 2012

    Ada 2012 Rationale - Chapter 1 - Contracts and Aspects

    Read the latest installment of the Ada 2012 Rational by John Barnes:
    Download Chapter 1 - Contracts and Aspects

  • Ada
    Apr 5th, 2012

    Ada Connection 2011 - Real-Time Management & Production Systems for Manufacturing and Energy Facilit

    Here's this Monday's installment from the Ada Connection 2011 talks. Jozef Cvirik from Ipesoft gives a talk on Real-Time Management & Production Systems for Manufacturing and Energy Facilities


    A new film added every Monday. To view all the films we've added to date, please visit the Ada Lecture Series.

  • GNAT Pro
    Apr 5th, 2012

    Extending functionality of cil2ada
    The cil2ada interfacing tool now support assemblies of .NET 4.0

  • SPARK Pro
    Apr 4th, 2012

    Minutes and Seconds predefined in RavenSPARK2005
    In RavenSPARK2005 mode, the functions Seconds and Minutes are now predefined in the package Ada.Real_Time with specifications as in the Ada 2005 LRM D.8. These functions are only predefined when both the Examiner switches -profile=ravenscar and -language=2005 are given.

  • CodePeer
    Apr 3rd, 2012

    CodePeer now takes pragma Unreferenced into account
    In the case of an assignment to a variable which is subject to an Unreferenced pragma (which indicates that the variable will never be read), CodePeer no longer generates a useless "unused assignment" warning.

  • GNAT Pro
    Apr 1st, 2012

    Improved detection of unreachable code
    Pragmas are now ignored when checking for unreachable code. This causes additional cases of unreachable code to generate warnings (or errors in SPARK mode). This also fixes the anomaly that attempting to suppress an unreachable code warning could generate a spurious warning.

  • GNAT Pro | GPRbuild
    Mar 30th, 2012

    New package Clean in project file
    A new package Clean is added in project files. It can contain declarations of attributes Source_Artifact_Extensions and Object_Artifact_Extensions, that specify the extensions of files whose names are derived from source or object file names, that reside in the object directory and that are to be cleaned by gprclean.

  • GNAT Pro | GPS | GNATbench
    Mar 30th, 2012

    GPS: Improved Emacs selection mode support
    When in Emacs mode, after setting a mark, the commands to go to the beginning and end of line will extend the selection.

  • GNAT Pro | GPRbuild
    Mar 30th, 2012

    New package Clean in project file
    A new package Clean is added in project files. It can contain declarations of attributes Source_Artifact_Extensions and Object_Artifact_Extensions, that specify the extensions of files whose names are derived from source or object file names, that reside in the object directory and that are to be cleaned by gprclean.

  • GNAT Pro | GPS | GNATbench
    Mar 29th, 2012

    GPS: isearch.py stores result of ctrl-w in history
    When you start a search (ctrl-s) and then use ctrl-w to copy parts of the current identifier as the search pattern, this pattern is now stored immediately in the history. That way, cancelling the search and restarting it with ctrl-s ctrl-s will search what was copied. (We used to update the pattern only after you pressed ctrl-s a second time after ctrl-w.) This is closer to Emacs' behavior.

  • GNAT Pro
    Mar 29th, 2012

    Enhanced heap support in GNAAMP libraries
    A more flexible version of the low-level support for heap allocations (package Heap_Simple) is integrated in the GNAAMP run-time libraries, allowing selection of different pool sizes by changing the template.lec file to include the appropriate heap_pool_*.obj. Heap support can be included or excluded based on object include directives and the setting of the symbol _HEAP_INIT in template.lec.

  • GNAT Pro
    Mar 29th, 2012

    Exception-handling support in AAMP small library
    The GNAAMP small run-time library (aamp*-small) now includes support for basic exception handling, based on a reduced version of the Ada.Exceptions package.

  • GNAT Pro | GPS | GNATbench
    Mar 27th, 2012

    GPS: UI: add custom radio menu items
    The GPS.Menu API has been enhanced to allow the creation of radio menu items and get/set their activity status.

  • GNATCOLL.SQL quotes table and field names
    When a table or field name is also a SQL keyword (or has a special meaning for one of the DBMS) it is now quoted. This gives more flexibility in what names can be used for the database model.

  • GNATCOLL.SQL.Sqlite binding for online backup API
    GNATCOLL now provides a binding to sqlite's online backup API, allowing to manipulate a database in memory and then dumping to the disk (or the opposite), which can greatly speed up operations.

  • GNATCOLL.SQL.Exec.Insert_And_Get_PK
    This new function provides an efficient way to insert a new row in a table and immediately retrieve its primary key (for instance when the key was computed from a sequence). This can be more efficient than using the function Last_Id.

  • GNATCOLL.SQL adds support for Money type
    It is now possible to use a type of "Money" for fields, which will be automatically converted to the appropriate DBMS type.

  • GNAT Pro | GPS | GNATbench
    Mar 20th, 2012

    GPS: simplify Default Builder preference
    The Default Builder preference has been simplified, with the following changes to the settings:

      - 'Gprmake' has been removed, since gprmake is no longer supported
      - 'Gprbuild' has been renamed 'Auto', which is a more accurate description
      - 'Gprbuild_Always' has been renamed 'Gprbuild', for consistency with the
        'Gnatmake' setting.
    
    
    Note that if you were using a non-default setting for this preference, you will need to reset it manually.

  • GNAT Pro
    Mar 20th, 2012

    Improved display of gnatcheck messages in GPS
    When gnatcheck is called interactively from GPS, the generated messages are displayed as warnings, and each message starts with a "check: " prefix.

  • GNATCOLL.Traces adds support for trace hierarchies
    It is now possible to use "*." or ".*" in the configuration file to change the settings for multiple trace handles.

  • Modeling
    Mar 18th, 2012

    Compilation of Heterogeneous Models: Motivations and Challenges

    The widespread use of model driven engineering in the development of software-intensive systems, including high- integrity embedded systems, gave rise to a “Tower of Babel” of modeling languages. System architects may use languages such as OMG SysML and MARTE, SAE AADL or EAST-ADL; control and command engineers tend to use graphical tools such as MathWorks Simulink/Stateflow or Esterel Technologies SCADE, or textual languages such as MathWorks Embedded Matlab; software engineers usually rely on OMG UML; and, of course, many in- house domain specific languages are equally used at any step of the development process. This heterogeneity of modeling formalisms raises several questions on the verification and code generation for systems described using heterogeneous models: How can we ensure consistency across multiple modeling views? How can we generate code, which is optimized with respect to multiple modeling views? How can we ensure model-level verification is consistent with the run-time behavior of the generated executable application?

    In this position paper we describe the motivations and challenges of analysis and code generation from heterogeneous models when intra-view consistency, optimization and safety are major concerns. We will then introduce Project P and Hi-MoCo - respectively FUI and Eurostars -funded collaborative projects tackling the challenges above. This work continues and extends, in a wider context, the work carried out by the Gene-Auto project. Hereby we will present the key elements of Project P and Hi-MoCo, in particular: (i) the philosophy for the identification of safe and minimal practical subsets of input modeling languages; (ii) the overall architecture of the toolsets, the supported analysis techniques and the target languages for code generation; and finally, (iii) the approach to cross-domain qualification for an open-source, community-driven toolset.

  • Formal Methods
    Mar 18th, 2012

    Integrating Formal Program Verification with Testing

    Access the paper here.

    Verification activities mandated for critical software are essential to achieve the required level of confidence expected in life-critical or business-critical software. They are becoming increasingly costly as, over time, they require the development and maintenance of a large body of functional and robustness tests on larger and more complex applications. Formal program verification offers a way to reduce these costs while providing stronger guarantees than testing. Addressing verification activities with formal verification is supported by upcoming standards such as do-178c for software development in avionics. In the Hi-Lite project, we pursue the integration of formal verification with testing for projects developed in C or Ada. In this paper, we discuss the conditions under which this integration is at least as strong as testing alone. We describe associated costs and benefits, using a simple banking database application as a case study.

     

     

  • GNATcoverage
    Mar 18th, 2012

    Formalization and Comparison of MCDC and Object Branch Coverage Criteria

    This paper presents formal results derived from the COUVERTURE project, whose goal was to develop tools to support structural coverage analysis of unin- strumented safety-critical software. After briefly introducing the project context and explaining the need for formal foundations, we focus on the relationships between machine branch coverage and the DO-178B Modified Condition/Decision Coverage (MCDC) criterion. A thorough understanding of those relationships is important, since it provides the foundation for knowing where efficient execution trace techniques can be used to demonstrate compliance with the MCDC criterion. We first present several conjectures that were tested using Alloy models, then provide a formally verified characterization of the situations when coverage of object control-flow edges implies MCDC compliance.


  • Mar 18th, 2012

    Compilation of Heterogeneous Models: Motivations and Challenges

    The widespread use of model driven engineering in the development of software-intensive systems, including high- integrity embedded systems, gave rise to a “Tower of Babel” of modeling languages. System architects may use languages such as OMG SysML and MARTE, SAE AADL or EAST-ADL; control and command engineers tend to use graphical tools such as MathWorks Simulink/Stateflow or Esterel Technologies SCADE, or textual languages such as MathWorks Embedded Matlab; software engineers usually rely on OMG UML; and, of course, many in- house domain specific languages are equally used at any step of the development process. This heterogeneity of modeling formalisms raises several questions on the verification and code generation for systems described using heterogeneous models: How can we ensure consistency across multiple modeling views? How can we generate code, which is optimized with respect to multiple modeling views? How can we ensure model-level verification is consistent with the run-time behavior of the generated executable application?

  • SPARK Pro
    Mar 15th, 2012

    Fully qualified names in proof files
    The Examiner now emits fully qualified subprogram names in the headers of .vcg, .rls and .fdl files. Previously the headers would state only the package name and the subprogram name, eg "function Grandchild.Negate" but now the complete hierarchy is included, eg "function Parent.Child.Grandchild.Negate". This removes any ambiguity in cases where there are duplicate names in different parts of a package hierarchy. Note that if you are configuring proof output files for regression analysis this change will result in a large one-off difference to the proof files.

  • CodePeer
    Mar 15th, 2012

    Improved race condtion analysis for singleton tasks
    In some cases, CodePeer is able to perform more precise race condition analysis if it is known that exactly one object of some given task type is declared. Previously, this was known only in the case of an anonymous task type. CodePeer is now able to detect this situation in some common scenarios involving named task types.

  • GNAT Pro | GPS | GNATbench
    Mar 14th, 2012

    GPS: PowerPC E500v2 Wind River Linux support
    GPS support for the e500v2-wrs-linux GNAT Pro toolchain has been added.

  • SPARK Pro
    Mar 12th, 2012

    B-Method – AdaCore micro-seminar

    AdaCore Internal Seminar - June 25, 2012

    Jean Louis Dufour (Sagem DS, http://fr.linkedin.com/pub/jean-louis-dufour/18/7b7/228), will come to the AdaCore Paris offices to give a 101 introduction to the B-Method.

    AdaCore, from time to time, organizes seminars in the Paris offices. If you are interested in a particular talk, please send email to events@adacore.com.

  • GNAT Pro
    Mar 10th, 2012

    Better error message for bad preprocessor directive
    If a preprocessor directive such as #if is detected when preprocessing has not been activated, a clear error message is now given, instead of just flagging the # as an illegal character.

  • GNAT Pro
    Mar 10th, 2012

    Improve error message for a**b**c
    Ada does not permit writing a**b**c. Parenthesization is required to make the intended association clear. Writing this without parentheses now outputs an explicit message saying that ** requires parenthesization.

  • GNAT Pro | GPS | GNATbench
    Mar 9th, 2012

    GB: project names need not be legal Ada identifiers
    The name of an Eclipse/Workbench project need not conform to the rules for Ada identifiers. This change applies to both new projects as well as existing Eclipse/Workbench projects to be converted to GNATbench use.

  • GNAT Pro
    Mar 8th, 2012

    Improve warnings from -gnatw.t
    When a postcondition is explicitly True or False, it is reasonable to assume that this is exactly what is intended, and it is now the case that warnings for such postconditions are suppressed.

  • Ada
    Mar 7th, 2012

    Ada and Ada2012 – Overview and Rationale

    Ada 2012
    View more PowerPoint from AdaCore

    By Quentin Ochem
    Technical Account Manager

  • Ada
    Mar 5th, 2012

    Ada 2012 Rationale - Chapter 1 - Contracts and Aspects

    Read the latest installment of the Ada 2012 Rational by John Barnes:
    Download Chapter 1 - Contracts and Aspects

  • Ada Web Server
    Mar 5th, 2012

    Add support for session cookies
    A session cookie is one without a Max-Age attribute. Such cookies expire when the web browser is closed.

  • Ada Web Server
    Mar 5th, 2012

    Add support for session cookies
    A session cookie is one without a Max-Age attribute. Such cookies expire when the web browser is closed.

  • GNAT Pro
    Mar 5th, 2012

    Switch to control maximum number of instantiations
    A new switch -gnateinn (/MAX_INSTANTIATIONS=nn in VMS) is introduced which sets the maximum number of instantiations during compilation of a single unit to the value nn. This may be useful in increasing the default limit of 8000 in the rare cases where a single unit legitimately exceeds this limit.

  • CodePeer
    Mar 1st, 2012

    More precise analysis of array bounds
    CodePeer now understands that the bounds of a subprogram parameter of an unconstrained subtype satisfy the constraints of the index subtype if the bounds define a non-null range. Previously CodePeer conservatively assumed that out-of-subtype array bounds were possible in more cases.

  • CodePeer
    Mar 1st, 2012

    More precise analysis of concatenation bounds
    CodePeer now correctly issues no warning when the result of concatenating two arrays is passed as an actual parameter and the subtype of the corresponding formal parameter is unconstrained. CodePeer assumes that the low bound of such a formal parameter satisfies the constraints of the index subtype even if the bounds define a null range.

  • GNAT Pro
    Mar 1st, 2012

    Extension of warning -gnatw.t to Contract_Case
    The warning option -gnatw.t already issued warnings on suspicious postconditions. This extends it to contract cases, which is a GNAT pragma and aspect allowing expression of fine-grain contracts.

  • GNAT Pro
    Feb 29th, 2012

    New GNAT pragma and aspect Contract_Case
    A new aspect Contract_Case is defined, using the Ada 2012 aspect syntax, that allows defining fine-grain specifications that can complement or replace the contract given by a precondition and a postcondition. This is also usable by testing and formal verification tools. It applies only to subprogram declarations in a package declaration inside a package spec unit. Note that the syntax of Contract_Case is similar to that of Test_Case. A corresponding pragma Contract_Case is defined, which can be used in all Ada modes.

  • GNAT Pro
    Feb 27th, 2012

    Ada 2012 attributes First_Valid/Last_Valid
    The new Ada 2012 attributes First_Valid and Last_Valid are implemented. These apply to static discrete types with at least one valid value. The static discrete type may have a static predicate (which is the case where these attributes are useful). They return the lowest and highest values for which valid values (that is values that satisfy any static predicate) exist.

  • SPARK Pro
    Feb 22nd, 2012

    SPARK 10.1 webinar recording now online

    The InSight webinar series continued with a presentation on the new features of SPARK Pro 10.1:

    • Generics Phase 1 – Release 10.1 includes the first phase of the addition of support for Ada generics to the SPARK language and toolset
    • Dynamic Flow Analyser and VCG Heaps
    • Unicode characters now allowed in strings
    • Improved use of types and subtypes in FDL
    • Improvements to Simplifier tactics and performance
    • Auto-generation of refinement rules
    • Improvements to SPARKBridge
    • New SPARKClean utility

    This webinar can be viewed at:
    http://www.adacore.com/home/products/sparkpro/language_toolsuite/webinars/

  • Ada Web Server
    Feb 21st, 2012

    AWS now supports IPv6
    AWS now supports IPv6, to enable IPv6 support:

       $ make IPv6=true setup
    

  • Ada Web Server
    Feb 21st, 2012

    AWS now supports IPv6
    AWS now supports IPv6, to enable IPv6 support:

       $ make IPv6=true setup
    

  • GNAT Pro | GPS | GNATbench
    Feb 20th, 2012

    Improved indentation in parenthesized expressions
    Automatic indentation of 'or else' and 'and then' constructs at the end of lines inside parenthesized expressions has been improved. In particular, they no longer generate an extra indentation on the next line.

  • GNAT Pro | GPS | GNATbench
    Feb 20th, 2012

    Improved indentation of comments within expressions
    Indentation of comments within expressions or as part of continuation lines will take the extra continuation line preference into account.

  • GNAT Pro
    Feb 20th, 2012

    Increase efficiency of bounded strings
    Bounded strings have been optimized by avoiding the need to NUL-out unused characters.

  • GNAT Pro
    Feb 20th, 2012

    Improved support for task names under GNU/Linux
    Under GNU/Linux systems, task names (either implicit from the source code, or explicit via pragma Task_Name) are now set via the prctl() system call, so that they also appear as part of e.g. the ps command.

  • GNAT Pro
    Feb 17th, 2012

    Improved linker DLL build time
    When building a shared library with many exported symbols on Windows the creation of the DLL was taking a long time. This performance issue has been addressed and now creating a DLL takes about the same time as creating an executable.

  • GNAT Pro | GPS | GNATbench
    Feb 16th, 2012

    GPS: improvements in auto_highlight_occurrences.py
    There are two new features in the auto_highlight_occurrences.py plugin:

      - if there is a selection, other occurrences of the selected text
        will be highlighted in the editor
      - if the cursor is on a word which is not a navigable entity (for instance
        keywords, words in comments, or in languages other than Ada or C), GPS
        will perform text-based highlighting of this word
    
    
    Both of these behaviors can be deactivated through the Preferences dialog, under Plugins->auto_highlight_occurrences.

  • GNAT Pro
    Feb 14th, 2012

    Misleading warning that variable could be constant
    If the actual in a call is an access selected component of a variable, it is treated as a possible modification of the enclosing record, to prevent a spurious warning that a variable might be declared as a constant.

  • GNAT Pro | GPS | GNATbench
    Feb 13th, 2012

    GPS: new command GPS.EditorLocation.inside_word
    A new GPS shell/Python command is available to determine whether a location is inside a word. This is useful when creating editor plugins.

  • GNAT Pro
    Feb 12th, 2012

    Better message for Range in integer type definition
    Surprisingly, a range attribute definition is not permitted to be used as a signed integer type definition. A clearer message is now given for this case, advising that instead x'First .. x'Last must be used.

  • Ada Web Server
    Feb 8th, 2012

    Add support for limiting HTTP POST parameters
    It is now possible to limit the maximum number of POST parameters that AWS will handle. This is a per server configuration option whose default value is set to 100.

  • Ada Web Server
    Feb 8th, 2012

    Add support for limiting HTTP POST parameters
    It is now possible to limit the maximum number of POST parameters that AWS will handle. This is a per server configuration option whose default value is set to 100.

  • GNAT Pro
    Feb 7th, 2012

    Speed up gnatmake in presence of extending projects
    The check in gnatmake to verify if an object file is in the correct object directory in the presence of extending projects has been optimized, as it was taking a considerable amount of time when there were many sources.

  • CodePeer
    Feb 4th, 2012

    Introducing CodePeer 2.1

    April 10, 2012 – 4:00pm GMT, 5:00pm CET, 11:00am EST

    CodePeer is a source code analyzer that detects run-time and logic errors in Ada programs. This webinar, presented by Tucker Taft, will provide an overview of the technology, and focus on the new features introduced in this latest 2.1 release. These include support for Ada 2012 and its new syntax for specifying contracts, analysis of the elaboration of library units to enable detection of uninitialized global variables, better support for analysis of race conditions including new GPS reports, and more precise handling of preconditions and unused assignments. Presented by Tucker Taft, we will also allow for a Q&A session at the end of the presentation.

    To register, please visit:
    http://www.adacore.com/home/products/codepeer/toolset/webinars/

  • GNATcoverage
    Feb 4th, 2012

    Unit testing with GNATtest webinar

    March 20, 2012 – 4:00pm GMT, 5:00pm CET, 12:00am EST

    The InSight webinar series continues with a webinar demonstrating how to write unit tests in a cost-effective way using the AdaCore toolset. More precisely it will show how to generate the unit testing framework using GNATtest, how to run the tests on an emulator such as GNATemulator, and how to extract coverage results using GNATcoverage. This is primary aimed at developers and projects managers that already have unit testing infrastructure in place and are looking to reduce maintenance costs, as well as teams that are looking at implementing such techniques with minimal effort.

    To register please visit:
    http://www.adacore.com/home/products/gnatpro/webinars/

  • GNAT Pro | GPS | GNATbench
    Feb 2nd, 2012

    GPS: Coverage Report accessible through Back button
    When clicking on a file or subprogram in the Code Coverage report, GPS opens this location in an editor. It is now possible to click the "Back" button in the toolbar to go back to the Code Coverage report.

  • PolyORB
    Feb 1st, 2012

    Process ids in traces
    Process IDs can now optionally be included in trace messages logged to standard error. This feature is enabled by setting "pid=true" in section [log] of the PolyORB configuration.

  • SPARK Pro
    Feb 1st, 2012

    Unmoded globals permitted with flow=auto
    Previously, the Examiner enforced the rule that global annotations on procedures must always specify variable modes when in automatic flow analysis mode. This rule has now been relaxed, so modes may be omitted from globals if there is a derives annotation present. The Examiner will then infer the modes from the derives annotation as it does in information-flow mode. This means that legacy code with derives annotations and unmoded globals can be analysed with flow=auto.

  • GNAT Pro | GPS | GNATbench
    Feb 1st, 2012

    GPS: multi-line option in MDI.input_dialog
    The GPS function MDI.input_dialog used in plug-ins has been enhanced to offer multi-line input on fields as an option.

  • PolyORB
    Feb 1st, 2012

    Process ids in traces
    Process IDs can now optionally be included in trace messages logged to standard error. This feature is enabled by setting "pid=true" in section [log] of the PolyORB configuration.

  • SPARK Pro
    Jan 31st, 2012

    Automatic flow analysis mode is the default
    The default flow analysis mode is now automatic, which replaces the previous default of information flow. Automatic flow analysis was introduced in release 10. In this mode the Examiner selects information flow or data flow analysis on a per-subprogram basis depending on the presence or absence of derives annotations. This change is backwards compatible for current projects using information flow, data flow or a combination of the two. However, if you wish to enforce information flow or data flow for all analysis this can still be done explicitly via the option -flow=information or -flow=data.

  • SPARK Pro
    Jan 31st, 2012

    Miscellaneous updates to Victor
    We have fixed a number of small issues with victor wrapper: timing information is now correctly stored in the .vct files; temporary files are now correctly deleted; temporary files can be placed in the current working directory and not deleted using the new -keep flag; and finally, experimental support for CVC4 has been added.

  • GNAT Pro
    Jan 31st, 2012

    Debugger condition support in exception catchpoints
    The debugger has been enhanced to support the use of conditions attached to exception catchpoints.

  • GNAT Pro
    Jan 31st, 2012

    Avoid obsolescent feature messages for instances
    When restriction No_Obsolescent_Features is used, the use of an obsolescent feature in a generic template results in a diagnostic only when compiling the template, and not when compiling instantiations of the generic.

  • SPARK Pro
    Jan 30th, 2012

    SPARK 10.1 webinar

    February 21, 2012 - 4:00pm GMT, 5:00pm CET, 11:00am EST

    The InSight webinar series continues with a presentation on the new features of the AdaCore/Altran Praxis joint offering – SPARK Pro 10.1. SPARK Pro combines the proven SPARK Ada language and supporting toolset with AdaCore’s GNAT Programming Studio (GPS) integrated development environment, backed by unrivalled support systems.

    SPARK 10.1 includes the following enhancements:

    • Generics Phase 1 – Release 10.1 includes the first phase of the addition of support for Ada generics to the SPARK language and toolset
    • Dynamic Flow Analyser and VCG Heaps
    • Unicode characters now allowed in strings
    • Improved use of types and subtypes in FDL
    • Improvements to Simplifier tactics and performance
    • Auto-generation of refinement rules
    • Improvements to SPARKBridge
    • New SPARKClean utility

    • This webinar will include a demo and Q&A session with the developers of the SPARK Pro toolset.

     

    To register for this webinar please visit:
    www.adacore.com/home/products/sparkpro/language_toolsuite/webinars/

  • Ada Web Server
    Jan 27th, 2012

    Security Advisory SA-2012-L119-003: Hash collisions in AWS

    Problem:
    Impacted versions of AWS store key/value pairs from submitted form data in hash tables using a hash function that has predictable collisions. As a result, a single specially crafted HTTP request can cause the server to use hours of CPU time, thus causing a denial of service.
    Impact:
    All AWS releases and wavefronts prior to 2012-01-21
    Status:
    This was fixed in AWS 2.11 and 2.10.2 on 2012-01-21
    References:

  • GNAT Pro
    Jan 27th, 2012

    Improved error messages for violation of 12.3(18)
    If an instantiation is illegal because a private primitive operation in the generic fails to override a visible operation in the same generic, the compiler now reports the names of the relevant type and operation.

  • GNAT Pro | GPRbuild
    Jan 26th, 2012

    Verbosity when linking shared SALs
    In default mode (not verbose and not quiet), the base name of gnatbind and of the compiler when binding and compiling the binder generated file is now output, instead of the full path names. Also, when the command line is long, only the beginning is output.

  • SPARK Pro
    Jan 26th, 2012

    Alt-Ergo 0.94 and more fine-grained steps
    Upgraded SPARKBridge's default SMT solver, Alt-Ergo, to version 0.94. Additionally this version includes more fine-grained proof steps for better predictability, which is helpful in regression testing.

  • GNAT Pro | GPRbuild
    Jan 26th, 2012

    Verbosity when linking shared SALs
    In default mode (not verbose and not quiet), the base name of gnatbind and of the compiler when binding and compiling the binder generated file is now output, instead of the full path names. Also, when the command line is long, only the beginning is output.

  • GNAT Pro | GPS | GNATbench
    Jan 24th, 2012

    ECL: Removal policy when fixing code
    The preference "Removal policy when fixing code" has been added to the Ada "General" preference page. It defines the way code should be altered when sections of code are to be removed. - "Always_Remove" means that the code will be removed by GNATbench. - "Always_Comment" means that the code will always be commented out. - "Propose_Both_Choices" will propose a menu with both choices.

  • GNAT Pro | GPS | GNATbench
    Jan 23rd, 2012

    GPS: goto next/previous bookmark
    Two new actions ("Goto Next Bookmark" and "Goto Previous Bookmark") are now available to jump to the nearest next or previous bookmark in the current file. These actions can be bound to keys in the "General" section of the Key Shortcuts dialog.

  • CodePeer
    Jan 23rd, 2012

    Documentation converted to sphinx
    The documentation format was changed, so that we can produce nicer looking output. In particular, the new format provides an integrated search feature over all pages of the manual.

  • GNAT Pro
    Jan 23rd, 2012

    Simple storage pools
    The GNAT-specific pragma Simple_Storage_Pool_Type (or aspect) can be applied to library-level limited types to designate the types as simple storage pool types. Access types can be associated with a simple pool object via the new Simple_Storage_Pool attribute (or aspect), so that allocators will invoke the Allocate procedure of the simple storage pool. This is an alternative to Ada's standard storage pools that does not require tagged types or finalization support, which may be useful in some contexts (for example, certification contexts where tagged types and finalization are forbidden).

  • GNAT Pro
    Jan 21st, 2012

    Better warnings for suspicious mod values
    Two more cases of suspicious mod values (for example in "type X is mod 2*8", and "R := X mod 2 * 32"), where in each case the * should almost certainly be **, now generate warnings under control of -gnatw.m (on by default).

« Previous    2  3  4  5  6     Next »