IEEE Software Special Issue: Development Tools: Difference between revisions

From Istlab
Jump to navigationJump to search
Content deleted Content added
Line 106: Line 106:


=== Potential Authors ===
=== Potential Authors ===

(Arthur): This list is already long enough to demonstrate we have no shortage of potential contributors. I can add more names from IBM and Eclipse later before we issue the CFP. I have limited Internet access until August so I'll defer adding names until then.


{| border="1"
{| border="1"

Revision as of 12:16, 22 July 2007

Proposed Title

How: Clear, crisp, meaningful. Try to make it no more than 5 words.

  • The Software Developer's Workbench; or
  • Software Development Infrastructure; or
  • Software Development Tools

XXX(dds-Simon) Workbench has (had) a specific connotation regarding tools. I'd prefer the last proposal: Software Development Tools

XXX(Simon-dds) I have no strong preferences. I just thought that Developer Workbench is somewhat more spiced. In any case, we have to be sure we're consistent in our text below

Proposers’ Information

How: Names, affiliations, and contact information (postal address, electronic address, telephone number, and fax number).

  • Diomidis Spinellis, Athens University of Economics and Business
    • Patision 76, GR-104 34 Athens, GREECE
    • dds@aueb.gr
    • phone: +30 2108203981
    • fax: +30 2108203370
  • Simon Helsen, SAP AG
    • Dietmar-Hopp-Allee 16, 69190 Walldorf, Germany
    • shelsen@computer.org
    • phone: +49-176-23522758
    • fax: +49-6227-7845917
  • Arthur Ryman, IBM Rational
    • IBM Toronto Lab, 8200 Warden Avenue, D3/XJ6, Markham, Ontario, L6G 1C7 Canada
    • ryman@ca.ibm.com
    • phone: +1-905-413-3077
    • fax: +1-905-413-4920

Introduction and Relevance

How: Explain the theme and how it fits in the larger context of software engineering. Make sure to define the central terms and concepts. Describe the proposal’s relevance to IEEE Software readers: importance, timeliness, target audience, and so on. Examine recent publications, including other focus sections of IEEE Software, to convince the evaluators that the theme complements other work or fills a gap.


Software development as an engineering discipline has benefited from varying levels of automation and software support throughout its history. From the first compilers and editors of the early 50s to the modern and highly sophisticated integrated development environments of today, software engineers have always tried to improve and accelerate their development processes. These meta-programs or software development tools of today do not just encompass the compilation of higher-level languages into assembly or machine language, but offer support for software testing, configuration management, design-time modeling, code generation, software life-cycle management, feature/bug tracking, distributed build management, and provide support for all kinds of tasks in software engineering, software management, and software development.

Some of these tools have become commodities, are wide-spread and freely available in the open-source community, and have often reached a high level of (de-facto) standardization and industry acceptance. Others are still striving for dominance, offer state-of-the-art functionality, or can only be acquired by substantial investment. Either way, all these tools today share one goal: they aim to improve and accelerate the software development process, enabling both large and small business to reduce their software development and maintenance costs.

Establishing a good software development workbench has become an indispensable skill for today's software developers and architects alike. Therefore, this special issue is relevant not only to developers, but also to software managers who are keen on optimizing their software development processes. Additionally, the issue is also timely, for a number of other reasons:

  • It has been suggested in IEEE Software board meetings in the last two years.
  • Surprisingly the last theme issue addressing tools appeared 12 years ago, on March 1995 (Development Tools). Other theme issues have only touched tools as part of another topic:
    • Programming language trends (May 2005)
    • Automated bug tracking (Jan 2004)
    • Developing with open source software (Jan 2004)
    • Model-driven development (Sep 2003)
    • Language conversion (Dec 2000)
    • Program slicing (Mar 1998)
    • Fault injection (Jul 1997)
    • Defect tracking (May 1997)
    • Real-time debugging (Mar 1996)
  • Many new tools and approaches for building them have matured, and practitioners will benefit reading about them. Examples include:
    • Large, open, all-encompassing IDEs (e.g. Eclipse).
    • Open source tools.
    • Model checking (e.g. Coverity, BLAST, SLAM, PRISM).
    • Ubiquitous configurable tracing (Dtrace, Windows FDR)

Focus

How: Detail particular questions that will be addressed or perspectives that will be described. If other publications have addressed similar themes, how will this focus section differ? Describe what readers will learn and whether this information is available elsewhere.


Because the special issue proposal is relatively broad and (or can be interpreted that way), we are particularly interested in papers addressing the following questions:

  • There exist ever more tools and tool sets that try to integrate and address several aspects of the software life cycle in one environment. They typically promise a better integration, consistency, and tracing between the different software artifacts. We look for articles addressing one or more integrated tool environments and a discussion of the pros and cons of such homogeneous systems.
  • There exist many specific tools that directly aid a developer or software architect in different phases of the software development life-cycle: Architecture and design (Modeling tools, Requirements engineering tools, software planning tools, Prototype generators); Development (IDEs, automated testing, profiling, debugging, static error analysis); SCM (Versioning, continuous and nightly build systems); Maintenance (life-cycle management, issue tracking, testing, documentation generators). We look for articles providing an in-depth discussion of a tool which addresses one or more phases of the development life-cycle.
  • New software development paradigms keep emerging, often promising better maintenance or adaptability. These paradigms are usually dependent on sophisticated tool support. We seek articles discussing tools for new or unusual paradigms. They should particularly address the benefits over existing tools and discuss how tools supporting unconventional paradigms can be properly integrated in the existing tool landscapes.
  • The economics of development tools has been particularly interesting because many are offered for free within the open-source realm. For example, in the Java space, the two main projects are Eclipse and NetBeans. These platforms have changed the traditional tool ecosystem and beg the question whether Open Source tool integration frameworks are becoming the norm. We welcome articles addressing questions such as whether multiple frameworks can survive and whether a trend to one or two 'mega' platforms has been beneficial or detrimental for software developers. More generally, we look for articles addressing the economics of development tools: Can tool developers still make money? Who invests in development tools and why?

XXX(Simon-dds): I FEAR THAT THE FOLLOWING TOPIC IS TOO FAR OUT OF SCOPE AS IT PORTFOLIO MANAGEMENT HAS LITTLE TO DO WITH SOFTWARE DEVELOPMENT BY ITSELF>

XXX(dds-Simon): It is not out of scope if we include the business side of tool acquisition and maintenance, but I'd prefer to focus on the technical side. Also, is the cost of software tools really an important element in software development shops? Arthur, can we remove this bullet?>

XXX(Arthur): Yes, we need to tighten the scope in order to give the issue more cohesion. I was just throwing this out to brainstorm. We can prune it.

  • Portfolio Management marks the maturation of software as a key component of a business strategy. Today many businesses are software-based and owe the competitive advantage and differentiation to software. Given this situation, it is of vital importance that spending on IT is aligned with the business strategy of a corporation. Enterprise IT Portfolio Management is an emerging discipline that applies Financial Portfolio Management concepts, such as cost, benefit, and risk, to IT spending. Portfolio Management tools are becoming a valued addition to the software workbench.

Organization

How: Discuss what kind of contributions or parts you want the special issue to include. It should include:

a. An introduction written by the GEs, probably including a tutorial or overview of concepts and terminology, enabling readers unfamiliar with the topic to understand the articles. Do not summarize the articles, but instead explain how they relate to the topic and to each other. Your introduction should also contain a sidebar on related references.

b. A balanced selection of refereed articles and non-refereed pieces. We recommend that you engineer the content for alignment with the special issue’s vision rather than simply select the top N submissions with the best reviews. The preferred way to provide balance is by using a Point-Counterpoint article (PCP) that highlights conflicting views related to the theme. (As an example, see the March/April 2000 issue.) Alternatively, the special issue might comprise a variety articles suggesting significantly different points of view on a subject. (For example, see the July/August 1991 issue.) Roundtable discussions representing the views of several experts are also popular. (For example, see the “Viewpoints” article in the September/October 2006 special issue on testing). Consult with the Magazine Assistant regarding the PCP and Roundtable process and formats.

XXX(Simon-dds) This is my take on it. If you have different wishes or ideas, please, edit!>

The special issue will be organized as follows:

  • Introduction by the GEs: We give a broad overview of the software development life-cycle and intend to list a number of popular and existing tools for each facet. Around this overview, we hope to be able to point to in-depth articles touching on different aspects of this life-cycle, through articles discussing specific tools, or through overview articles presenting broader aspects of the available tools and their relevance.
  • The rest of the issue will include articles, balanced around our intended call, with a slight preference to articles addressing tool integration and infrastructure.
  • We would like a point/counter-point on whether there is still a market for commercial development tools or whether such tools are doomed to become open-source, community-driven commodities.

XXX(Simon-dds) I would like to get someone from the Eclipse foundation to take the point that development tools have to become freely available tools and someone from Microsoft to defend the commercial viability of development tools. Any ideas who we could ask?

XXX(dds-Simon) I doubt Microsoft is making significant money out of programming tools. Their major cash cow is Office, followed by Windows. Maybe we could approach a smaller, tools oriented firm. Coverity springs to mind. Other ideas?

XXX(Simon-dds) I agree that Microsoft does not actually make money with it, but they do not give them away for free. I just wonder if someone like Steve Cook would be willing to discuss this point? But a smaller company might be willing to: what about JetBrains? They seem to stay alive (against all my expectations). Perhaps Borland is also willing. I can always ask Karl Frank (who used to be at Borland) if he knows someone.

List of Potential Reviewers and Authors

How: Balance academics with industrial and governmental contributors (the latter where appropriate). State preliminary contacts that have been made. Remember that IEEE Software is a refereed publication; all solicited manuscripts (except for the Point-Counterpoint and Roundtable articles) must be refereed and are not guaranteed acceptance. The majority of manuscripts that finally appear in the issue will likely be the result of your solicitation. Propose a credible plan for assuring enough high-quality submissions.

Potential Authors

(Arthur): This list is already long enough to demonstrate we have no shortage of potential contributors. I can add more names from IBM and Eclipse later before we issue the CFP. I have limited Internet access until August so I'll defer adding names until then.

Name Affiliation e-mail contacted/willing? (C/W) Subject
Andreas Zeller University of Saarland, Germany [1] on debugging tools
Lawrence Mandel IBM [2] on Web Service tools
Erik Meyer Microsoft on MS dev tools
Robert Fuhrer IBM Research [3] on Safari
Mads Torgersen Microsoft [4] on MS dev tools
Peri Tarr IBM Research [5] on CME
Li-Te Cheng IBM Research [6] on JAZZ
Brett Porter Merger inc and Apache [7] on Maven
Bill Pugh University of Maryland [8] on FindBugs
Daniel Fuchs Sun Microsystems [9] on JMX
Dave Miller Mozilla Foundation [10] on Bugzilla
Krzysztof Czarnecki University of Waterloo [11] (general)
Jeff Gray University of Alabama [12] (general)
Martin Fowler Independent consultant [13] (general)
Neil Harrison Utah Valley State College [14] (general)
Karl Frank Northrop-Grumman [15] (general)
Stephan Eberle Bosh [16] on Eclipse
Bryan Cantrill Sun [17] on dtrace
David Tarditi Microsoft Research [18] on advanced compiler technology
Trishul Chilimbi Microsoft Research [19] on runtime analysis and design
Tom Ball Microsoft Research [20] on software reliability
James Larus Microsoft Research [21] on concurrency tools
Dave Binkley Loyola College in Maryland [22] on Source Code Analysis
Oege de Moor Oxford University Computing Laboratory [23] on .QL
Joseph R. Kiniry University College Dublin [24] on ESC/Java2, IDeBug
Ric Holt Software Architecture Group at the University of Waterloo [25] on PBS and CPPX
Michael Godfrey Software Architecture Group at the University of Waterloo [26] on PBS and CPPX
Andrew Malton Software Architecture Group at the University of Waterloo [27] on PBS and CPPX
Andreas Winter University of Koblenz-Landau [28] on GXL
Toshihiro Kamiya National Institute of Advanced Industrial Science and Technology(AIST) [29] on CCFinder
Ranjit Jhala University of California, San Diego [30] on BLAST, Interfaces, PSI, MACE/MC
Sorin Lerner University of California, San Diego [31] on RELAY, OPIUM
David Notkin University of Washington [32] on program analysis tools
Dan Grossman University of Washington [33] on programming language tools
Arie van Deursen Delft University of Technology [34] on work done at the Software Engineering Research Group


Potential Reviewers

The above, and the following.

Name Affiliation e-mail contacted/willing? (C/W)
Markus Voelter Independent Consultant [35] C/W
Steve Cook Microsoft [36] C/W
Boris Gruschko SAP [37] C/W
Christof Ebert Vector Consulting [38]

Call for Articles

How: Create a Call for Articles based on your focus. This is often where the “rubber hits the road” on a topic: a good call is specific and clear. Create a Call for Articles based on your focus. The Call for Articles must be open. Pre-acceptance is not permitted and invited submissions are not exempt from the peer-review process with the exception of Point-Counterpoint and Roundtable pieces. Include the following texts in the Call for Articles:

Manuscripts must not exceed 5,400 words including figures and tables, which count for 200 words each. Submissions in excess of these limits may be rejected without refereeing. The articles we deem within the theme's scope will be peer-reviewed and are subject to editing for magazine style, clarity, organization, and space. We reserve the right to edit the title of all submissions. Be sure to include the name of the theme or special issue you are submitting for.”

Articles should have a practical orientation, and be written in a style accessible to practitioners. Overly complex, purely research-oriented or theoretical treatments are not appropriate. Articles should be novel. IEEE Software does not re-publish material published previously in other venues, including other periodicals and formal conference/workshop proceedings, whether previous publication was in print or in electronic form.

Refer interested authors to you for more information about the focus and to the magazine assistant (MA) at software@computer.org for author guidelines and submission details.


Software development tools have become an indispensable part of the modern software development process. They are required to manage software complexity, global team coordination, legacy software maintenance, software migration, agile software development, localization, etc. Such tools address virtually all aspects of the software development life cycle and are used to

  • improve the quality of produced software (e.g. profilers, automated test environments, bug finders, clone detectors)
  • automate the software production process (e.g. compilers, program generators, GUI creation tools, wizards, etc.)
  • ease the process of producing code (e.g. intelli-sense editors and sophisticated IDEs, debuggers)
  • increase the reliability and maintainability of software under construction (e.g. version control systems, continuous build integration, reproducible night builds, etc.)
  • improve communication inside development teams (e.g. requirement, feature, and bug tracking systems; wikis)
  • improve customer communication and feedback (e.g. customer issue management and handling)
  • manage and synchronize documentation (e.g. documentation generators)
  • track quality changes over the development lifecycle (e.g. automated performance measurements)
  • improve the ability to maintain released products (e.g. lifecycle management tools, remote debugging, instrumentation, and bug reporting)

XXX(dds-Simon) I think the above list is too large for the CfP. Will authors have a problem

XXX(Simon-dds) Perhaps. I guess it is important that we clarify the scope. I just think that the above list gives ideas on what we are looking for. Perhaps we can leave out the examples?

XXX(dds) OK

The special issue on the Software Development Tools solicits papers that address (but are not limited to) the following topics:

  • Tools or tool sets that integrate and connect the software development life cycle
  • Comparative evaluation of specific tools addressing one or more aspects of the software development life cycle
  • Tooling platforms and their impact on the use, implementation and standardization of development tools
  • The economics of software development tools and their availability in the open-source domain
  • Tools for new software engineering and development paradigms

Articles should be backed by working software or empirical evidence and should have a practical orientation, written in a style accessible to practitioners. Overly complex, purely research-oriented or theoretical treatments are not appropriate. Articles should be novel. IEEE Software does not re-publish material published previously in other venues, including other periodicals and formal conference/workshop proceedings, whether previous publication was in print or in electronic form.

Manuscripts must not exceed 5,400 words including figures and tables, which count for 200 words each. Submissions in excess of these limits may be rejected without refereeing. The articles we deem within the theme's scope will be peer-reviewed and are subject to editing for magazine style, clarity, organization, and space. We reserve the right to edit the title of all submissions. Be sure to include the name of the theme or special issue you are submitting for.

For author guidelines and submission details, contact the magazine assistant at software@computer.org.

Qualifications of the Guest Editors (GEs)

How: In addition to technical qualifications, highlight your experience as editors in IEEE Software and other publications. Include a short biography for each GE, including a list of the 5 most relevant publications. Two GEs are preferable to one. At least one GE must reflect an industrial and practical viewpoint. Consider involving a member of the Editorial or Advisory board as a GE. Note that GEs co-author an introductory piece for the special issue, but they cannot submit articles or appear as co-authors on any of the included articles.


Diomidis Spinellis

Diomidis Spinellis is an Associate Professor at the Department of Management Science and Technology at the Athens University of Economics and Business, Greece. His research interests include software engineering tools, computer security, and programming languages. He has written the two “Open Source Perspective” books: “Code Reading” (Software Development Productivity Award 2004), and “Code Quality” (Software Development Productivity Award 2007). He is a member of the IEEE Software editorial board, authoring the regular “Tools of the Trade” column. He also co-edited the IEEE Software theme issue "Developing with Open Source Software" (21(1), January/February 2004). Spinellis is a FreeBSD committer and the author of a number of open-source software packages, libraries, and tools. He holds an MEng in Software Engineering and a PhD in Computer Science both from Imperial College London.

Relevant publications:

  • Diomidis Spinellis. Tools of the Trade column. IEEE Software, 2005-2007.
  • Diomidis Spinellis and Panagiotis Louridas. A framework for the static verification of API calls. Journal of Systems and Software, 80(7):1156–1168, July 2007. (doi:10.1016/j.jss.2006.09.040)
  • Diomidis Spinellis. Global analysis and transformations in preprocessed languages. IEEE Transactions on Software Engineering, 29(11):1019–1030, November 2003. (doi:10.1109/TSE.2003.1245303)
  • Diomidis Spinellis. On the declarative specification of models. IEEE Software, 20(2):94–96, March/April 2003. (doi:10.1109/MS.2003.1184181)
  • Diomidis Spinellis and Clemens Szyperski. How is open source affecting software development?. IEEE Software, 21(1):28–33, January/February 2004. (doi:10.1109/MS.2004.1259204)

Arthur Ryman

Dr. Ryman is a Distinguished Engineer at the IBM Toronto Software Lab where he has worked on tools for the past twenty five years. He is currently the Chief Architect for Process and Portfolio Management tools in Rational Division. Prior to that, he created and led the Eclipse Web Tools Platform Project. Previously he was a development manager and architect for a series of Java Web development tools including Rational Application Developer, WebSphere Studio Application Developer, VisualAge for e-business, and VisualAge for Java.

His area of specialization is Web services. He is a member of the W3C Web Services Description Working Group where he served as editor of the Core Language Specification for Web Service Description Language (WSDL) 2.0. He is a founding member and committer on the Apache Woden project which is creating a reference implementation of WSDL 2.0. Within IBM, he recieved an Outstanding Technical Achievement Award and a Corporate Award for his contributions to Web services.

Ryman is a Senior Member of the IEEE and a member of the ACM. He is a member of the IBM Academy of Technology and has been an Adjunct Professor of Computer Science at York University and the University of Waterloo. He was a founder, and served as the Associate Head, of the IBM Centre for Advanced Studies. His research interests include Formal Methods. He obtained a PhD in Mathematics from Oxford University.

Ryman is a frequent speaker at software conferences, has published articles in trade journals and the IBM Systems Journal. He contributed a chapter on Web services tools to the Sams book "Java Web Services Unleashed" and is a coauthor of the recently published Addison-Wesley book "Eclipse Web Tools Platform" in the Eclipse series.

Relevant Publications:

  • Eclipse Web Tools Platform, Addison-Wesley, 2007, Naci Dai, Lawrence Mandel, Arthur Ryman
  • WebSphere Studio Overview, IBM Systems Journal, Vol. 43, No. 2, 2004, F. Budinsky et al
  • Tools for Building Web Services, Java Web Services Unleashed, Chapter 23, Sams, 2002, Robert Brunner et al
  • Developing XML Web services with WebSphere Studio Application Developer, IBM Systems Journal, Vol. 41, No. 2, 2002, C. Lau, A. Ryman
  • IBM VisualAge for Java, IBM Systems Journal, Vol. 37, No. 3, 1998, Luc A Chamberland, Sharon F. Lymer, Arthur G. Ryman

Simon Helsen

Simon Helsen is a senior developer at SAP AG, where he currently works on an enterprise-level meta-data repository and infrastructure platform for Netweaver(tm)-based development tools. His area of expertise include query and constraint languages as well as model transformations and code generation. Prior to his position at SAP, he was a software architect at Interactive Objects Software GmbH, where he worked on ArcStyler, an MDA tooling platform. While at Interactive Objects, Simon represented his company at the OMG. With Krzysztof Czarnecki at the university of Waterloo in Canada, he worked on software product-line engineering and model-driven development. In his academic life prior to that, Simon worked on program generation and specialization tools for functional languages. He has published several papers in international peer-reviewed journals on both MDD-related topics and programming language theory. He also contributed a book chapter on OMG's QVT standard and served on conference committees such as AGILE, SAC, and GPCE, organizing the tool demonstrations for the latter.

Relevant publications:

  • Krzysztof Czarnecki, Simon Helsen, "Feature-model-based characterization and survey of model transformation approaches", published in Volume 45, number 3, pages 621 - 646 of the IBM Systems Journal, © 2006 by IBM.
  • Krzysztof Czarnecki, Simon Helsen, and Ulrich Eisenecker, "Staged Configuration through Specialization and Multi-Level Configuration of Feature Models", published in Volume 10, Issue 2, pages 143 - 169 of Software Process: Improvement and Practice - SPIP, © 2005 by Wiley.

Proposed Timeline

  • July '07: Submission Special Issue Proposal.
  • October '07: EIC/Editorial Board Special Issue approval.
  • November '07: Begin active manuscript acquisition/soliciting. Distribute Call for Articles.
  • April '08: Submissions due. Review process begins. Begin work on P/CP piece.
  • May '08: All reviews due.
  • June '08: Decisions made, authors notified. Authors sent reviews and asked to revise.
  • July '08: All revisions back. GEs make final recommendations. EIC decides. MA sends final-decision letters to authors.
  • August '08: Introduction and P/CP pieces due. All manuscript files at Publications Office.
  • September '08: Final versions edited.
  • Nov/Dec '08: Publication.

Notes

Here we put our notes for putting together the issue.

Elements of the software development workbench

  1. IDEs (eclipse, VS, netbeans, etc.)
  2. Debuggers
  3. Profilers
  4. Static code analysis
  5. Test tools (testing, test coverage, etc.)
  6. SCM
  7. Issue/bug tracing management
  8. Build management
  9. Lifecycle management

Interesting/specific tools

  • Code quality management
    • Findbugs
    • Junit and Emma
  • SCM
    • Subversion
    • CVS
  • Issue trackers
    • Bugzilla
    • Jira
  • Build management
    • JAZZ
    • Maven
    • Cruise Control
  • Lifecycle management
    • JMX
  • General tooling infrastructures
    • Eclipse as an OS for development tools
    • Visual Studio and software factories
    • Safari as meta-modeling toolkit
    • Concern Manipulation Environment (CME)

Template to contact potential authors or reviewers

note: this template is helpful if you don't know the contacted person personally

Dear <INSERT_NAME>,

As guest editors for the IEEE Software magazine (http://www.computer.org/software), we contact you regarding a potential contribution, or review help, for a Special Issue on <INSERT_AGREED_TITLE>.

We solicit a paper from you because of your expertise in this domain. Although we contact you specifically because of we believe in the quality and relevance of a submitted paper from your side, we emphasize that all submitted papers will undergo a peer-review process. The actual call-for-papers for this issue is attached below. More information on the kind of articles we are seeking can be found via the following links:

If do not feel you are able to contribute, but are still willing to review one or more papers, please let us know. The estimated timeline for the special issue is as follows (these times are tentative, depending editorial approval):

  • Submission deadline: April 2008
  • Reviews due: May 2008
  • Roundtrips for reviews and articles: June-July 2008
  • Publication: November-December 2008

We look forward to your answer!

Diomidis Spinellis, Athens University of Economics and Business

Arthur Ryman, IBM Rational

Simon Helsen, SAP AG

<INSERT_CFP>