SSQSA present and future Gordana Rakić, Zoran Budimac Department of Mathematics and Informatics Faculty of Sciences University of Novi Sad

Slides:



Advertisements
Similar presentations
Introducing Formal Methods, Module 1, Version 1.1, Oct., Formal Specification and Analytical Verification L 5.
Advertisements

ARCH-05 Application Prophecy UML 101 Peter Varhol Principal Product Manager.
Presented by: Thabet Kacem Spring Outline Contributions Introduction Proposed Approach Related Work Reconception of ADLs XTEAM Tool Chain Discussion.
On a Literature/Tool Review on Software Metrics Tools Gordana Rakic.
Extensions to Svetovid students’ submission environment Doni Pracner, Ivan Pribela, Mirjana Ivanović, Zoran Budimac.
Undergraduate reforms at DMI in Novi Sad Zoran Budimac.
New curricula at Department of Mathematics and Informatics (3+2+3) (Novi Sad) passed the accreditation Durres, September 9, 2008.
Two e-Learning elective seminars in Novi Sad Putnik Z., Komlenov Ž., Budimac Z. DMI, Faculty of Science University of Novi Sad.
Cpeg421-08S/final-review1 Course Review Tom St. John.
Software Metrics II Speaker: Jerry Gao Ph.D. San Jose State University URL: Sept., 2001.
Reference Book: Modern Compiler Design by Grune, Bal, Jacobs and Langendoen Wiley 2000.
Programming Languages Structure
Master course 'Architecture, Design, and Patterns‘ more improvements since the last year ADP 2011 Gordana Rakic, Vladimir Kurbalija.
SMIILE Finaly COBOL! and what else is new Gordana Rakić, Zoran Budimac.
Advanced Topics in Software Engineering ATSE 2009 Topics, participants and results Gordana Rakic, Zoran Budimac.
Software Engineering Tools and Methods Presented by: Mohammad Enamur Rashid( ) Mohammad Rashim Uddin( ) Masud Ur Rahman( )
Lecture 2 Phases of Compiler. Preprocessors, Compilers, Assemblers, and Linkers Preprocessor Compiler Assembler Linker Skeletal Source Program Source.
USING SOFTWARE METRICS IN EDUCATIONAL ENVIRONMENT Ivan Pribela, Zoran Budimac, Gordana Rakić.
SEG Software Maintenance1 Software Maintenance “The modification of a software product after delivery to correct faults, to improve performance or.
Do we need theoretical computer science in software engineering curriculum: an experience from Uni Novi Sad Bansko, August 28, 2013.
Software Metrics *** state of the art, weak points and possible improvements Gordana Rakić, Zoran Budimac Department of Mathematics and Informatics, Faculty.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
Bridging the chasm between MDE and the world of compilation Nondini Das 1.
Invitation to Computer Science 5th Edition
September 7, September 7, 2015September 7, 2015September 7, 2015 Azusa, CA Sheldon X. Liang Ph. D. Computer Science at Azusa Pacific University.
C++ Code Analysis: an Open Architecture for the Verification of Coding Rules Paolo Tonella ITC-irst, Centro per la Ricerca Scientifica e Tecnologica
Project CC4U2 Setting an Efficient Partnership for Allowing International Student Exchanges: a Difficult Issue Philippe Lahire University of Nice Sophia.
Chapter 1 Introduction Dr. Frank Lee. 1.1 Why Study Compiler? To write more efficient code in a high-level language To provide solid foundation in parsing.
Parser-Driven Games Tool programming © Allan C. Milne Abertay University v
Chapter 10: Compilers and Language Translation Invitation to Computer Science, Java Version, Third Edition.
Web Service Development Within Different Study Years Maja Pušnik, Boštjan Šumak Institute of Informatics, FERI Maribor.
Compiler course 1. Introduction. Outline Scope of the course Disciplines involved in it Abstract view for a compiler Front-end and back-end tasks Modules.
Concordia University Department of Computer Science and Software Engineering Click to edit Master title style COMPILER DESIGN Review Joey Paquet,
On a new cycle of lectures/assignments on 'Architecture, Design, and Patterns' ADP 2010 Gordana Rakic, Vladimir Kurbalija.
Framework for the Development and Testing of Dependable and Safety-Critical Systems IKTA 065/ Supported by the Information and Communication.
The Balance Between Theoretical and Practical Work Within Electrical and Computer Engineering Courses Dr. Bahawodin Baha March Development Partnerships.
Software Development Cycle What is Software? Instructions (computer programs) that when executed provide desired function and performance Data structures.
Unit-1 Introduction Prepared by: Prof. Harish I Rathod
Performance evaluation of component-based software systems Seminar of Component Engineering course Rofideh hadighi 7 Jan 2010.
Agile Test-based Modeling 資工 聶順成. Outline  Introduction : Modeling meets Programming  Agile Modeling: Using Models in Agile Projects  Model-based.
XML Grammar and Parser for WSOL Kruti Patel, Vladimir Tosic, Bernard Pagurek Network Management & Artificial Intelligence Lab Department of Systems & Computer.
Towards the better software metrics tool motivation and the first experiences Gordana Rakić Zoran Budimac.
COP 4620 / 5625 Programming Language Translation / Compiler Writing Fall 2003 Lecture 1, 08/28/03 Prof. Roy Levow.
ANKITHA CHOWDARY GARAPATI
Chapter 1 Introduction. Chapter 1 - Introduction 2 The Goal of Chapter 1 Introduce different forms of language translators Give a high level overview.
CS 460/660 Compiler Construction. Class 01 2 Why Study Compilers? Compilers are important – –Responsible for many aspects of system performance Compilers.
1 Compiler Design (40-414)  Main Text Book: Compilers: Principles, Techniques & Tools, 2 nd ed., Aho, Lam, Sethi, and Ullman, 2007  Evaluation:  Midterm.
Cross Language Clone Analysis Team 2 October 13, 2010.
Software Architecture Risk Assessment (SARA) Tool Khader Shaik, Wallid Abdelmoez, Dr. Hanny Ammar Lane Department of Computer Science and Electrical Engineering,
User Profiling using Semantic Web Group members: Ashwin Somaiah Asha Stephen Charlie Sudharshan Reddy.
Gordana Rakić, Zoran Budimac
Compiler Construction (CS-636)
Process Asad Ur Rehman Chief Technology Officer Feditec Enterprise.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
Concepts and Realization of a Diagram Editor Generator Based on Hypergraph Transformation Author: Mark Minas Presenter: Song Gu.
C H A P T E R T W O Linking Syntax And Semantics Programming Languages – Principles and Paradigms by Allen Tucker, Robert Noonan.
A Framework for Developing Compiler-like Components Jackline Ssanyu ( Software Engineering and Technology Group) Eindhoven University of Technology Supervisors:
CS223: Software Engineering
CSC 4181 Compiler Construction
Introduction to Performance Tuning Chia-heng Tu PAS Lab Summer Workshop 2009 June 30,
Chapter 25 – Configuration Management 1Chapter 25 Configuration management.
CIS 375 Bruce R. Maxim UM-Dearborn
Software Testing.
SOFTWARE DESIGN AND ARCHITECTURE
On SNEIPL (software networks extractor) – a part of the SSQSA back end
Model-Driven Analysis Frameworks for Embedded Systems
Subject: Language Processor
University of Nice Sophia Antipolis
Chapter 10: Compilers and Language Translation
INTRODUCTION TO ALOGORITHM DESIGN STRATEGIES
Presentation transcript:

