An open-source technology has been launched to help developers using Microsoft Visual Studio 2008 find duplicated code in their software projects.
Called Clone Detective for Visual Studio, the product allows developers to analyze C# projects for source code duplicated elsewhere. These duplicates can lead to inconsistencies and indicate poorly factored code, according to the Clone Detective Web page at Microsoft's CodePlex site for open-source projects.
Version 1.0.0.0 of Clone Detective for Visual Studio was released on August 16 under an Apache 2.0 license.
"Duplicated source code can be an indicator for quality problems," said project coordinator Immo Landwerth. "Having the same algorithm spread across the whole application in slightly different variations will lead to increased maintenance effort, which ultimately may result in inconsistencies."
Among the reasons for code duplication is "lazy" developers who only know how to cut and paste, Landwerth said. Other reasons could include architectural constraints and methodology issues.
While currently limited to C# code, the next release will add capabilities to examine Visual Basic .Net and C++ code, Landwerth said. The integration between Clone Detective and Visual Studio was developed by Landwerth and colleague Thomas Dallmair in cooperation with Technical University of Munich.
"Clone Detective makes it easy for developers to perform a clone detection and visualize the existing clones. However, in some cases, the source duplication cannot be easily removed (e.g. the cost of removing the clones outweighs the costs of keeping them due to heavy design change requirements)," Landwerth said. "In this case, Clone Detective helps by reminding you that a given portion of code is duplicated (by a purple bar in the code editor). So if you make changes to it you should review the other occurrences and make sure you keep your application consistent."
Clone Detective leverages the university's ConQUAT (continuous quality assessment toolkit) tool for clone detection.
The next version of Clone Detective will be able to find "fuzzy clones," said Landwerth. "Fuzzy clones are clones that are almost identical but not token by token. This will allow you to find existing inconsistencies in your code base," he said.
Separately in the Visual Studio realm, TeamExpand this week is offering timesheet-tracking software for Visual Studio.Net software development teams. Functioning with the Microsoft TFS (Team Foundation Server) application lifecycle management server, TeamExpand's commercial release of its TX Chrono timesheet application allows project managers to submit and analyze timesheets.
The Web-based application features a set of notifications and reporting capabilities lacking in TFS, TeamExpand said. TX Chrono offers workflow and TFS compatibility to make software development activities more predictable and visible, the company said. Bug fixes are included as well.
TX Chrono offers:
- Automated notifications and alerts on projects, individuals and activities.
- Timesheet submission and approval.
- Individual and non-standard schedules.
- Non-standard working hours per day or week.
- Separate billable and non-billable tasks.
- Custom timetables.
- Advanced reporting.
TX Chrono is licensed at US$15 per seat each month. A 30-day free trial version is available at this Web page.
Latest on ASP & .Net
- Microsoft pitches interoperability at JavaOne
- Commbank taps Ajax for biggest Web site redesign
- New Moonlight release available for testing
- Linux out, Windows in at Electoral Commission
- Researcher offers tool to hide malware in .Net
- Microsoft heralds Silverlight-Eclipse link
- Microsoft converging programming languages
- Microsoft to show off new Visual Studio UI
- Microsoft Visual Studio to boost SharePoint
- Moonlight 1.0 puts Silverlight on Linux
Development Essentials
- Security experts name top 25 programming screw-ups
- Top 10 wicked cool algorithms
- Facebook app verification fee draws criticism
- Microsoft's openness stressed
- Yahoo's developer platform to launch this week
- Microsoft starts new developer portal
- Google API allows creating apps that can track laptops
- PHP, JavaScript, Ruby, Perl, Python, and Tcl Today: The State of the Scripting Universe
- Analyst: In-house app development fraught with waste
- Is unit testing doomed?
TechWorld Jobs (beta)
Recent Jobs
TechWorld Blogs
-

TalkingTech
The view from the top of IT with TechWorld Editor Rodney Gedda
-

Entrenched
Cooking up better code, IDG's developers reveal some of their secrets
-

Broadband Voice
Darren Pauli digs in from the front line of Australia's broadband battleground
Recent blog posts
- Nokia remains 'open' to Android amid Symbian renaissance
- KDE's Seigo gives sneak peek at version 4.3
- Was the iPhone 3G S worth queuing up for?
- Has Oracle started its mammoth technology consolidation?
- iPhone 3.0: the detail is the process, not the features
- TechWorld.com.au goes mobile
- Should Dell buy Palm? Stranger things have happened
- A big week for Linux: is user friendliness finally in sight?
- Apple, Android rain on Palm's Pre parade
- The clone attack is becoming unstoppable
Recent comments
- State your Prediction and
16 hours 24 min ago - Yes I have seen them.Actually
17 hours 16 min ago - PSP Nintendo
1 day 8 hours ago - Interesting report. You were
2 days 4 hours ago - Are you sure it is in Sydney?
2 days 15 hours ago - The mobile market has
2 days 23 hours ago - Great news.
Sms spam should
3 days 20 hours ago - now what am I gonna do with
3 days 23 hours ago - ozlotteries.com not ozlotto.cm
4 days 59 min ago - OLAT Release
4 days 11 hours ago - and i was sure i would win...
4 days 15 hours ago - Hi SolidRadicle,
I am looking
4 days 16 hours ago - Not if I can help it
4 days 16 hours ago - Ozlotto Tips Scam
4 days 20 hours ago - Great post.
It's very
4 days 20 hours ago - Excellent review! I'm glad
6 days 17 hours ago - iTunes Helper
1 week 2 days ago - Update the link to OrangeHRM web site
1 week 2 days ago - Very informative article
1 week 3 days ago - Google Chrome is still being directed to bing instead of google
1 week 3 days ago










Comments
Post new comment