In December 2014, Andre Infante of CoinReport wrote about a Bitcoin developer's warning that the rapid development of Bitcoin software may be "introducing consensus bugs." In Peter Todd Warns of Potential for Accidental Bitcoin Forks, Infante describes how the pace and scale of refactoring may have created a fork in the development. If the fork is not corrected, the network may not be able to achieve consensus about official versions of events, which could wreak havoc for a payment system. This link roundup offers several recent blog posts and a conference presentation on the topic of refactoring. Sacrificial Architecture: Martin Fowler of ThoughtWorks, and author of Refactoring, explains why he hopes that in a few years you'll need to throw away the code you are creating today. Architecture Seams: Jean Barmash at Hello FooBar! expands Michael Feathers' term seam from the book Working Effectively with Legacy Code from code to architecture, then discusses how to exploit architecture seams in a large-scale refactoring project.
We are pleased to announce our two keynote speakers for the Second International Workshop on Software Architecture and Metrics (SAM 2015) which will be held May 16, in conjunction with ICSE 2015, in Florence, Italy.
Radu Marinescu is a professor of software engineering at the Politehnica University of Timisoara, Romania. His research is focused on the areas of quality assurance, software metrics and refactoring. He strongly believes that research must ultimately flow into software products that will change the state of the practice in software companies. In 2014 he received the ICSME Most Influential Paper Award, after having received in 2009 the IBM John Backus Award for "having done the most to improve programmer productivity.”
Tim Menzies is a full Professor in CS at North Carolina State University where he teaches software engineering and search-based SE. His research relates to synergies between human and artificial intelligence, with particular application to data mining for software engineering. Prof. Menzies is the co-founder of the PROMISE conference series devoted to reproducible experiments in software engineering.
I had the pleasure of talking about our plans for SATURN 2015 with Bett Correa and Russ Miller, longtime friends of SATURN, on their Architectural Concepts Podcast.
Listen to SATURN 2015 and Why You Should Plan to Attend.
We are pleased to announce our three keynote speakers for the 11th annual SEI Architecture Technology User Network (SATURN) Conference 2015. SATURN 2015 will be held April 27-30, at the Lord Baltimore Hotel, Baltimore, Md.
WICSA 2015, the 12th Working IEEE/IFIP Conference on Software Architecture, and CompArch 2015, the 9th federated conference series bringing together researchers and practitioners from Component-Based Software Engineering and Quality of Software Architecture, are launching a unified call for workshops for the 2015 co-located event that will be held in Montréal, Canada, May 4-8, 2015.
WICSA/CompArch 2015 workshops provide a unique forum for researchers and practitioners to present and discuss the latest R&D results, experiences, trends, and challenges in the field of software architecture, component-based software engineering, and software system qualities.
In a Huffington Post article titled “What Global Warming, Energy Efficiency and Erlang Have in Common,” Noah Gift says, “Hidden in the discussion of rising energy costs and consumption in datacenters is the selection of software language.” Gift’s emphasis is on how the constraints many languages have limit them to one processor and how the languages used to write software can affect the way that processors use energy. This inefficiency would seem to extend backward from running software to developing software. Nowadays, developers must contend not only with multiple desktop platforms but also with multiple mobile platforms, and do so in multiple languages. This week’s link roundup highlights some tools for simplifying the processes of developing across languages and platforms.
Apache Thrift: The Apache Thrift software framework combines a software library with a code-generation engine, and the compiler generates code that can communicate across programming languages, enabling efficient development of scalable backend services. A white paper discusses motivations and design choices.
At SATURN, we hate the idea that a good talk might be rejected because its abstract is unclear or doesn't answer questions that the reviewers might ask. Good talks should not be rejected because the proposal is not absolutely perfect. So last year we introduced an early-acceptance deadline for speaker submissions, and it worked out really well. The quality of presentations was higher than in years past, and we overcame the dreaded Student's Syndrome--everyone waiting until the night before to submit. But this year we asked ourselves, Can we give even more opportunities? Can we make the proposal process even more friendly? For SATURN 2015, we have adopted a rolling-acceptance approach.This means that the review committee is continuously reviewing speaker proposals as they are submitted. When reviewers see a great proposal, it is accepted immediately and added to the technical program. Authors of other proposals get detailed feedback about what the reviewers are thinking and what questions they have, so they can revise and resubmit. No longer will you have to hire a soothsayer to guess what the committee might have been thinking, only to have the feedback too late to do anything about it. We have been accepting speaker proposals since October though the website was lagging a bit. That has been corrected and the full list of speakers accepted is now available.
Second International Workshop on Software Architecture and Metrics Florence, Italy, May 16, 2015 Submission deadline: January 23, 2015 http://www.sei.cmu.edu/community/sam2015/ Software engineers of complex software systems face the challenge of how best to assess the achievement of quality attributes and other key drivers, how to reveal issues and risks early, and how to make decisions about architecture and system evolution. There is an increasing need to provide ongoing quantifiable insight into the quality of the system being developed to manage the pace of software delivery and technology churn. Additionally, it is highly desirable to improve feedback between development and deployment through measurable means for intrinsic quality, value, and cost. While there is body of work focusing on code quality and metrics, their applicability at the design and architecture level and at scale are inconsistent and not proven.