MétaCan
Menu
Retour à la cohorte
Enregistrement W4236048929 · doi:10.1002/smr.376

Introduction to the special issue on program comprehension through dynamic analysis (PCODA)

2008· article· en· W4236048929 sur OpenAlexaffabout
Andy Zaidman, Abdelwahab Hamou‐Lhadj, Orla Greevy

Notice bibliographique

RevueJournal of Software Maintenance and Evolution Research and Practice · 2008
Typearticle
Langueen
DomaineComputer Science
ThématiqueSoftware Engineering Research
Établissements canadiensConcordia University
Organismes subventionnairesNederlandse Organisatie voor Wetenschappelijk OnderzoekSchweizerischer Nationalfonds zur Förderung der Wissenschaftlichen Forschung
Mots-clésProgram comprehensionComputer scienceReverse engineeringComprehensionSoftware engineeringSoftwareProgram analysisSource codeData scienceSoftware systemProgramming language

Résumé

récupéré en direct d'OpenAlex

This special issue on program comprehension through dynamic analysis is tightly related to the international workshop on program comprehension through dynamic analysis (PCODA) series. The aim of PCODA is to bring together researchers and practitioners using dynamic analysis as a basis for their program comprehension and reverse engineering technique(s). Within the reverse engineering community much attention is focused on static analysis, the analysis of the source code of a software system, while dynamic analysis focusing on runtime properties of software systems has often been neglected. Nevertheless, dynamic analysis is recognized as yielding a more precise analysis in the face of polymorphism, a language feature widely used in object-oriented software systems. PCODA was first co-located with WCRE 2005, the 12th Working Conference on Reverse Engineering, in Pittsburgh, and over the past three years has proved to be a very successful event, attracting a constant number of attendees and high-quality submissions. We chose to adopt a unique format for the half day PCODA workshop. The authors do not present their own papers; each paper is assigned in advance to another participant who then presents a summary of the paper at the workshop. Experience has shown that the key advantage of adopting this format is that authors are given the opportunity to see an external interpretation of their work, which in turn leads to interesting and lively discussions among the authors, the presenter and the audience. Thus, it is not surprising that during the PCODA workshop an equal amount of time is devoted to discussion and presentation. Three highly successful PCODA workshops have led to this special issue of the Journal of Software Maintenance and Evolution: Research and Practice devoted to the topic of program comprehension through dynamic analysis. The authors of two papers from the PCODA 2007 workshop were invited to submit extended versions of their papers. An additional 10 papers were submitted through an open call. Each paper was subjected to a rigorous reviewing process, involving three independent reviewers with expert knowledge in the area and two rounds of revisions. Subsequently four papers were accepted for inclusion in this special issue. In the paper ‘Mining Temporal Rules for Software Maintenance’ Lo, Khoo and Liu describe a technique to mine statistically significant temporal rules of arbitrary length to describe system behavior from sets of traces. They represent their rules as temporal logic expressions that then serve as input to formal analysis toolkits supporting program comprehension, program verification, debugging and specification mining. They demonstrate the scalability of their technique by applying it to two open-source case study applications. A key contribution of this work is that each condition of a rule can consist of multiple events. In the paper ‘An Automated Approach for Abstracting Execution Logs to Execution Events’ Jiang, Hassan, Hamann and Flora present a technique for abstracting execution logs generated from output statements inserted by developers in the source code. They apply clone detection techniques, the static and dynamic part of each log line is detected, and subsequently each log line is abstracted to its corresponding execution event. In the paper ‘Improving Dynamic Software Analysis by Applying Grammar Inference Principles’ Walkinshaw, Bogdanov, Holcombe and Salahuddin propose to improving dynamic analysis by applying grammar inference principles. The authors' approach aims at tackling the fact that dynamic analysis can provide only a partial view of the system. Large traces can be analyzed to infer properties about a program's behavior but it is difficult to obtain a complete state of traces which covers all possible execution paths. Grammar inference is an example of an other field that suffers from the problem of incomplete samples for inferring grammar rules. This paper argues that many solutions in grammar inference, which produce reliably accurate approximations of regular grammars, can be applied with similar effect to improve dynamic analysis techniques. The authors perform three experiments that show the effect of adopting particular grammar inference principles on the accuracy of dynamic analysis techniques. In the paper ‘A Survey and Evaluation of Tool Features for Understanding Reverse Engineered Sequence Diagrams’, Bennett, Myers, Ouellet, Storey, Salois, German and Charland present a thorough study of the features supported by several tools that focus on the exploration of sequence diagrams, reverse engineered from large execution traces. They have developed a prototype tool, called OASIS, to evaluate the usefulness of these features in understanding the behavior of a software system. The result of the experiment confirms that most existing features are indeed useful in a variety of reverse engineering tasks. In addition, the paper presents the results of a user study that focuses on understanding how existing tools can be improved. Several improvements have been proposed such as the ability to save the state of the session, the ability to navigate between the source code and the extracted sequence diagram, etc. Another important contribution of the paper consists of a rich discussion on how to improve cognitive support in reverse-engineered sequence diagram tools. We hope that readers will enjoy this special issue and through these papers gain useful insights into the domain of dynamic analysis. We would like to thank all the authors who submitted their papers to the PCODA workshop series and to this special issue. A special thank you goes to the external reviewers who helped in making this special issue a highly qualitative one. Finally, we would like to thank Aniello Cimitile, the editor in chief of the Journal of Software Maintenance and Evolution: Research and Practice, and the publisher Wiley for providing us with the opportunity to devote an issue of this journal to PCODA. The organization of the PCODA workshop series and this special issue has been sponsored by the Netherlands Organisation for Scientific Research (NWO) through the ‘Jacquard RECONSTRUCTOR’ project (2005–2009), the Swiss National Science Foundation through the project ‘Analyzing, capturing and taming software change’ (SNF Project No. 200020-113342, October 2006–September 2008) and the Natural Sciences and Engineering Research Council of Canada (NSERC) for the project ‘Program Comprehension through Dynamic Analysis’ (April 2007–March 2012) led by the DASS (Dynamic Analysis of Software Systems) research group at ECE, Concordia University, Canada.

