Release 2.5

From Conqat

ConQAT 2.5 was released on August 11th 2009. It is defined by repository revision 23548.

Contents

New & Noteworthy

Engine Changes

  • Processors for more fine-grained assessment of JavaDoc comments
  • Support for checking the language of text (e.g. comments)
  • Improved architecture conformance analysis
    • Supports architectures modeled with dedicated editor (see below)
    • Rendering of violations matches editor display
  • New scope for loading the assemblies contained in .NET projects directly from Visual Studio one or more solution files.

Eclipse Integration

  • Blocks now support explicit run configurations (*.cqr), which are persisted with your project and provide editor support
  • The graphical editor for blocks was extended with many new features:
    • Rename Block refactoring
    • Move Block refactoring
    • Extract Block refactoring
    • Search functionality to find blocks that consume or produce a specific type
    • Search functionality to identify blocks that reference another block
    • Attribute editing support via auto completion and dialogs
  • QLaunch makes execution of ConQAT blocks on Eclipse projects as easy as a single mouse click
  • ConQAT bundles no longer rely on custom class path containers

Clone Detective

  • The former standalone application CloneDetective is now fully integrated with ConQAT.

The CloneDetectionTutorial introduces the first steps on executing a clone detection. The views in the ClonePerspective, that support clone inspection, are documented here.

Furthermore, clone detection has been extended with support for ABAP and ADA.

Architecture Editor

  • ConQAT now comes with a graphical editor for architecture specifications that can be used for architecture conformance analysis

The Architecture Tutorial demonstrates architecture analysis using the new Architecture Editor

Changes from version 2.0 to version 2.5