SSQSA present and future Gordana Rakić, Zoran Budimac Department of Mathematics and Informatics Faculty of Sciences University of Novi Sad

Outline  SSQSA mission  Brief description of SSQSA framework  Applicability of SSQSA  SSQSA in research and education  Conclusion

SSQSA Set of Software Quality Static Analyzers  Objectives  Overall:  consistency of software quality analysis when applied to the source code written in different computer languages  In particular  to provide set of static software analyzers to ensure, check and consequently increase the quality of modern software products  Two important features of the framework:  Adaptability of the framework to different input languages  Extensibility of the available set of analysis with new analysis algorithms as needed  … based on its main characteristic  language independency based on eCST (enriched Concrete Syntax Tree) representation of source code

Outline  SSQSA mission  Brief description of SSQSA framework  Applicability of SSQSA  SSQSA in research and education  Conclusion

SSQSA architecture 5

6 6 LEVEL I: SSQSA front-end  eCST Generator  source code → set of eCSTs  eCSTs created by parsers generated by ANTLR LEVEL II:  Generators of derived internal representations  eGDN Generator  eCFG Generator LEVEL III: SSQSA eCST manipulators  eCST Antigenerator  eCST Adaptor

7 7 SSQSA architecture LEVEL IV: SSQSA back-ends (SSQSA tools)  Static analysis tools that use eCST representation  SNAIPL software network analyzer  SSCA software structure change analyzer  SMIILE software metrics calculator  LICCA for code clones LEVEL V: Integration of SSQSA tools with other tools  Tools that use outputs of SSQSA tools  Testovid  Metrics repository

