FAMOOSr is a workshop aimed at researchers and practitioners in the field of object-oriented reengineering and software analysis. The workshop is focused on how to put research ideas and results from these fields into practice using the FAMIX family of meta-models and the MOOSE analysis platform.
Research reaps many benefits through collaborations and tool support. For this reason MOOSE is an open-source project for researchers and industrial to build and share their analysis, meta-models, and data. Several research groups from different universities are actively using MOOSE as an analysis platform, or FAMIX as a meta-model: University of Bern, University of Lugano, INRIA Lille, Politehnica University of Timisoara, University of Zurich, Université Catholique de Louvain, Universidad de Chile.
The main goals of the workshop are as follows:
FAMOOSR is organized as an half-day workshop. The workshop focuses on enabling discussions, rather than on being a forum for formal presentations. Thus, after a brief introduction, the workshop starts with short and dynamic presentations (up to 7 minutes), which may include tool demonstration, and then it follows up with round tables, discussions and eventually a pair programming session. One goal of the workshop is to achieve hands-on directions for further implementations, and possible future collaborations between the participants. Thus, we also encourage the participants to actively show their tools and ideas in practice by means of informal demos. The workshop is concluded by a wrap-up discussion.
The goal of the submission selection is to guide and organize the presentations and discussions. We expect two types of contributions:
Submissions may address issues along general themes, including but not limited to:
The selection process favors the submissions with higher potential of spawning discussions. The accepted submissions are presented during the workshop. Each presentation lasts for maximum 7 minutes. Because the presentations need to be short and dynamic, the review process goes beyond accept/reject, and gives feedback to the authors about their upcoming presentation. Thus, the reviewers decide the length of the presentation, suggest the three most important points that should be touched in the presentation, and suggest questions that could be asked during the workshop.
How to participate: you need to send a 10-lines description before Monday 15 August, to Jannik Laval and Alexandre Bergel (Google will help you find our emails)
Currently we are using MOOSE to do a data conversion project. Input is Cobol, output is csv files as input for a modern ERP system. Challenges: The developer of the old system died 10 years ago, there is no documentation of the system, just source and data files, some data files contain multiple record types. Approach: We use Mondrian and Glamour to analyze the system and present results and issues to the customer. This provides us with a gradually increasing insight in the system and allows the customer to understand what we are doing and to make informed decisions on what to do next and when to stop putting effort in the conversion.
Java Enterprise Applications (JEAs) are complex systems composed of various technologies and programming languages other than Java, such as XML, SQL or even specific Domain Specific Languages (DSLs). In this heterogenous context, information is spread across various components and languages. This heterogeneity makes the code more diffi- cult to understand and could hide interactions among different application elements. In this presentation we want to describe some novel components added to the FAMIX meta-model. These new components are used to expose hidden dependencies between different software artifacts. The hidden dependencies between the software artifacts can be derived in a context dependent manner. In our use-case we want to derive the connections among source code elements written in different languages (such are Java classes and scripts written in a DSL), by evaluating their connections with a relational data base. The extensions to the FAMIX meta-model have been used in the analysis of an industrial application. The outcome of this analysis is actually in use by our industrial partner. The purpose is to monitor the dependencies between Java code, that is part of a new version of the system, and the scripts written in a DSL, which are part of a the legacy application to decommission.
Identifying methods interrelation in a dynamic typed applications is challenging because of the lack of static type annotations. Consider this extreme example: if your applications contains the expression ’obj printOn: stream’, then the Moose importer will make your method on all the implementors of #printOn: in the system. We propose to profile the execution of unit tests to address this problem.
Numerous tools have been proposed to help developer comply corporative programming conventions and target refactoring effort. Checkstyle, Pmd and Lint scan source code and look for potential problems, bug, unused and sub-optimal codes. Each of these tools comes with hundreds of rules. Each of these rules may themselves suggest thousands of source code improvements for a medium-sized application. Running Lint on the Pharo class libraries (large of 2300 classes) gives over 50,000 improvements. This presentation introduces the objectives and a preliminary plan of a postdoc that looks for identifying which of these improvements have to be addressed first for an effective improvement. "How to help developers smartly improve their software" is the general context of the topic. Three planned experiences are briefly described. They look for get a better understanding about the use of checker rules and an initial classification.