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 |