# Bundle Summary
CR 2076 arch.edit Edit the properties of an architecture policy in the properties view.
CR 2084 arch.edit Component Model refinement
CR 2087 arch.edit Validate .architecture files against schema
CR 2116 arch.edit Analyse Assessment With Valid Dependencies
CR 2117 arch.edit Analyse Assessment With No Dependencies
CR 2118 arch.edit Analyse Assessment With Violating Dependencies
CR 2123 arch.edit Check all architecture constraints when an architecture file is saved and create markers for violations
CR 2166 arch.edit Clicking into outline raises exception
CR 2167 arch.edit Switching to the Advanced Tab in the Properties of a selected component makes the editor dirty
CR 2181 arch.edit Opening architecture assessement does not work
CR 2188 arch.edit Rename component: Signal invalid names via decorators
CR 2192 arch.edit Cannot open assessment result files that contain elements without component
CR 2200 arch.edit Improve performance
CR 2202 arch.edit Use different icons for create and filter policy buttons
CR 2203 arch.edit Simplify creation of tolerations
CR 2204 arch.edit Fix tolerated dependencies assessment
CR 2244 arch.edit Enable filtering of edges based on their source and target components
CR 2245 arch.edit Provide quick fix to introduce tolerations
CR 2246 arch.edit Editor should show types that were matched for a component
CR 2270 arch.edit Validate assessment result file against a schema
CR 2271 arch.edit Matched types: display in tree with pattern filter
CR 2272 arch.edit Allow drag and drop of multiple code explorer elements onto components
CR 2274 arch.edit Directly allow to edit component name after creating component
CR 2394 arch.edit Display orphans as matched types of root element
CR 2094 architecture Layout architecture graphs with Java2D instead of Graphviz/dot
CR 2095 architecture Export architecture graphs to SVG
CR 2113 architecture Create Architecture Assessment File Writer
CR 2128 architecture Prepare architecture file definitions for reuse in arch.edit
CR 2136 architecture Assess unnecessary policies
CR 2183 architecture Code-Mappings are not read by ArchitectureDefinitionReader
CR 2184 architecture arch.edit does not display assessment result
CR 2189 architecture Allow inner components to have code mappings
CR 2207 architecture Inline archgraph bundle
CR 2208 architecture Architecture assessment fails with message "A node with local name D already exists!"
CR 2209 architecture Clean up basic structure of archgraph bundle
CR 2249 architecture HTML architecture layout shows strange effect
CR 2250 architecture AssessmentFileWriterProcessor needs to ensure that target directory exists
CR 2283 architecture Handle empty input gracefully
CR 2285 architecture Architecture assessment does not obey policy attribute
CR 2342 architecture Clean up architecture bundle
CR 2373 architecture Provide acceptance tests for architecture assessment
CR 2391 architecture HTML output displays filter type instead of component name
CR 2393 architecture Matched types do not work properly
CR 2145 blocklib Increase precision of StdGappedCloneChain
CR 1610 cd.core Create filter framework to support handling of large clone reports
CR 1658 cd.core FamilyVisualiser freezes sometimes
CR 1667 cd.core FamilyVisualiser: Selections do not work
CR 1668 cd.core Remove Startup-Warnings
CR 1823 cd.core Display progress bar on opening report
CR 1853 cd.core Offer option to clear filters on open report
CR 2180 cd.core Resolve TODOs in Visualizer code
CR 2191 cd.core Views only display clone data if they are visible when clone report is loaded
CR 2193 cd.core Open first clones of clone class in inspection view on double click
CR 2224 cd.core Problems with clone editor
CR 2225 cd.core Breakpoints and quick fixes do not work
CR 2228 cd.core Replace clonedetective.jar with externals mechanism
CR 2229 cd.core Create CoveredClones filter
CR 2230 cd.core Create extension point that allows contributions to clone classes and clones view
CR 2242 cd.core Number of md5 checksum calculations in cd-plugin could probably be reduced
CR 2243 cd.core Rewrite visualizer for clone classes (SeeSoft view)
CR 2288 cd.core Cannot save clone report
CR 2289 cd.core Clone report format: be able to open old and new reports
CR 2292 cd.core Double-clicking on item in Clone Class View results in NPE
CR 2293 cd.core Exception when clicking on "Accept" in Clone Classes View
CR 2300 cd.core Consolidate action handling
CR 2302 cd.core Create base class for detection result views
CR 2303 cd.core Fuse clone detection plugins
CR 2347 cd.core Replace clonedetective.jar by use of svn:externals
CR 2357 cd.core Allow clone region markers to be displayed in all sub-classes of AbstractTextEditor
CR 2358 cd.core Move icse09 stuff into own plugin
CR 2378 cd.core RElocate source files broken
CR 2384 cd.core Optionally open clone perspective when clone report is opened
CR 2385 cd.core QuickLaunch: close existing clone reports
CR 1757 clonedetective Include parameter to increase stack size in FAQ
CR 2050 clonedetective Visualize CloneCoverage as StackedAreaChart
CR 2226 clonedetective Create key-value mechanism for clones
CR 2227 clonedetective Statementnormalization does not always compute correct unit index
CR 2234 clonedetective Include system date in detection result
CR 2261 clonedetective CloneDependencyAnnotator does not work
CR 2290 clonedetective SameFileConstraint: Allow to specify that all clones need to be in same file
CR 2318 clonedetective Add list view and report writer that works directly on lists of clone classes
CR 2319 clonedetective Initialize gap storage lazily
CR 2332 clonedetective Consolidate clone origin
CR 2337 clonedetective Consolidate clone detection blocks
CR 2359 clonedetective Clean up clone detective bundle
CR 2365 clonedetective Inline core interfaces
CR 2370 clonedetective Replace AbsoluteFilenameComparator with NodeIdComparator
CR 2386 clonedetective Create WordTextDetectionChain
CR 2398 clonedetective Sorting broken in clone list outputs
CR 2130 commons Clarify javadoc for ConQATGraph.getVertices()
CR 2190 commons ListNode: Implement deep cloning
CR 2238 commons CollectionConverter-Processor should declare its return type as IRemovableConQATNode
CR 2253 commons Remove for ListNode fails
CR 2254 commons HierarchyBuilder should create full qualified node ids
CR 2301 commons Create support for findings
CR 2305 commons Create generic process executor
CR 2312 commons Create generic processor to execute Java applications
CR 2360 commons Create method compilePattern
CR 2383 commons NPE when deleting projects
CR 2187 cq.core Create support for launching ConQAT
CR 2197 cq.core Create method to obtain top-level blocks for a specific project
CR 2211 cq.core Make RMI port for ConQATRemoteModel configurable
CR 2364 cq.core Review Launch Support
CR 2266 cq.jdt Remove class path container stuff
CR 2088 cq.ui CodeAssist Double Click does not work.
CR 2089 cq.ui Automate Extract Block Refactoring
CR 2099 cq.ui Include standard system libraries in bundle projects
CR 2109 cq.ui Post-it like comments
CR 2126 cq.ui Runconfig editor
CR 2127 cq.ui Implement move block refactoring
CR 2135 cq.ui Exception in NewWizard for "New Block"
CR 2144 cq.ui Clean up refactoring participants
CR 2174 cq.ui ConQATDoc. Links do not work
CR 2182 cq.ui Add quick launching support for special blocks
CR 2210 cq.ui Edges in open block editors get messed up after recompile
CR 2263 cq.ui Parameter dialog opens Color chooser dialog for parameter of type file
CR 2280 cq.ui Run configuration editor does not notice model changes
CR 2316 cq.ui Remove redundancy between run config editor and properties view
CR 2324 cq.ui Abort drag operation if connection to model server is lost
CR 2326 cq.ui Extract block refactoring places block in wrong folder
CR 2345 cq.ui Error bar is sometimes inaccurate
CR 2374 cq.ui Extract block refactoring aborts and leaves block corrupted
CR 2375 cq.ui Parameters are clipped
CR 2376 cq.ui NPE in CqUILabelProvider
CR 2381 cq.ui NPE when double-clicking on block
CR 2396 cq.ui NPE when closing editor
CR 2231 database Create base class for processors working on databases
CR 1860 dotnet FxCopAnalyzer: treat paths case-insensitive
CR 1940 dotnet Create SolutionBinaryScope
CR 2252 dotnet Adapt ILDependenciesImporterProcessor
CR 2255 dotnet IlaXMLReader should behave leniently when file could not be processed
CR 2256 dotnet ILDependenciesImporter should annotate type size (il statement count)
CR 2268 dotnet ILAnalyzer produces invalid XML
CR 2350 dotnet IlaXmlReader: ignore types based on their base type
CR 2354 dotnet SolutionScope should use canonical files
CR 2139 eclipse-commons move common code from cq.edit nad arch.edit to commons
CR 2153 eclipse-commons RateClipse fails with exception (missing log messages)
CR 2196 eclipse-commons Create generic error page for wizards
CR 1769 engine Include Java version in log file
CR 1822 engine ConQAT script files should use server virtual machine
CR 2322 engine Produce user-friendly error messages for memory related exceptions
CR 2343 engine Introduce log level 'off'
CR 2361 engine Driver should deal with classes that contain only bridge methods
CR 2368 engine Render blocks using cq.edit coordinates in ConQATDoc
CR 1970 filesystem FileSystemElements should use canonical names as ids
CR 2251 filesystem DuplicateFileAnalyzer: HideRoot
CR 2291 filesystem Create FileDeleter
CR 2333 filesystem Support new LevD rating based on file hash
CR 1301 html_presentation Presentation crashes completely if dot is not installed
CR 2185 html_presentation Create HTMLFileWriter for writing single HTML pages
CR 2248 html_presentation HTMLWriter produces wrongly encoded html-pages on systems with default encoding other than ISO8859-1 (e.g. most current linux systems)
CR 2329 html_presentation Create clone class output
CR 1184 java MethodAnalyzerBase should support different aggregation strategies
CR 2176 java Create processor for extracting method signatures from Java classes
CR 2307 java Create new FindBugs support
CR 2311 java JavaRootElement should store original source and byte code directories
CR 2315 java Provide better JavaDoc analysis
CR 2321 java Disable output of JavaDoc errors and warnings
CR 2334 java JavaAstCache should be more robust against PMD problems
CR 2339 java Create longest method length analyzer
CR 2320 simulink Integrate Simulink Clones with findings
CR 2380 sourcecode Create SLOC analyzer
CR 2262 text Create support for natural language detection
CR 1779 x.build OS missing in list
CR 2147 x.examples Directory misplacement in ConQAT examples