Récupéré en direct depuis OpenAlex et désinversé. Les résumés ne sont pas conservés dans cette base de données : les index inversés représentent 8,6 Go des 9,3 Go de texte de la base, et le serveur dispose de 13 Go libres.

Comment cette classification a été obtenuedéplier

Prédiction machine sur la base complète

Imitation des enseignants

Ni prévalence calibrée, ni vérité terrain. Validation humaine à venir. Le volet Gemma est une étiquette directe du modèle pour chaque travail de la base, lue sur la notice réduite au titre. Le volet Codex est un classifieur appris des 10 348 étiquettes directes de Codex et calibré sur les taux pondérés de l'échantillon; les champs sans appui suffisant ne portent aucun appel Codex. Le mode candidate est l'union des deux volets; le consensus est leur intersection. Ces sorties portent le statut machine_predicted_unvalidated et ne sont pas des étiquettes humaines.

score de la tête « metaresearch » (Codex)0,005
score de la tête « metaresearch » (Gemma)0,019
Version: metacan-v3-hybrid-931329e0061cStatut de validation: machine_predicted_unvalidated
Catégories candidatesaucune
Catégories consensuellesaucune
DomaineSignal candidat: aucune · Signal consensuel: aucune
Devis d'étudeSignal candidat: Sans objet · Signal consensuel: Sans objet
GenreSignal candidat: Éditorial · Signal consensuel: Éditorial
Score de désaccord entre enseignants0,133
Score d'incertitude au seuil0,443

Scores du classifieur distillé par catégorie (deux têtes)

CatégorieCodexGemma
Métarecherche0,0050,019
Méta-épidémiologie (sens strict)0,0030,001
Méta-épidémiologie (sens large)0,0030,003
Bibliométrie0,0050,004
Études des sciences et des technologies0,0020,002
Communication savante0,0120,009
Science ouverte0,0030,006
Intégrité de la recherche0,0040,009
Charge utile insuffisante (le modèle a refusé de juger)0,1330,069

Scores machine (provisoires)

Les deux têtes enseignantes du modèle étudiant, lues sur ce travail. Un score ordonne la base pour la relecture; il n'affirme jamais une catégorie, et le statut de validation accompagne chaque rangée tel quel.

Scores de référence d'un modèle non mature (critères de maturité non atteints, 7 itérations). Un score ordonne; il n'affirme jamais une catégorie.

Tête enseignante Opus0,036
Tête enseignante GPT0,354
Écart entre enseignants0,318 · la distance entre les deux têtes enseignantes sur ce seul travail
Statut de validationscore_only:v0-immature-baseline · tel quel depuis la passe de notation : score_only signifie que le nombre peut ordonner les travaux, et qu'aucune étiquette de catégorie n'en découle

Classification

machine, non validée

Prédiction automatique; un appel candidat d’une seule source (Gemma direct ou Codex distillé), pas un consensus.

Les modèles n’ont appliqué aucune catégorie : rien dans la taxonomie ne correspondait à ce travail.
Devis d'étudeSans objet
Domainenon disponible
GenreÉditorial

Le détail, modèle par modèle et score par score, se trouve en fin de page sous « Comment cette classification a été obtenue ».

En bref

Citations2
Publié2008
Routes d'admission2
Résumé présentoui

Explorer davantage

Même revueJournal of Software Maintenance and Evolution Research and PracticeMême sujetSoftware Engineering ResearchTravaux en français237 207