SSQSA architecture 8

9 Adaptability to a new language  Translate the language specification to grammar in ANTLR notation (write the ANTLR grammar)  Add a rule for syntax tree generation to the grammar (rewrite the rules),  Add the universal nodes to the syntax tree (extend the rules),  Generate the parser and the scanner  Add language to the XML configuration file for supporting languages

10 Extendibility to a new analysis  Define the set of universal nodes needed to implement wanted algorithm,  If necessary add the new nodes  To catalog  To existing ANTLR grammar as it is described before (for all languages),  If grammar has been modified generate the scanner and the parser (for all languages),  Traverse the eCST  Use the incorporated universal nodes to accomplish the analysis.

Outline  SSQSA mission  Brief description of SSQSA framework  Applicability of SSQSA  SSQSA in research and education  Conclusion

Applicability of SSQSA Three interconnected area of application:  In industry  Quality monitoring and control in real-life software projects  In science  Improvement of features of SSQSA framework  In education  By involving students in development of SSQSA components  Consequently students are learning specific concepts by practical work  By involving SSQSA in assessment of students’ solutions

Outline  SSQSA mission  Brief description of SSQSA framework  Applicability of SSQSA  SSQSA in research and education  Conclusion

14 Computer languages, programming techniques and paradigms, compiler construction, etc. Intermediate representations, graph and tree structures (usage and manipulation), etc. Software quality and static analysis (algorithms, implementations, tools, standards, etc) XML technologies, alternative storage solutions, etc. Alternative architectural and design solutions, reengineering, refactoring, testing, validation, advanced application, etc.

SSQSA in research and education  Subjects:  ATSE,  student project,  seminar paper X (x depends on semester)  theses, etc.  Until 2014  More that 30 successful students  Bachelor, master and doctoral  Novi Sad, Maribor, Budapest and Skoplje  More than 15 research papers

SSQSA in research and education ATSE 2014/2015  ATSE: Advanced Topics in Software Engineering  Static Timing Analysis (Timing Analysis on Code Level)  Goal:  to implement and integrate estimation of WCET: Worst Case Execution Time  Team work  1 PhD student  3 Master students

SSQSA in research and education ATSE 2014/2015  WCET is estimated based on possible execution paths  eCFG manipulation was required

SSQSA in research and education ADP 2014/2015  ADP: Architecture, Design and Patterns  SSQSA as a case study  PART 1: Architecture  Propose an architecture for software quality monitoring and assurance portal ! students still do not know real SSQSA architecture !! some differences are made between real SSQSA and required portal  PART 2: Refactoring  Refactor a SSQSA component (previously developed by other students and full of bad smells)  PART 3: Design Patterns  Propose usage of design patterns in specific SSQSA functionality (component)  ! students have access to an implementation without design patterns

SSQSA in research and education ADP 2014/2015  ADP: Architecture, Design and Patterns  Professor: Vladimir Kurbalija  Students  49 active students  46 passed practical part (invited for an oral exam)  30 passed whole exam  older than 3 rd year of studies (usually 4 th )  Master (and sometimes bachelor)

Outline  SSQSA mission  Brief description of SSQSA framework  Applicability of SSQSA  SSQSA in research and education  Conclusion

Conclusion  SSQSA is suitable platform for multiple application in research and education  Good environment for team work and “simulation” of real-life project situations  So far introduced in education through several subjects on all levels of study  Implemented collaboration between students on different levels of study  Still there are many unexploited possibilities

SSQSA present and future THANK YOU Gordana Rakić, Zoran Budimac Department of Mathematics and Informatics Faculty of Sciences University of Novi Sad