-
Nasir Ali,
Yann-Gaël Guéhéneuc,
and Giuliano Antoniol.
Factors Impacting the Inputs of Traceability Recovery Approaches.
In Andrea Zisman and Jane Cleland-Huang, editors, Software and Systems Traceability (SST),
chapter 7,
pages 99--127.
Springer,
September 2012.
Note: 28 pages. [Text
] Keyword(s): Topic: Requirements and features,
Venue: SST.
Abstract:
In requirement engineering, researchers have proposed various tractability recovery approaches. To the best of our knowledge, all traceability recovery approaches have low precision and recall. Our main claim in this chapter is that there exist factors that impact the traceability approaches' inputs, in particular \emph{source document}, \emph{target document}, and \emph{experts' opinion}, that cause low precision and recall. In this chapter, we pursue four objectives: first, to identify and document factors that impact traceability recovery approaches' inputs; second, to identify metrics/tools to measure/improve the quality of the inputs with respect to the identified factors, third, to provide precautions to control these factors, and, fourth, to empirically prove and quantify the effect of one of these factors---expert's programming knowledge---on the traceability recovery approaches' inputs. To achieve the first two objectives, we perform an incremental literature review of traceability recovery approaches and identify and document three key inputs and the seven factors impacting these inputs, out of 12 identified factors. We analyse the reported results in literature for the identified factors to address our third objective. We conduct an empirical study to assess the impact of expert's programming knowledge, to address our fourth objective. We use the effort, number of correct answers, and time to measure the effect of expert's programming knowledge on traceability recovery. We conclude that, in the literature, seven factors impacting the inputs of traceability recovery approaches have been identified, documented, and reported along with related metrics/tools and precautions. We suggest that practitioners should be wary of these seven factors and researchers should focus on the five others to improve traceability recovery approaches. |
[bibtex-key = Ali11-SST-FactorImpactingTraceability]
-
José Côté,
Gaston Godin,
Yann-Gaël Guéhéneuc,
Geneviève Rouleau,
Pilar Ramirez-Garcia,
Joanne Otis,
Cécile Tremblay,
and Ghayas Fadel.
Evaluation of a Real-time Virtual Intervention to Empower Persons Living with HIV for Therapy Self-management: Study Protocol for an Online Randomized Controlled Trial.
Trials Journal (Trials),
13(1),
December 2012.
Note: 27 pages. [Text
] Keyword(s): Topic: VIHTAVIE,
Venue: Trials.
Abstract:
Morbidity and mortality among people infected with the human immunodeficiency virus (HIV) has declined dramatically since 1996 with the advent of a powerful antiretroviral therapy (ART) and the use of appropriate prophylaxis against opportunistic infections. Formerly considered a terminal illness, HIV infection is now categorized as a chronic disease. Though they cannot eradicate HIV, existing viral therapies suppress its replication and thus make it possible to maintain and improve the immune function of infected persons. However, therapy interruption, even if just temporary, allows the virus to multiply and then develop a resistance to medication. This is why it is imperative for therapy adherence to be optimal. Resistance reduces treatment response and allows the disease to progress. This resistance can be transmitted, thus becoming a public health issue. Developing interventions to boost and sustain antiretroviral therapy (ART) adherence has become a critical objective in the field of HIV and its treatment. |
[bibtex-key = Cote12-TRIALS-EvaluationHIV]
-
José Côté,
Geneviève Rouleau,
Gaston Godin,
Pilar Ramirez-Garcia,
Yann-Gaël Guéhéneuc,
Georgette Nahas,
Cécile Tremblay,
Joanne Otis,
and Annick Hernandez.
Acceptability and Feasibility Study of a Virtual Intervention to Help Persons Living with HIV Manage their Daily Therapies.
Journal of Telemedecine and Telecare (JTT),
18(7):409--421,
October 2012.
Note: 12 pages. [Text
] Keyword(s): Topic: VIHTAVIE,
Venue: JTT.
Abstract:
Objective. The VIH-TAVIE virtual intervention was developed to empower persons living with HIV to manage their daily antiretroviral therapies. VIH-TAVIE consists of four interactive computer sessions with a virtual nurse who serves as a guide through a learning process aimed at enhancing treatment management capacities. The information furnished and the strategies proposed by the nurse are adapted specifically on the basis of responses provided by the user.
ewline Methods. A study was conducted to document the acceptability and feasibility of the web application. VIH-TAVIE was evaluated in a hospital setting as an adjunct intervention to regular care. Participants (N=88) were mostly men (n=73) and had a mean age of 47 years (SD=7). They had been diagnosed with HIV some 15 years earlier and had been on antiretroviral medication for a mean period of 12 years. Data were collected by different means: acceptability questionnaires, field notes and observations.
ewline Results. For the majority of the PLHIV, VIH-TAVIE was easy to use. They learned tips for taking their medication, diminishing adverse side-effects and maintaining a positive attitude towards treatment. A large portion of the participants deemed their VIH-TAVIE experience highly satisfactory and felt the intervention met their needs with respect to strategies and proficiencies even though they had been taking medication for at least 12 years on average.
ewline Conclusion. Still only at an experimental stage, the VIH-TAVIE approach is intended to be complementary to clinical follow-up. |
[bibtex-key = Cote12-Telemedecie-AcceptabilityFeasabilityStudy]
-
Foutse Khomh,
Massimiliano Di Penta,
Yann-Gaël Guéhéneuc,
and Giuliano Antoniol.
An Exploratory Study of the Impact of Antipatterns on Class Change- and Fault-Proneness.
Empirical Software Engineering (EMSE),
17(3):243--275,
June 2012.
Note: 27 pages. [Text
] Keyword(s): Topic: Code and design smells,
Venue: EMSE.
Abstract:
{\bf Context: } Antipatterns are poor design choices that are conjectured to make object-orien\-ted systems harder to maintain.
ewline
oindent {\bf Aim: } We investigate the impact of antipatterns on classes in object-oriented systems by studying the relation between the presence of antipatterns and the change- and fault-proneness of the classes.
ewline
oindent {\bf Method: } We detect 13 antipatterns in 54 releases of ArgoUML, Eclipse, Mylyn, and Rhino, and analyse (1) to what extent classes participating in antipatterns have higher odds to change or to be subject to fault-fixing than other classes, (2) to what extent these odds (if higher) are due to the sizes of the classes or to the presence of antipatterns, and (3) what kinds of changes affect classes participating in antipatterns.
ewline
oindent {\bf Results:} We show that, in almost all releases of the four systems, classes participating in antipatterns are more change- and fault-prone than others. We also show that size alone cannot explain the higher odds of classes with antipatterns to underwent a (fault-fixing) change than other classes. Finally, we show that structural changes affect more classes with antipatterns than others. We provide qualitative explanations of the increase of change- and fault-proneness in classes participating in antipatterns using release notes and bug reports.
ewline
oindent {\bf Conclusions: } The obtained results justify \emph{a posteriori} previous work on the specification and detection of antipatterns and could help to better focus quality assurance and testing activities. |
[bibtex-key = Khomh11-EMSE-AntiPatternsImpact]
-
Benoît de Smet,
Lorent Lempereur,
Zohreh Sharafi,
Yann-Gaël Guéhéneuc,
Giuliano Antoniol,
and Naji Habra.
Taupe: Visualising and Analysing Eye-tracking Data.
Science of Computer Programming (SCP),
79:260--278,
February 2012.
Note: 20 pages. 2nd special issue on Experimental Software and Toolkits. [Text
] Keyword(s): Topic: Program comprehension,
Venue: SCP.
Abstract:
Program comprehension is an essential part of any maintenance activity. It allows developers to build mental models of the program before undertaking any change. It has been studied by the research community for many years to devise models and tools to understand and ease this activity. Recently, researchers introduced the use of eye-tracking devices to gather and analyse data about the developers' cognitive processes during program comprehension. However, eye-tracking devices are not completely reliable and, thus, recorded data sometimes must be processed, filtered, or corrected. Moreover, the analysis software tools packaged with eye-tracking devices are not open-source and do not always provide extension points to seamlessly integrate new sophisticated analyses. Consequently, we develop the Taupe software system to help researchers visualise, analyse and edit the data recorded by eye-tracking devices. The two main objectives of Taupe are neutrality and extensibility so that researchers can easily (1) apply the system on any eye-tracking data and (2) extend the system with their own analyses. To meet our objectives, we base the development of the Taupe: (1) on well-known good practices, such as design patterns and a plug-in architecture using reflection, (2) on a thorough documentation, validation and verification process, and (3) on lessons learned from existing analysis software systems. This paper describes the context of development of the Taupe, the architectural and design choices made during its development, and its documentation, validation and verification process. It also illustrates the application of Taupe in three experiments on the use of design patterns by developers during program comprehension. |
[bibtex-key = DeSmet11-SCP-Taupe]
-
Surafel Lemma Abebe,
Paolo Tonella,
Venera Arnaoudova,
Giuliano Antoniol,
and Yann-Gaël Guéhéneuc.
Can Lexicon Bad Smells Improve Fault Prediction?.
In Rocco Oliveto and Denys Poshyvanyk, editors,
Proceedings of the 19th Working Conference on Reverse Engineering (WCRE),
pages 235--244,
October 2012.
IEEE CS Press.
Note: 10 pages. [Text
] [Slides
] Keyword(s): Topic: Code and design smells,
Venue: WCRE.
Abstract:
In software development, early identification of fault-prone classes can save a considerable amount of resources. In the literature, source code structural metrics have been widely investigated as one of the factors that can be used to identify faulty classes. Structural metrics measure code complexity, one aspect of the source code quality. Complexity might affect program understanding and hence increase the likelihood of inserting errors in a class. Besides the structural metrics, we believe that the quality of the identifiers used in the code may also affect program understanding and thus increase the likelihood of error insertion. In this study, we measure the quality of identifiers using the number of Lexicon Bad Smells (LBS) they contain. We investigate whether using LBS in addition to structural metrics improves fault prediction. To conduct the investigation, we asses s the prediction capability of a model while using i) only structural metrics, and ii) structural metrics and LBS. The results on three open source systems, ArgoUML, Rhino, and Eclipse, indicate that there is an improvement in the majority of the cases. |
[bibtex-key = Abebe12-WCRE-LBS]
-
Nasir Ali,
Aminata Sabané,
Yann-Gaël Guéhéneuc,
and Giuliano Antoniol.
Improving Bug Location Using Binary Class Relationships.
In Mariano Ceccato and Zheng Li, editors,
Proceedings of the 12th International Working Conference on Source Code Analysis and Manipulation (SCAM),
pages 174--183,
September 2012.
IEEE CS Press.
Note: 10 pages. [Text
] [Slides
] Keyword(s): Topic: Binary class relations,
Topic: Requirements and features,
Venue: SCAM.
Abstract:
Bug location assists developers in locating culprit source code that must be modified to fix a bug. Done manually, it requires intensive search activities with unpredictable costs of effort and time. Information retrieval (IR) techniques have been proven useful to speedup bug location in object-oriented programs. IR techniques compute the textual similarities between a bug report and the source code to provide a list of potential culprit classes to developers. They rank the list of classes in descending order of the likelihood of the classes to be related to the bug report. However, due to the low textual similarity between source code and bug reports, IR techniques may put a culprit class at the end of a ranked list, which forces developers to manually verify all non-culprit classes before finding the actual culprit class. Thus, even with IR techniques, developers are not saved from manual effort. In this paper, we conjecture that binary class relationships (BCRs) could improve the rankings by IR techniques of classes and, thus, help reducing developers' manual effort. We present an approach, LIBCROOS, that combines the results of any IR technique with BCRs gathered through source code analyses. We perform an empirical study on four systems---Jabref, Lucene, muCommander, and Rhino---to compare the accuracy, in terms of rankings, of LIBCROOS with two IR techniques: latent semantic indexing (LSI) and vector space model (VSM). The results of this empirical study show that LIBCROOS improves the rankings of both IR technique statistically when compared to LSI and VSM alone and, thus, may reduce the developers' effort. |
[bibtex-key = Ali12-SCAM-ImprovingBugLocationBCR]
-
Nasir Ali,
Zohreh Sharafi,
Yann-Gaël Guéhéneuc,
and Giuliano Antoniol.
An Empirical Study on Requirements Traceability Using Eye-Tracking.
In Massimiliano Di Penta and Jonathan I. Maletic, editors,
Proceedings of the 28th International Conference on Source Maintenance (ICSM),
pages 191--200,
September 2012.
IEEE CS Press.
Note: 10 pages. [Text
] [Slides
] Keyword(s): Topic: Requirements and features,
Topic: Program comprehension,
Venue: ICSM,
Venue: ICSME.
Abstract:
Requirements traceability (RT) links help developers understand programs and ensure that their source code is consistent with its documentation. Creating RT links is a laborious and resource-consuming task. Information Retrieval (IR) techniques are useful to recover automatically traceability links but IR-based approaches typically have low accuracy (precision and recall) and, thus, creating RT links remains a human intensive process. We conjecture that understanding how developers create RT links could help improving the accuracy of IR-based approaches to recover RT links. Consequently, we perform an empirical study consisting of two controlled experiments. First, we use an eye-tracking system to capture developers' eye movements while they verify RT links. We analyse the obtained data to identify and rank developers' preferred source code entities (SCEs), \eg{} class names, method names, used by these developers. Second, we use the ranked SCEs to propose two new weighting schemes called $SCE/IDF$ and $DOI/IDF$ to recover RT links combined with an IR technique. $SEC/IDF$ is based on the developers preferred SCEs to create RT links. $DOI/IDF$ is an extension of $SEC/IDF$ distinguishing domain and implementation concepts. We use LSI combined with $SEC/IDF$, $DOI/IDF$, and $TF/IDF$ to show, using two systems, iTrust and Pooka, that $LSI_{DOI/IDF}$ statistically improves the accuracy of the recovered RT links over $LSI_{TF/IDF}$. |
[bibtex-key = Ali12-ICSM-RequirementsEyetracking]
-
Neelesh Bhattacharya,
Olfat El Mahi,
Etienne Duclos,
Giovanni Beltrame,
Giuliano Antoniol,
Sébastien Le Digabel,
and Yann-Gaël Guéhéneuc.
Optimizing Threads Schedule Alignments to Expose the Interference Bug Pattern.
In Gordon Fraser and Jerffeson Teixeira de Souza, editors,
Proceedings of the 4th Symposium on Search Based Software Engineering (SSBSE),
pages 90--104,
September 2012.
IEEE CS Press.
Note: 15 pages. [Text
] [Slides
] Keyword(s): Topic: Test case generation,
Venue: SSBSE.
Abstract:
Managing and controlling interference conditions in multi-threaded programs has been an issue of worry for application developers for a long time. Typically, when write events from two concurrent threads to the same shared variable are not properly protected, an occurrence of the interference bug pattern could be exposed. We propose a mathematical formulation and its resolution to maximize the possibility of exposing occurrences of the interference bug pattern. We formulate and solve the issue as an optimization problem that gives us (1) the optimal position to inject a delay in the execution flow of a thread and (2) the optimal duration for this delay to align at least two different write events in a multi-threaded program. To run the injected threads and calculate the thread execution times for validating the results, we use a virtual platform modelling a perfectly parallel system. All the effects due to the operating system's scheduler or the latencies of hardware components are reduced to zero, exposing only the interactions between threads. To the best of our knowledge, no previous work has formalized the alignment of memory access events to expose occurrences of the interference bug pattern. We use three different algorithms (random, stochastic hill climbing, and simulated annealing) to solve the optimization problem and compare their performance. We carry out experiments on four small synthetic programs and three real-world applications with varying numbers of threads and read/write executions. Our results show that the possibility of exposing interference bug pattern can be significantly enhanced, and that metaheuristics (hill climbing and simulated annealing) provide much better results than a random algorithm. |
[bibtex-key = Bhattacharya12-SSBSE-ThreadAlignment]
-
José Côté,
Geneviève Rouleau,
Yann-Gaël Guéhéneuc,
Gaston Godin,
Pilar Ramirez-Garcia,
Annick Hernandez,
Géraldine Martorella,
and Sylvie Cossette.
Virtual Nursing Interventions: Tailored Real-Time Support for People Living with a Chronic Health Problem.
In Proceedings of the 5th World Congress on Social Media, Mobile Apps, and Internet/Web 2.0 in Health, Medicine and Biomedical Research (Medicine 2.0),
September 2012.
Medicine 2.0.
[Text
] Keyword(s): Topic: VIHTAVIE,
Venue: Medicine 2.0.
Abstract:
Introduction: Health professionals are called upon to contribute to finding novel and practical solutions for meeting the challenges of health services and care. The increase in chronic health problems and the emergence of new needs in the population pose significant challenges for research. New avenues for solutions must be considered and the development and evaluation of innovative interventions paves the way for changes in the traditional modes of care delivery. Objectives: A virtual nursing intervention concept called TAVIE (French acronym for Traitement Assistance Virtuelle Infirmi{\`e}re et Enseignement or Treatment Virtual Nurse Assistance and Teaching) has been developed to provide tailored, real-time support to people living with a chronic health problem who must manage the challenges inherent to their health condition. Method: The web-based interventions developed to date on this basis are the fruit of the integration of clinical, empirical and theoretical knowledge and collaboration with experts in media arts and computer sciences. Results: Based on a philosophy of empowerment, these tailored virtual interventions are intended to boost people's ability to take charge of their health conditions. Specifically, the web applications involve a virtual nurse who guides the user through the process of learning the requisite skills to self-manage his or her health condition. The user plays an active role in the matter: he or she is seen as someone who has strengths and the potential to change and who is expected to put the recommended strategies and skills into practice. In addition to delivering teaching that is tailored or adapted to the needs of the user, the virtual nurse provides feedback and positive reinforcement on progress made and skills acquired. Thus, the virtual nurse becomes a guide, a care partner and a mentor who empowers the user to take charge of his or her situation. A computer platform endowed with a content management system and a database, among other things, was created to act as an umbrella support for different applications (VIH-TAVIE, SOULAGE-TAVIE, TRANSPLANT-TAVIE, CARDIO-TAVIE) enabling a variety of clients to cope with or meet their health challenges. VIH-TAVIE is intended to support people living with HIV in adhering to their antiretroviral therapy. SOULAGE-TAVIE offers support for managing postoperative pain. TRANSPLANT-TAVIE is meant to help transplant recipients manage their immunosuppressive drug intake. CARDIO-TAVIE provides support for managing heart medication intake. Conclusion: Still at an experimental stage, this virtual intervention approach is being developed at a time of service reorganization and resource shortages. This web-based support cannot substitute for the quality and intensity of the relationship between health professional and patient; it is meant to be complementary to conventional follow-up. Indeed, it fits into the continuum or trajectory of care and services intended to ensure quality follow-up. |
[bibtex-key = Cote12-Medicine20-VIHTAVIEVirtualNursing]
-
José Côté,
Geneviève Rouleau,
Yann-Gaël Guéhéneuc,
Pilar Ramirez-Garcia,
Gaston Godin,
Joanne Otis,
Riyas Fadel,
and Cécile Tremblay.
HIV-MEDIC Online: Evaluation of a Web-based Intervention to Better Support People Living with HIV (PLHIV) for Taking Their Antiretroviral Therapy.
In Pierre Côté and Jean-Pierre Routy, editors,
Proceedings of the 21th Canadian Conference on HIV/Aids Research (CAHR),
April 2012.
Pulsus Group.
[Text
] Keyword(s): Topic: VIHTAVIE,
Venue: CAHR.
Abstract:
Introduction. HIV-MEDIC online is a randomized controlled trial available in French and English on a secure Web site, which aims to assess the efficacy of virtual support interventions in the management of antiretroviral therapy to PLHIV. Objective. The objectives of this communication are: 1) to present HIV-MEDIC online, 2) to show the experience of the site's first users, and 3) to reveal the challenges encountered in a study done entirely through the Web. Method. Usability tests to potential users, i.e., to PLHIV on antiretroviral therapy, were a prerequisite to launching the study online. Observation and structured interviews were undertaken to determine the usability (ease of use, efficiency, errors, and user satisfaction) of the user interface and the content of the entire process of the randomized controlled trial online. Results. Usability tests among the users allowed the improvement of the virtual research process. HIV-MEDIC online was developed thanks to the pooling of diversified expertise: a clinical team, community workers, researchers, web design, multimedia team, and computer programmers. Evaluation of an intervention through a randomized controlled trial online presents particular challenges especially in terms of recruitment, ethics, data collection, long-term follow-up, and data security. Conclusion. Accessibility to Web-based interventions provides the possibility for capability and empowerment. From their home or any other place chosen by the individuals accessing the Internet, PLHIV can benefit from this new intervention modality and from the results of this research. |
[bibtex-key = Cote12-WebSupportVIH]
-
José Côté,
Geneviève Rouleau,
Pilar Ramirez-Garcia,
Yann-Gaël Guéhéneuc,
Gaston Godin,
and Annick Hernandez.
VIH-TAVIE: Tailored Virtual Support for Better Self-Management of Antiretroviral Therapy.
In Proceedings of the 5th World Congress on Social Media, Mobile Apps, and Internet/Web 2.0 in Health, Medicine and Biomedical Research (Medicine 2.0),
September 2012.
Medicine 2.0.
[Text
] Keyword(s): Topic: VIHTAVIE,
Venue: Medicine 2.0.
Abstract:
Background: The VIH-TAVIE (VIH - Traitement Assistance Virtuelle Infirmi{\`e}re et Enseignement or HIV - Treatment Virtual Nurse Assistance and Teaching) intervention is an innovative healthcare application that employs information technology as a means of access and learning to help people living with HIV (PLHIV) adhere more effectively to their daily antiretroviral treatment. Objective: The presentation will serve to describe the VIH-TAVIE application and demonstrate how it works. Method: With the help of experts in the fields of media arts (e.g., media consultant, graphic designer) and computer sciences, a group of health professionals (nurses, pharmacists, nutritionists, doctors) created the TAVIE computing platform, which supports the VIH-TAVIE application and allows developing other tailored virtual interventions quickly and efficiently. Results: The VIH-TAVIE application is composed of four computer sessions each 20-30 minutes long, in which the user interacts with an animated ``virtual'' nurse. The nurse guides the individual through a process of learning about the aptitudes required to optimize treatment adherence. The aim of VIH-TAVIE is to allow PLHIV to consolidate their self-motivation, self-observation, problem-solving, emotional-control and social-interaction capacities. Together, these enable PLHIV to incorporate the therapeutic regimen into their daily routine, to cope with side-effects from the medication, to handle situations or circumstances that could interfere with medication intake, to interact with health professionals, and to mobilize social support. The virtual nurse also provides personalized teaching, such as by giving examples of other PLHIV who managed to handle situations similar to those faced by the user, as well as feedback and positive reinforcement on progress made and skills acquired. Overall, VIH-TAVIE comprises about 130 pages, 140 short video clips, 40 animated features and 55 PDF files (e.g., summaries of different skills, answers to frequently asked questions, advice on coping with side-effects). It also provides the user with consolidation tools (e.g., a logbook for recording adverse side-effects). The TAVIE platform is endowed with a Content Management System with some 20 algorithms set up to ``tailor'' responses according to user profile and information submitted by the user at each session. The relation and interaction between user and virtual nurse makes for a more dynamic experience than is the case with ordinary general information websites insensitive to user profile. The database included in the platform allows keeping track of how resources are used (e.g., PDF files downloaded, video clips and web pages viewed, time spent on each page), which facilitates evaluating the intervention's effectiveness with respect to the target group and makes it easier to adjust and update content accordingly. Conclusion: The ultimate aim of the VIH-TAVIE project is to make support available to PLHIV at all times and at their convenience so that they may develop the skills needed to meet the challenges inherent to their health condition. |
[bibtex-key = Cote12-Medicine20-VIHTAVIESelfManagement]
-
Massimiliano Di Penta,
Giuliano Antoniol,
Daniel M. German,
Yann-Gaël Guéhéneuc,
and Bram Adams.
Five Days of Empirical Software Engineering: the PASED Experience.
In Jochen Ludewig and Hausi A. Müller, editors,
Proceedings of the 34th International Conference on Software Engineering (ICSE),
pages 1255--1258,
June 2012.
ACM Press.
Note: 4 pages. Software Engineering Education Track. [Text
] [Slides
] Keyword(s): Venue: ICSE.
Abstract:
Acquiring the skills to plan and conduct different kinds of empirical studies is a mandatory requirement for graduate students working in the field of software engineering. These skills typically can only be developed based on the teaching and experience of the students' supervisor, because of the lack of specific, practical courses providing these skills. To fill this gap, we organized the first Canadian Summer School on Practical Analyses of Software Engineering Data (PASED). The aim of PASED is to provide---using a ``learning by doing'' model of teaching---a solid foundation to software engineering graduate students on conducting empirical studies. This paper describes our experience in organizing the PASED school, i.e., what challenges we encountered, how we designed the lectures and laboratories, and what could be improved in the future based on the participants' feedback. |
[bibtex-key = DiPenta12-SEE-PASED]
-
Latifa Guerrouj,
Philippe Galinier,
Yann-Gaël Guéhéneuc,
Giuliano Antoniol,
and Massimiliano Di Penta.
TRIS: a Fast and Accurate Identifiers Splitting and Expansion Algorithm.
In Rocco Oliveto and Denys Poshyvanyk, editors,
Proceedings of the 19th Working Conference on Reverse Engineering (WCRE),
pages 103--112,
October 2012.
IEEE CS Press.
Note: 10 pages. [Text
] [Slides
] Keyword(s): Topic: Identifier analysis,
Venue: WCRE.
Abstract:
In the quest of supporting various software engineering tasks such as program comprehension, reverse engineering, or program redocumentation researchers have proposed several identifier splitting and expansion approaches such as Samurai, TIDIER and more recently GenTest. The ultimate goal of such approaches is to help disambiguating conceptual information encoded in compound (or abbreviated) identifiers. This paper presents TRIS, TRee-based Identifier Splitter, a two-phases approach to split and expand program identifiers. TRIS takes as input a dictionary of words, the identifiers to split and the identifiers source code application. First, TRIS pre-compiles transformed dictionary words into a tree representation, associating a cost to each transformation. In a second phase, it maps the identifier splitting problem into a minimization problem, \ie{} the search of the shortest path (optimal split/expansion) in a weighted graph. We apply TRIS on a sample of 974 identifiers extracted from JHotDraw (Java), 3,085 Lynx identifiers (C), and on a sample of 489 C identifiers extracted from 340 C programs. Finally, we compared TRIS with GenTest on a set of 2,663 mixed Java, C and C++ identifiers. We report evidence that TRIS split (and expansion) is more accurate than state of the art approaches and that it is also efficient in terms of computation time. |
[bibtex-key = Guerrouj12-WCRE-TRIS]
-
Salima Hassaine,
Yann-Gaël Guéhéneuc,
Sylvie Hamel,
and Giuliano Antoniol.
ADvISE: Architectural Decay In Software Evolution.
In Rudolf Ferenc Tom Mens, Anthony Cleve, editor,
Proceedings of the 16th European Conference on Software Maintenance and Reengineering (CSMR),
pages 267--276,
March 2012.
IEEE CS Press.
Note: 10 pages. [Text
] [Slides
] Keyword(s): Topic: Evolution patterns,
Venue: CSMR.
Abstract:
Software systems evolve continuously, requiring continuous maintenance and development. Consequently, their architecture tends to degrade with time as it becomes less relevant to new, emerging requirements. Therefore, stability or resilience is a primary criterion for evaluating an architecture. In this paper, we propose a quantitative approach to study the evolution of the architecture of object oriented systems over time. In particular, we represent an architecture as a set of triplets $(S,R,T)$, where $S$ and $T$ represent two classes and $R$ is a relationship linking them. We use these triplets as basic unit to measure the stability of an architecture. We show the applicability and usefulness of our approach by studying the evolution of three open source systems: JFreeChart and Xerces-J and Rhino. |
[bibtex-key = Hassaine12-CSMR-ADvISE]
-
Abdou Maiga,
Nasir Ali,
Neelesh Bhattacharya,
Aminata Sabané,
Yann-Gaël Guéhéneuc,
Giuliano Antoniol,
and Esma Aimeur.
SMURF: A SVM-based Incremental Anti-pattern Detection Approach.
In Rocco Oliveto and Denys Poshyvanyk, editors,
Proceedings of the 19th Working Conference on Reverse Engineering (WCRE),
pages 466--475,
October 2012.
IEEE CS Press.
Note: 10 pages. [Text
] [Slides
] Keyword(s): Topic: Code and design smells,
Venue: WCRE.
Abstract:
In current, typical software development projects, hundreds of developers work asynchronously in space and time and may introduce anti-patterns in their software systems because of time pressure, lack of understanding, communication, and--or skills. Anti-patterns impede development and maintenance activities by making the source code more difficult to understand. Detecting anti-patterns incrementally and on subsets of a system could reduce costs, effort, and resources by allowing practitioners to identify and take into account occurrences of anti-patterns as they find them during their development and maintenance activities. Researchers have proposed approaches to detect occurrences of anti-patterns but these approaches have currently four limitations: (1) they require extensive knowledge of anti-patterns, (2) they have limited precision and recall, (3) they are not incremental, and (4) they cannot be applied on subsets of systems. To overcome these limitations, we introduce SMURF, a novel approach to detect anti-patterns, based on a machine learning technique---support vector machines---and taking into account practitioners' feedback. Indeed, through an empirical study involving three systems and four anti-patterns, we showed that the accuracy of SMURF is greater than that of DETEX and BDTEX when detecting anti-patterns occurrences. We also showed that SMURF can be applied in both intra-system and inter-system configurations. Finally, we reported that SMURF accuracy improves when using practitioners' feedback. |
[bibtex-key = Maiga12-WCRE-SMURF]
-
Abddou Maiga,
Nasir Ali,
Neelesh Bhattacharya,
Aminata Sabané,
Yann-Gaël Guéhéneuc,
Giuliano Antoniol,
and Esma Aimeur.
Support Vector Machines for Anti-pattern Detection.
In Tim Menzies and Motoshi Saeki, editors,
Proceedings of the 27th Conference on Automated Software Engineering (ASE),
pages 278--281,
September 2012.
ACM Press.
Note: 4 pages. Short paper. [Text
] [Slides
] Keyword(s): Topic: Code and design smells,
Venue: ASE.
Abstract:
Developers may introduce anti-patterns in their software systems because of time pressure, lack of understanding, communication, and--or skills. Anti-patterns impede development and maintenance activities by making the source code more difficult to understand. Detecting anti-patterns in a whole software system may be infeasible because of the required parsing time and of the subsequent needed manual validation. Detecting anti-patterns on subsets of a system could reduce costs, effort, and resources. Researchers have proposed approaches to detect occurrences of anti-patterns but these approaches have currently some limitations: they require extensive knowledge of anti-patterns, they have limited precision and recall, and they cannot be applied on subsets of systems. To overcome these limitations, we introduce SVMDetect, a novel approach to detect anti-patterns, based on a machine learning technique---support vector machines. Indeed, through an empirical study involving three subject systems and four anti-patterns, we showed that the accuracy of SVMDetect is greater than of DETEX when detecting anti-patterns occurrences on a set of classes. Concerning, the whole system, SVMDetect is able to find more anti-patterns occurrences than DETEX. |
[bibtex-key = Maiga12-ASE-FeedbackAntipatterns]
-
Soumaya Medini,
Giuliano Antoniol,
Yann-Gaël Guéhéneuc,
Massimiliano Di Penta,
and Paolo Tonella.
SCAN: an Approach to Label and Relate Execution Trace Segments.
In Rocco Oliveto and Denys Poshyvanyk, editors,
Proceedings of the 19th Working Conference on Reverse Engineering (WCRE),
pages 135--144,
October 2012.
IEEE CS Press.
Note: 10 pages. \awardBest paper. [Text
] [Slides
] Keyword(s): Topic: Requirements and features,
Venue: WCRE.
Abstract:
Identifying concepts in execution traces is a task often necessary to support program comprehension or maintenance activities. Several approaches---static, dynamic or hybrid---have been proposed to identify cohesive, meaningful sequence of methods in execution traces. However, none of the proposed approaches is able to label such segments and to identify relations identified in other segments of the same trace This paper present SCAN (Segment Concept AssigNer) an approach to assign labels to sequences of methods in execution traces, and to identify relations between such segments. SCAN uses information retrieval methods and formal concept analysis to produce sets of words helping the developer to understand the concept implemented by a segment. Specifically, formal concept analysis allows SCAN to discover commonalities between segments in different trace areas, as well as terms more specific to a given segment and higher level relation between segments. The paper describes SCAN along with a preliminary manual validation---upon execution traces collected from usage scenarios of JHotDraw and ArgoUML---of SCAN accuracy in assigning labels representative of concepts implemented by trace segments. |
[bibtex-key = Medini12-WCRE-SCAN]
-
Naouel Moha,
Francis Palma,
Mathieu Nayrolles,
Benjamin Joyen Conseil,
Yann-Gaël Guéhéneuc,
Benoit Baudry,
and Jean-Marc Jézéquel.
Specification and Detection of SOA Antipatterns.
In Chengfei Liu,
Heiko Ludwig,
and Farouk Toumani, editors,
Proceedings of the 10th International Conference on Service Oriented Computing (ICSOC),
pages 1--16,
November 2012.
Springer.
Note: 15 pages. Runner-up best paper. [Text
] [Slides
] Keyword(s): Topic: Code and design smells,
Venue: ICSOC.
Abstract:
Like any other complex software system, Service Based Sys-tems (SBSs) must evolve to fit new user requirements and execution contexts. The changes resulted from the evolution of SBSs degrade their design and quality of service (QoS) and often cause the appearance of common bad practice solutions, called antipatterns. Antipatterns result-ing from these changes also hinder the maintenance and evolution of SBSs. The automatic detection of antipatterns is thus important to as-sess the design and QoS of SBSs and ease the maintenance and evolution. However, methods and techniques for the detection of antipatterns in SBSs are still in their infancy despite their importance. In this paper, we introduce a novel and innovative approach supported by a framework for specifying and detecting antipatterns in SBSs. Using our approach, we specify 10 well-known and common antipatterns, including Multi Service and Tiny Service, and we automatically generate their detection algo-rithms. We apply and validate the detection algorithms in terms of pre-cision and recall on Home-Automation, an SBS developed independently. This validation demonstrates that our approach enables the specification and the detection of SOA antipatterns with high precision and recall. |
[bibtex-key = Moha12-ICSOC-DetectionSOAAntipatterns]
-
Francis Palma,
Hadi Farzin,
Yann-Gaël Guéhéneuc,
and Naouel Moha.
Recommendation System for Design Patterns in Software Development: A DPR Overview.
In Walid Maalej,
Martin Robillard,
Robert J. Walker,
and Thomas Zimmermann, editors,
Proceedings of the 3rd International Workshop on Recommendation Systems for Software (RSSE),
June 2012.
ACM Press.
Note: 5 pages. [Text
] [Slides
] Keyword(s): Topic: Design patterns,
Venue: RSSE.
Abstract:
Software maintenance can become monotonous and expensive due to ignorance and misapplication of appropriate design patterns during the early phases of design and development. To have a good and reusable system, designers and developers must be aware of large information set and many quality concerns, e.g., design patterns. Systems with correct design pattern may ensure easy maintenance and evolution. However, without assistance, designing and development of software systems following certain design patterns is difficult for engineers. Recommendation systems for software engineering can assist designers and developers with a wide range of activities including suggesting design patterns. With the help of pattern recommenders, designers can come up with a reusable design. We provide a extit{Design Pattern Recommender} (DPR) process overview for software design to suggest design patterns, based on a simple Goal-Question-Metric (GQM) approach. Our prototype provides two-fold solution. In the primary-level, DPR only proposes one or more design patterns for a problem context, and in the secondary level, for a initial set of design, DPR refactors models and suggests design patterns. Our preliminary evaluation shows that DPR has a good trade-off between accuracy and procedural complexity, comparing to other state-of-the-art approaches. |
[bibtex-key = Palma12-RSSE-DPR]
-
Abdelilah Sakti,
Yann-Gaël Guéhéneuc,
and Gilles Pesant.
Boosting Search-Based Testing by using Constraint-based Testing.
In Gordon Fraser and Jerffeson Teixeira de Souza, editors,
Proceedings of the 4th Symposium on Search Based Software Engineering (SSBSE),
pages 213--227,
September 2012.
IEEE CS Press.
Note: 15 pages. [Text
] [Slides
] Keyword(s): Topic: Test case generation,
Venue: SSBSE.
Abstract:
Search-based testing (SBT) uses an evolutionary algorithm in order to generate test cases. In general for search-based testing the initial population is generated using a random selection. Such an initial population is likely to achieve low coverage. A guided selection procedure to generate a diversified initial population may substantially increase the chance of reaching adequate coverage with less effort, therefore saving in resource expenditure. In this paper we propose an approach that models a relaxed version of the unit under test as a constraint satisfaction problem. Based on this model and the test target we generate an initial population. An evolutionary algorithm uses this population to generate test input leading to cover the test target. The approach combines constraint-based and search-based techniques and has two key advantages: It does not require any change in the underlying testing techniques and it avoids traditional problems associated either with constraint-based or search-based testing. Using eToc, an open source SBT tool, a prototype of this approach has been implemented. Empirical results on both known benchmarks and two open source programs are presented. |
[bibtex-key = Sakti12-SSBSE-BoostingSBTwithCBT]
-
Zohreh Sharafi,
Zéphyrin Soh,
Yann-Gaël Guéhéneuc,
and Giuliano Antoniol.
Women & Men -- Different but Equal: On the Impact of Identifier Style on Source Code Reading.
In Arie van Deursen and Michael W. Godfrey, editors,
Proceedings of the 20th International Conference on Program Comprehension (ICPC),
pages 27--36,
June 2012.
IEEE CS Press.
Note: 10 pages. [Text
] [Slides
] Keyword(s): Topic: Program comprehension,
Venue: ICPC.
Abstract:
Program comprehension is preliminary to any program evolution task. Researchers agree that identifiers play an important role in code reading and program understanding activities. Yet, to the best of our knowledge, only one work investigated the impact of gender on the memorability of identifiers and thus, ultimately, on program comprehension. This paper reports the results of an experiment involving 15 male subjects and nine female subjects to study the impact of gender on the subjects' visual effort, required time, as well as accuracy to recall Camel Case versus Underscore identifiers in source code reading. We observe no statistically-significant difference in term of accuracy, required time, and effort. However, our data supports the conjecture that male and female subjects follow different comprehension strategies: female subjects seem to carefully weight all options and spend more time to rule out wrong answers while male subjects seem to quickly set their minds on some answers, possibly the wrong ones. Indeed, we found that the effort spent on wrong answers is significantly higher for female subjects and that there is an interaction between the effort that female subjects invested on wrong answers and their higher percentages of correct answers when compared to male subjects. |
[bibtex-key = Sharafi12-ICPC-MenWomen]
-
Zéphyrin Soh,
Zohreh Sharafi,
Bertrand van den Plas,
Gerardo Cepeda Porras,
Yann-Gaël Guéhéneuc,
and Giuliano Antoniol.
Professional Status and Expertise for UML Class Diagram Comprehension: An Empirical Study.
In Arie van Deursen and Michael W. Godfrey, editors,
Proceedings of the 20th International Conference on Program Comprehension (ICPC),
pages 163--172,
June 2012.
IEEE CS Press.
Note: 10 pages. [Text
] [Slides
] Keyword(s): Topic: Program comprehension,
Venue: ICPC.
Abstract:
Professional experience is one of the most important criteria for almost any job offer in software engineering. Professional experience refers both to professional status (practitioner vs. student) and expertise (expert vs. novice). We perform an experiment with 21 subjects including both practitioners and students, and experts and novices. We seek to understand the relation between the speed and accuracy of the subjects and their status and expertise in performing maintenance tasks on UML class diagrams. We also study the impact of the formulation of the maintenance task. We use an eye-tracking system to gather the fixations of the subjects when performing the task. We measure the subjects' comprehension using their accuracy, the time spent, the search effort, the overall effort, and the question comprehension effort. We found that (1) practitioners are more accurate than students while students spend around 35 percent less time than practitioners, (2) experts are more accurate than novices while novices spending around 33 percent less time than experts, (3) expertise is the most important factor for accuracy and speed, (4) experienced students are more accurate and spend around 37 percent less time than experienced practitioners, and (5) when the description of the task is precise, the novice students can be accurate. We conclude that it is an illusion for project managers to focus on status only when recruiting a software engineer. Our result is the starting point to consider the differences between status and expertise when studying software engineers' productivity. Thus, it can help project managers to recruit productive engineers and motivated students to acquire the experience and ability in the projects. |
[bibtex-key = Soh12-ICPC-StatusExpertise]
-
Etienne Duclos,
Yann-Gaël Guéhéneuc,
and Sébastien Le Digabel.
ACRE: An Automated Aspect Creator for Testing C++ Applications.
Technical report G-2012-19,
Les cahiers du GERAD,
June 2012.
Note: 17 pages. [Text
] Keyword(s): Topic: Test case generation,
Venue: CSMR.
Abstract:
We present ACRE, an Automatic aspeCt cREator, to use aspect-oriented programming to test multiplatform software programs written in C++. ACRE allows developers without knowledge of aspect programming to use aspects for testing purposes and to test their programs without modifying their source code. ACRE uses a nonintrusive domain-specific language (DSL) which statements testers insert into the source code to describe the aspect to be used. The presence of DSL statements in the code does not modify the program's compilation and behavior. ACRE parses the DSL and automatically generates appropriate aspects that are then woven into the source code to identify bugs such as memory leaks or incorrect implementation. Testers can also add or remove tests easily. Using an aspect generated by ACRE, we find a memory leak in a complex multi-platform C++ software program, NOMAD, used in both industry and research. |
[bibtex-key = Duclos12-TR-ACRE]
-
Yann-Gaël Guéhéneuc.
Compiler/porter THTTPd sur AmigaOS 3.x,
juillet 2012.
Note: Obligement, un magazine en ligne (webzine) dédié au monde de l'Amiga. [Text
] Keyword(s): Topic: Retrocomputing,
Venue: Obligement.
Abstract:
Voici les {\'e}tapes pour recompiler/porter THTTPd v2.21b + PHP v4.2.3 sur AmigaOS 3.x. Ces {\'e}tapes ont {\'e}t{\'e} toutes valid{\'e}es : le r{\'e}sultat que vous obtiendrez {\`a} la fin est visible sur ces pages, qui sont g{\'e}r{\'e}es avec THTTPd et PHP sur Amiga. Ces {\'e}tapes font l'hypoth{\`e}se que vous avez install{\'e} GCC v3.4.0 pour faire de la compilation crois{\'e}e sur votre Windows/Cygwin et les Geek Gadgets sur votre Amiga, pour tester PHP. |
[bibtex-key = Gueheneuc12-WebZine-CompilePortTHTTPDAmiga]
-
Yann-Gaël Guéhéneuc.
Test de Tower Of Babel,
décembre 2012.
Note: Obligement, un magazine en ligne (webzine) dédié au monde de l'Amiga. [Text
] Keyword(s): Topic: Retrocomputing,
Venue: Obligement.
Abstract:
Tower Of Babel est un jeu informatique pour l'Amiga, l'Atari ST et l'Archimedes d'Acorn cr{\'e}{\'e} par Pete Cooke, d{\'e}velopp{\'e} par Rainbird Software et distribu{\'e} par MicroProse Software en 1990. C'est un jeu r{\'e}flexion (puzzle) tridimensionel qui se d{\'e}roule dans des tours en graphique vectoriel avec polygones pleins. Tower Of Babel est un jeu de r{\'e}flexion tr{\`e}s int{\'e}ressant et parfois tr{\`e}s difficile {\`a} r{\'e}soudre... |
[bibtex-key = Gueheneuc12-WebZine-TestTowerOfBabel]
-
Mathieu Nayrolles,
Francis Palma,
Naouel Moha,
and Yann-Gaël Guéhéneuc.
Soda: A Tool Support for the Detection of SOA Antipatterns,
November 2012.
Note: 4 pages. Tool demo at the 11th International Conference on Service Oriented Computing. [Text
] [Slides
] Keyword(s): Topic: Code and design smells,
Venue: ICSOC.
Abstract:
During their evolution, Service Based Systems (SBSs) need to fit new user requirements and execution contexts. The resulting changes from the evolution of SBSs may degrade their design and Quality of Service (QoS), and thus may cause the appearance of common poor solutions, called Antipatterns. Like other complex systems, antipatterns in SBSs may hinder the future maintenance and evolution. Therefore, the automatic detection of such antipatterns is an important task for assessing the design and QoS of SBSs, to facilitate their maintenance and evolution. However, despite of their importance, no tool support exists for the detection of antipatterns in SBSs. In this paper, we introduce a prototype tool, called Soda, for detecting SOA (Service Oriented Architecture) antipatterns in SBSs. Soda also supports specification of SOA antipatterns. |
[bibtex-key = Nayrolles12-Demo-ICSOC]
|