Projekt

Zurück zur Übersicht

Agile Software Analysis

Gesuchsteller/in Nierstrasz Oscar
Nummer 162352
Förderungsinstrument Projektförderung (Abt. I-III)
Forschungseinrichtung Institut für Informatik Universität Bern
Hochschule Universität Bern - BE
Hauptdisziplin Informatik
Beginn/Ende 01.01.2016 - 31.01.2019
Bewilligter Betrag 708'852.00
Alle Daten anzeigen

Keywords (4)

Clone detection; Software evolution; Meta-modeling; Software architecture

Lay Summary (Deutsch)

Lead
Software-Entwickler verbringen viel ihrer Zeit nicht mit dem Programmieren neuer Codes sondern mit dem Analysieren bestehender Quellcodes. Aktuelle Integrierte Entwicklungsumgebungen bieten weniger an als Textverarbeitungssysteme für Programme, welche nur eine begrenzte Unterstützung für die Entwickler zur Abfrage und Analyse von Softwaresystemen anbieten. In der Fortsetzung unseres laufenden SNF-Projektes (http://scg.unibe.ch/asa) suchen wir nach neuen Wegen, um den Entwicklern zu ermöglichen, effiziente Antworten über detaillierte Fragen der Softwaresysteme in der Entwicklung zu geben.
Lay summary

In diesem Projekt erforschen wir neue Wege, um Software Entwicklern in der Beantwortung von Fragen in Bezug auf die entwickelte Software zu unterstützen. 
Das Projekt ist in vier parallele Forschungsteile für Doktoranden aufgebaut.

Im ersten Teil, „Bewegliche Gewinnung/Methoden von Modellen“ erforschen wir wie Software Quellcodes und die dazugehörenden Informationen in Software Modellen umgesetzt, einfach abgefragt, analysiert und effizient gestaltet werden können. Die grösste Herausforderung ist es, solche Modelle ohne grossen Entwicklungsaufwand in einer komplexen Parsing-Technologie schnell zu programmieren und zu verfeinern. 

Im zweiten Teil „Kontextabhängiger Werkzeugaufbau“ streben wir danach, Entwickler so zu unterstützen, dass neue Werkzeuge die gezielt für die Anwendungsdomäne funktionieren, möglichst einfach und schnell gebaut werden können.

Der dritte Teil „Ökosystem mining“ stellt Entwicklern nützliche Informationen über andere zusammenhängende Projekte wie z.B. wiederverwendbare Code-Beispiele, Möglichkeiten zur Software Erneuerung, verbreitete Softwarefehler und Fehlerbehebung zur Verfügung. 

Zum Schluss in Teil „Evolutionäre Überwachung“ verfolgen wir die Entwicklung des Softwaresystems  mit dem Ziel, die Entwickler über Schwachstellen und Verbesserungsmöglichkeiten laufend zu informieren. 

 

Direktlink auf Lay Summary Letzte Aktualisierung: 22.10.2015

Verantw. Gesuchsteller/in und weitere Gesuchstellende

Mitarbeitende

Publikationen

Publikation
A Systematic Literature Review of Software Visualization Evaluation
Merino Leonel, Ghafari Mohammad, Anslow Craig, Nierstrasz Oscar (2018), A Systematic Literature Review of Software Visualization Evaluation, in Journal of Systems and Software, 144, 165-180.
Efficient parsing with parser combinators
Kurš Jan, Vraný Jan, Ghafari Mohammad, Lungu Mircea, Nierstrasz Oscar (2018), Efficient parsing with parser combinators, in Science of Computer Programming, 161, 57-88.
Goal-oriented Mutation Testing with Focal Methods
Vercammen Sten, Ghafari Mohammad, Demeyer Serge, Borg Markus (2018), Goal-oriented Mutation Testing with Focal Methods, in Proceedings of the 9th ACM SIGSOFT International Workshop on Automating TEST Case Design, Selection,, 23-30, ACM, Lake Buena Vista23-30.
Idea: Benchmarking Android Data Leak Detection Tools
Corrodi Claudio, Spring Timo, Ghafari Mohammad, Nierstrasz Oscar (2018), Idea: Benchmarking Android Data Leak Detection Tools, in Engineering Secure Software and Systems, 116-123, Springer International Publishing, Paris116-123.
Improving live debugging of concurrent threads through thread histories
Leske Max, Chiçs Andrei, Nierstrasz Oscar (2018), Improving live debugging of concurrent threads through thread histories, in Science of Computer Programming, 161, 122-148.
JIT Feedback --- what Experienced Developers like about Static Analysis
Tymchuk Yuriy, Ghafari Mohammad, Nierstrasz Oscar (2018), JIT Feedback --- what Experienced Developers like about Static Analysis, in 26th IEEE International Conference on Program Comprehension (ICPC 2018), 64-73, ACM, Gothenburg64-73.
MHEye: A Hybrid Android Security Assessment Tool for Ordinary Users
Hazhirpasand Mohammadreza (2018), MHEye: A Hybrid Android Security Assessment Tool for Ordinary Users, in SATTOSE, SATToSE, Athens.
Mining Inline Cache Data to Order Inferred Types in Dynamic Languages
Milojković Nevena, Béra Clément, Ghafari Mohammad, Nierstrasz Oscar (2018), Mining Inline Cache Data to Order Inferred Types in Dynamic Languages, in Science of Computer Programming, Elsevier, Special Issue on Adv. Dynamic Languages, 161, 105-121.
One Leak is Enough to Expose Them All --- From a WebRTC IP Leak to Web-based Network Scanning
Hazhirpasand Mohammadreza, Ghafari Mohammad (2018), One Leak is Enough to Expose Them All --- From a WebRTC IP Leak to Web-based Network Scanning, in International Symposium on Engineering Secure Software and Systems (ESSoS 2018), 61-76, Springer, Paris61-76.
Overcoming Issues of 3D Software Visualization through Immersive Augmented Reality
Merino Leonel, Bergel Alexandre, Nierstrasz Oscar (2018), Overcoming Issues of 3D Software Visualization through Immersive Augmented Reality, in {VISSOFT}'18: Proceedings of the 6th IEEE Working Conference on Software Visualization, 54-64, IEEE, Madrid54-64.
Security Code Smells in Android ICC
Gadient Pascal, Ghafari Mohammad, Frischknecht Patrick, Nierstrasz Oscar (2018), Security Code Smells in Android ICC, in Empirical Software Engineering, 1.
Software Analysis using Natural Language Queries
Rani Pooja (2018), Software Analysis using Natural Language Queries, in Seminar Series on Advanced Techniques & Tools for Software Evolution (SATToSE), SATToSE, Athens.
Towards Executable Domain Models
Patkar Nitish (2018), Towards Executable Domain Models, in Seminar Series on Advanced Techniques & Tools for Software Evolution (SATToSE), SATToSE, Athens.
An Extensive Analysis of Efficient Bug Prediction Configurations
Osman Haidar, Ghafari Mohammad, Nierstrasz Oscar, Lungu Mircea (2017), An Extensive Analysis of Efficient Bug Prediction Configurations, in Proceedings of the 13th International Conference on Predictive Models and Data Analytics in Software, 107-116, ACM, Toronto107-116.
Automatic Feature Selection by Regularization to Improve Bug Prediction Accuracy
Osman Haidar, Ghafari Mohammad, Nierstrasz Oscar (2017), Automatic Feature Selection by Regularization to Improve Bug Prediction Accuracy, in 1st International Workshop on Machine Learning Techniques for Software Quality Evaluation (MaLTeSQuE, 27-32, IEEE, Klagenfurt27-32.
CityVR: Gameful Software Visualization
Merino Leonel, Ghafari Mohammad, Anslow Craig, Nierstrasz Oscar (2017), CityVR: Gameful Software Visualization, in {ICSME}'17: Proceedings of the 33rd IEEE International Conference on Software Maintenance and Evolut, 633-637, IEEE, Shanghai633-637.
Exception Evolution in Long-lived Java Systems
Osman Haidar, Chiçs Andrei, Corrodi Claudio, Ghafari Mohammad, Nierstrasz Oscar (2017), Exception Evolution in Long-lived Java Systems, in Proceedings of the 14th International Conference on Mining Software Repositories, IEEE, Buenos Aires.
Exploiting Type Hints in Method Argument Names to Improve Lightweight Type Inference
Milojković Nevena, Ghafari Mohammad, Nierstrasz Oscar (2017), Exploiting Type Hints in Method Argument Names to Improve Lightweight Type Inference, in 25th IEEE International Conference on Program Comprehension, IEEE, Buenos Aires.
Harvesting the Wisdom of the Crowd to Infer Method Nullness in {Java}
Leuenberger Manuel, Osman Haidar, Ghafari Mohammad, Nierstrasz Oscar (2017), Harvesting the Wisdom of the Crowd to Infer Method Nullness in {Java}, in Proceedings of the 17th International Working Conference on Source Code Analysis and Manipulation, IEEE, Shanghai.
Hyperparameter Optimization to Improve Bug Prediction Accuracy
Osman Haidar, Ghafari Mohammad, Nierstrasz Oscar (2017), Hyperparameter Optimization to Improve Bug Prediction Accuracy, in 1st International Workshop on Machine Learning Techniques for Software Quality Evaluation (MaLTeSQuE, 33-38, IEEE, Klagenfurt33-38.
Improving the Precision of Type Inference Algorithms with Lightweight Heuristics
Milojković Nevena (2017), Improving the Precision of Type Inference Algorithms with Lightweight Heuristics, in SATToSE'17: Pre-Proceedings of the 10th International Seminar Series on Advanced Techniques & Tools , MadridSATToSE, Madrid.
It's Duck (Typing) Season!
Milojković Nevena, Ghafari Mohammad, Nierstrasz Oscar (2017), It's Duck (Typing) Season!, in 25th IEEE International Conference on Program Comprehension (ERA Track), IEEE, Buenos Aires.
KOWALSKI: Collecting API Clients in Easy Mode
Leuenberger Manuel, Osman Haidar, Ghafari Mohammad, Nierstrasz Oscar (2017), KOWALSKI: Collecting API Clients in Easy Mode, in Proceedings of the 33rd International Conference on Software Maintenance and Evolution, IEEE, Shanghai.
Mining unit test cases to synthesize {API} usage examples
Ghafari Mohammad, Rubinov Konstantin, Pourhashem K. Mohammad Mehdi (2017), Mining unit test cases to synthesize {API} usage examples, in Journal of Software: Evolution and Process, 29(12), 1841-1841.
Moldable Tools for Object-oriented Development
Chiçs Andrei, Gîrba Tudor, Kubelka Juraj, Nierstrasz Oscar, Reichhart Stefan, Syrel Aliaksei (2017), Moldable Tools for Object-oriented Development, in Manuel Mazzara Bertrand Meyer (ed.), Springer, Germany, 77-101.
On the Evolution of Exception Usage in Java Projects
Osman Haidar, Chiçs Andrei, Schaerer Jakob, Ghafari Mohammad, Nierstrasz Oscar (2017), On the Evolution of Exception Usage in Java Projects, in Proceedings of the 24rd IEEE International Conference on Software Analysis, Evolution, and Reenginee, 422-426, IEEE, Klagenfurt422-426.
On the Impact of the Medium in the Effectiveness of {3D} Software Visualization
Merino Leonel, Fuchs Johannes, Blumenschein Michael, Anslow Craig, Ghafari Mohammad, Nierstrasz Oscar, Behrisch Michael, Keim Daniel (2017), On the Impact of the Medium in the Effectiveness of {3D} Software Visualization, in {VISSOFT}'17: Proceedings of the 5th IEEE Working Conference on Software Visualization, 11-21, IEEE, Shanghai11-21.
Renraku --- the One Static Analysis Model to Rule Them All
Tymchuk Yuriy, Ghafari Mohammad, Nierstrasz Oscar (2017), Renraku --- the One Static Analysis Model to Rule Them All, in IWST'17: Proceedings of International Workshop on Smalltalk Technologies, ACM, Maribor.
Security Smells in Android
Ghafari Mohammad, Gadient Pascal, Nierstrasz Oscar (2017), Security Smells in Android, in 17th IEEE International Working Conference on Source Code Analysis and Manipulation (SCAM), 121-130, IEEE, Shanghai121-130.
The False False Positives of Static Analysis
Tymchuk Yuriy (2017), The False False Positives of Static Analysis, in SATToSE'17: Pre-Proceedings of the 10th International Seminar Series on Advanced Techniques & Tools , SATToSE, website.
Towards Actionable Visualization for Software Developers
Merino Leonel, Ghafari Mohammad, Nierstrasz Oscar (2017), Towards Actionable Visualization for Software Developers, in Journal of Software: Evolution and Process, 30(2), 1923-1923.
A promising approach for debugging remote promises
Leske Max, Chiçs Andrei, Nierstrasz Oscar (2016), A promising approach for debugging remote promises, in Proceedings of the International Workshop on Smalltalk Technologies, ACM, Prague.
Against the Mainstream in Bug Prediction
Osman Haidar (2016), Against the Mainstream in Bug Prediction, in Extended Abstracts of the Ninth Seminar on Advanced Techniques and Tools for Software Evolution (SAT, SATToSE, Bergen.
Building Ecosystem-Aware Tools Using the Ecosystem Monitoring Framework
Spasojević Boris (2016), Building Ecosystem-Aware Tools Using the Ecosystem Monitoring Framework, in Post-proceedings of the 9th Seminar on Advanced Techniques and Tools for Software Evolution (SATToSE, 1791, CEUR, Bergen 1791.
CommunityExplorer: A Framework for Visualizing Collaboration Networks
Merino Leonel, Seliner Dominik, Ghafari Mohammad, Nierstrasz Oscar (2016), CommunityExplorer: A Framework for Visualizing Collaboration Networks, in Proceedings of International Workshop on Smalltalk Technologies (IWST 2016), ACM, Prague.
CuboidMatrix: Exploring Dynamic Structural Connections in Software Components using Space-Time Cube
Schneider Teseo, Tymchuk Yuriy, Salgado Ronie, Bergel Alexandre (2016), CuboidMatrix: Exploring Dynamic Structural Connections in Software Components using Space-Time Cube, in {VISSOFT}'16: Proceedings of the 4th IEEE Working Conference on Software Visualization, 116-125, IEEE, Raleigh116-125.
Exemplifying Moldable Development
Chiçs Andrei, Gîrba Tudor, Kubelka Juraj, Nierstrasz Oscar, Reichhart Stefan, Syrel Aliaksei (2016), Exemplifying Moldable Development, in Proceedings of the Programming Experience 2016 (PX/16) Workshop, 33-42, ACM, Rome33-42.
Exploring Cheap Type Inference Heuristics in Dynamically Typed Languages
Milojković Nevena, Nierstrasz Oscar (2016), Exploring Cheap Type Inference Heuristics in Dynamically Typed Languages, in Proceedings of the 2016 ACM International Symposium on New Ideas, New Paradigms, and Reflections on , 43-56, ACM, Amsterdam43-56.
Inferring Types by Mining Class Usage Frequency from Inline Caches
Milojković Nevena, Béra Clément, Ghafari Mohammad, Nierstrasz Oscar (2016), Inferring Types by Mining Class Usage Frequency from Inline Caches, in Proceedings of International Workshop on Smalltalk Technologies (IWST 2016), ACM, Prague.
MetaVis: Exploring Actionable Visualization
Merino Leonel, Ghafari Mohammad, Nierstrasz Oscar, Bergel Alexandre, Kubelka Juraj (2016), MetaVis: Exploring Actionable Visualization, in {VISSOFT}'16: Proceedings of the 4th IEEE Working Conference on Software Visualization, IEEE, Raleigh.
Moldable, context-aware searching with Spotter
Chiçs Andrei, Gîrba Tudor, Kubelka Juraj, Nierstrasz Oscar, Reichhart Stefan, Syrel Aliaksei (2016), Moldable, context-aware searching with Spotter, in Proceedings of the 2016 ACM International Symposium on New Ideas, New Paradigms, and Reflections on , 128-144, ACM, Amsterdam128-144.
On the Non-Generalizability in Bug Prediction
Osman Haidar (2016), On the Non-Generalizability in Bug Prediction, in Post Proceedings of the Ninth Seminar on Advanced Techniques and Tools for Software Evolution (SATTo, CEUR, Bergen.
Optimizing Parser Combinators
Kurš Jan, Vraný Jan, Ghafari Mohammad, Lungu Mircea, Nierstrasz Oscar (2016), Optimizing Parser Combinators, in Proceedings of International Workshop on Smalltalk Technologies (IWST 2016), ACM, Prague.
The Object Repository, Pulling Objects out of the Ecosystem
Spasojević Boris, Ghafari Mohammad, Nierstrasz Oscar (2016), The Object Repository, Pulling Objects out of the Ecosystem, in Proceedings of the 11th Edition of the International Workshop on Smalltalk Technologies, ACM, Prague.
Towards Actionable Visualisation in Software Development
Merino Leonel, Ghafari Mohammad, Nierstrasz Oscar (2016), Towards Actionable Visualisation in Software Development, in {VISSOFT}'16: Proceedings of the 4th IEEE Working Conference on Software Visualization, IEEE, Raleigh.
Towards Efficient Object-Centric Debugging with Declarative Breakpoints
Corrodi Claudio (2016), Towards Efficient Object-Centric Debugging with Declarative Breakpoints, in Post-proceedings of the 9th Seminar on Advanced Techniques and Tools for Software Evolution (SATToSE, 1791, CEUR, Norway 1791.
Towards object-aware development tools
Chiçs Andrei (2016), Towards object-aware development tools, in Companion Proceedings of the 2016 ACM SIGPLAN International Conference on Systems, Programming, Lang, 65-66, ACM, Amsterdam65-66.
Tracking Null Checks in Open-Source {Java} Systems
Osman Haidar, Leuenberger Manuel, Lungu Mircea, Nierstrasz Oscar (2016), Tracking Null Checks in Open-Source {Java} Systems, in Proceedings of the 23rd IEEE International Conference on Software Analysis, Evolution, and Reenginee, IEEE, Suita.
Walls, Pillars and Beams: A 3D Decomposition of Quality Anomalies
Tymchuk Yuriy, Merino Leonel, Ghafari Mohammad, Nierstrasz Oscar (2016), Walls, Pillars and Beams: A 3D Decomposition of Quality Anomalies, in {VISSOFT}'16: Proceedings of the 4th IEEE Working Conference on Software Visualization, 126-135, IEEE, Raleigh126-135.
When QualityAssistant Meets Pharo: Enforced Code Critiques Motivate More Valuable Rules
Tymchuk Yuriy, Ghafari Mohammad, Nierstrasz Oscar (2016), When QualityAssistant Meets Pharo: Enforced Code Critiques Motivate More Valuable Rules, in IWST '16: Proceedings of International Workshop on Smalltalk Technologies, ACM, Prague.

Datasets

A Systematic Literature Review of Software Visualization Evaluation

Autor/in Merino, Leonel
Persistent Identifier (PID) http://scg.unibe.ch/research/softvis-eval
Repository A Systematic Literature Review of Software Visualization Evaluation
Abstract
Through software visualization developers can augment their capabilities to analyze multiple aspects of complex software systems. However, not every software visualization is suitable to tackle a given development concern. To understand how effective a software visualization is, it must be evaluated on that particular development task. We present an overview of the evaluation of existing visualizations, and examine their characteristics. In particular, we review the complete literature body of papers published in the SOFTVIS/VISSOFT conferences. Among the 387 papers published to date, we included in our study 181 full papers from which we extracted evaluation strategies, data collection methods and other various aspects of the evaluations. We found that 62% of the proposed software visualization approaches do not include an evaluation. We believe that for software visualization approaches to be adopted by developers, visualizations not only must prove their effectiveness via evaluations, but also evaluations should include participants of the target audience and real-world software systems. Finally, we recommend researchers in the field to conduct surveys that can help them to identify what are the frequent and complex problems that affect developers.

Zusammenarbeit

Gruppe / Person Land
Formen der Zusammenarbeit
Prof. Dr. Alexandre Bergel, University of Chile Chile (Südamerika)
- vertiefter/weiterführender Austausch von Ansätzen, Methoden oder Resultaten
- Publikation
- Forschungsinfrastrukturen
- Austausch von Mitarbeitern
Prof. Dr. Michele Lanza, University of Lugano Schweiz (Europa)
- vertiefter/weiterführender Austausch von Ansätzen, Methoden oder Resultaten
- Publikation
- Forschungsinfrastrukturen
- Austausch von Mitarbeitern
Dr. Tudor Girba, feenk GmbH Schweiz (Europa)
- vertiefter/weiterführender Austausch von Ansätzen, Methoden oder Resultaten
- Publikation
- Forschungsinfrastrukturen
Dr. Stéphane Ducasse, INRIA Lille Frankreich (Europa)
- vertiefter/weiterführender Austausch von Ansätzen, Methoden oder Resultaten
- Publikation
- Forschungsinfrastrukturen
- Austausch von Mitarbeitern
Prof. Dr. Mircea Lungu, University of Copenhagen Niederlande (Europa)
- vertiefter/weiterführender Austausch von Ansätzen, Methoden oder Resultaten
- Publikation
- Forschungsinfrastrukturen
- Austausch von Mitarbeitern

Auszeichnungen

Titel Jahr
VISSOFT 2018 Distinguished Paper Award for Overcoming Issues of 3D Software Visualization through Immersive Augmented Reality by Leonel Merino, Alexandre Bergel and Oscar Nierstrasz 2018
IWST 2016 Best Paper Award (1st prize) for Optimizing Parser Combinators by Jan Kurš, Jan Vrany, Mohammad Ghafari, Mircea Lungu and Oscar Nierstrasz 2016
IWST 2016 Best Paper Award (2nd prize) for A Promising Approach for Debugging Remote Promises by Max Leske, Andrei Chiș and Oscar Nierstrasz 2016
VISSOFT 2016 Best Paper Award for Towards Actionable Visualisation in Software Development by Leonel Merino, Mohammad Ghafari and Oscar Nierstrasz 2016

Verbundene Projekte

Nummer Titel Start Förderungsinstrument
144126 Agile Software Assessment 01.01.2013 Projektförderung (Abt. I-III)
181973 Agile Software Assistance 01.02.2019 Projektförderung (Abt. I-III)

Abstract

Software developers actually spend much of their time not producing new code, but analysing the existing code base. Integrated Development Environments (IDEs) however are mostly glorified text editors, and offer only limited support for developers to query and analyse software systems. In this continuation of our running SNF project (http://scg.unibe.ch/asa), we proceed to explore new ways to enable developers to efficiently answer detailed questions about the software system under development.Like its predecessor, this project is designed as four related PhD tracks (including two end-of-thesis subprojects). We avoid any critical dependencies between the tracks, while offering many possibilities for fruitful collaboration.- Agile Model Extraction. Here we address the question: "How can we rapidly extract models from unknown source code?" The key insight is that we do not need precise parsers to extract useful models from software. By using approximate parsing techniques combined with heuristics to automatically recognise common programming language features, we expect to be able to iteratively construct analysable models of complex software systems in a fraction of the time it would take to build a conventional model importer.- Context-Aware Tooling. In this track we tackle the question: "How do we close the abstraction gap between application domains and IDEs?" We plan to extend and generalise our previous work on highly configurable tools, such as debuggers, browsers and inspectors, that can easily be adapted to the context of a given project, and enhance both the source code and the IDE itself with domain-specific and project-specific information. In particular, we will focus on domain-specific ways to present and query software systems.- Ecosystem Mining. Here we ask: "How can we mine the ecosystem to automatically discover intelligence relevant to a given project?" When evolving source code, developers commonly make use of dedicated social media (i.e., question and answer fora) as well as general search engines to search for answers to technical questions. In addition to these sources, the software ecosystem of related software systems can be a rich source of useful information, if properly analysed. We plan to mine these ecosystems to locate common, reusable code examples, opportunities for refactoring, common bugs, and bug fixes.- Evolutionary Monitoring. Finally we address the question: "How can we steer the evolution of a software system by monitoring stakeholder needs, technical debt, and ecosystem trends?" By monitoring the activities of the stakeholders (i.e., both users and developers), we hope to infer their needs and the chronic problems of the system. By monitoring "technical debt" (i.e., pain points where effort should be invested to avoid the future escalation of these problems), we expect to be able to better prioritise future development activities. By monitoring technical trends from the ecosystem, we expect to be able to detect new opportunities and also better estimate the cost of future change.In addition to disseminating the results of the research through academic publications, we will continue to release software artifacts (tools, IDE extensions etc.) as part of the Pharo development environment and the Moose analysis platform used by a wide community of academic and industrial partners.
-