Mobile applications are becoming very complex since business applications increasingly move to the mobile. Hence the same problem of code maintenance and comprehension of poorly documented apps, as in the desktop world, happen to the mobile today. One technique to help with code comprehension is to reverse engineer the application. Specifically, we are interested in the functional structure of the app i.e. how the classes that implement the use cases interact. Then we adapted, to the iPhone, the code analysis technique we developed for the desktop applications. In this paper we present the reverse engineering process and tool we used to reverse engineer the code of an iPhone app and show, in a case study, how these tools are used.
Among the code structuration mechanisms in object oriented systems, class hierarchies based on the generalization relationship play a prominent role. Indeed it is used to represent and code hierarchies of abstractions supposed to help with code understanding, maintenance and extension. But it is common to see class hierarchies and the associated inheritance mechanism be diverted from this noble role to become a mere code sharing mechanism. In this case, rather than helping, the inheritance mechanism confuses the understanding of the code. Hence, we have developed a metric to analyze the inheritance mechanism at work in a running system, what we have called the inheritance pattern. Although the metrics measuring inheritance are numerous, our approach is original since it observes the actual inheritance in the running code at the class level as well as among the packages (i.e. among the classes through package). In some sense, this metric measures how well the inheritance mechanism has been leveraged in the software. But interpreting raw numbers can be hard. Then we developed a visual and hierarchical representation of the metric values at the scale of a whole system. This helps to assess the quality of the code from the point of view of code abstraction.
Initié en 2012 par l’Université de Colombie-Britannique(UBC) sous la direction de la Professeure Luciana Duranti de la School of Library, Archival and Information Studies (SLAIS) et soutenu par le Conseil de recherches en sciences humaines du Canada (CRSH), le projet Records in the Cloud (RiC, http://www.recordsinthecloud.org) vise à identifier et à analyser en profondeur les questions techniques, opérationnelles, juridiques et économiques relatives au traitement et à la conservation externalisés moyennant des options Cloud. Basé sur une approche qualitative, ce projet réunit un groupe interdisciplinaire et international de chercheurs nord-américains et européens. Il ambitionne de développer les politiques, les directives, les outils et les dispositifs répondant aux besoins des utilisateurs et des fournisseurs des services Cloud. Au terme de cette recherche, un éclairage pertinent sur les avantages et les risques qui caractérisent les pratiques de la gestion des documents via les solutions Cloud sera présenté. Sur le plan méthodologique, en plus de l’analyse exhaustive de la littérature scientifique et professionnelle, un questionnaire web auprès de 300 utilisateurs Cloud et des entretiens semistructurés d’un échantillon significatif de fournisseurs Cloud sont envisagés. Nous présenterons dans cet article deux sections principales. La première sera réservée à la présentation des grandes lignes du projet RiC: sa problématique, ses objectifs et ses questions de recherche en détaillant la méthodologie préconisée pour ses quatre années de réalisation. Nous y préciserons, également, les différentes étapes réalisées et rappellerons les étapes prévues dans le cadre de cette recherche. La deuxième section présentera les résultats préliminaires de cette recherche.
We address the numerical solution of the Dirichlet problem for a partial differential equation involving the Jacobian determinant in two dimensions of space. The problem consists in finding a vector-valued function such that the determinant of its gradient is given point-wise in a bounded domain, together with essential boundary conditions. The proposed numerical algorithm relies on an augmented Lagrangian algorithm with biharmonic regularization, and low order mixed finite element approximations. An iterative method allows to decouple the local nonlinearities and the global variational problem that involves a biharmonic operator. Numerical experiments validate the proposed method.