Home
Teaching
Research
Links
Personal
Contact
Esquina

::RESEARCH INTERESTS

My research interests mainly focus on debugging, and in particular on:

  • Algorithmic Debugging - Can a debugger detect the cause of a bug isolating the portion of code which is responsible? Yes
  • Program Slicing - Can we detect all parts of a code that may have influenced the (wrong) value observed in a variable? Yes
  • Self-Healing Systems - Can a system detect faults, diagnose itself and correct the problem without human intervention? Yes
  • Tracing - Is it possible to surf the source code forwards and backward following data and control dependence chains? Yes

Other interests include program transformations, profiling, partial evaluation, refactoring, concurrent programming (in particular CSP and Petri nets), and information retrieval.



 

 

 

 

 

::RESEARCH ACTIVITIES

I am member of the MIST / ELP / GPLIS research groups.

Some conferences in which I participated

As a member of the Steering Committee:

As a member of the Program Committee:

As a member of the Organizing Committee: (outdated since 2010)

As a reviewer: (outdated since 2012)

 

This is a map of my travels in Europe and visited countries and cities

Travels in Europe


My PhD Thesis

I finished my PhD at the Technical University of Valencia.
My advisor was German Vidal.

Formal Information of the Ph.D. Dissertation

Author: Josep Silva Galiana.
Title: Debugging Techniques for Declarative Languages: Profiling, Program Slicing, and Algorithmic Debugging.
Language of Presentation: English.
Advisor: Germán Vidal.
Commission: Elvira Albert, Maríia Alpuente, Rafael Caballero, César Ferri, and Michael Hanus.
Date of Defense: June 29, 2007.
Institution Granting Degree: Technical University of Valencia.
ISBN: 978-84-690-9106-7

You can download my thesis >>here<<.

Abstract

Josep Silva
Debugging Techniques for Declarative Languages: Profiling, Program Slicing, and Algorithmic Debugging

EATCS Bulletin. Number 93, pp. 284-286, 2007.
Available: Online paper

::PHD STUDENTS

The following list contains former and current PhD students:

  • Carlos Santiago Galindo Jiménez
    Program Slicing for Modern Programming Languages
    - Date: ongoing, Grade: -, Supervisor: Josep Silva
  • Julián Alarte Aleixandre
    Information Retrieval Based on DOM trees
    - Date: 20/07/2023, Grade: Cum Laude, Supervisor: Josep Silva
  • Sergio Pérez Rubio
    Analysis Techniques for Software Maintenance
    - Date: 03/04/2023, Grade: Cum Laude, Supervisor: Josep Silva
  • David Insa Cabrera
    Optimization Techniques for Algorithmic Debugging
    - Date: 26/07/2016, Grade: Cum Laude (extraordinary prize), Supervisor: Josep Silva
  • Salvador Tamarit Muñoz
    Analysis Techniques for Concurrent Programming Languages
    - Date: 29/07/2013, Grade: Cum Laude, Supervisor: Josep Silva / Germán Vidal

::SOFTWARE

The following list contains webpages with information on some tools that I developed:


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

CNC programming Using Haskell
Recent advances in Computerized Numeric Control (CNC) have allowed the manufacturing of products with high-quality standards. Since CNC programs consist of a series of assembler-like instructions, several high-level languages, such as AutoLISP, have been proposed to raise the programming abstraction level. Unfortunately, the lack of formality in these languages prevents the verification of programs. In this work, we propose the use of Haskell in CNC programming. Haskell is a modern pure functional language permitting formal verification and presenting advanced features such as lazy evaluation, higher order, etc. These features will allow us to cope with infinite data structures to apply heuristics to CNC programs to optimize them, etc.
 
Router Specification in Declarative Languages
The development of modern routers requires a significant effort to be designed, built, and verified. While hardware routers are faster, they are difficult to configure and maintain. Software routers, on the other hand, are slower but can easily be configured and maintained. A modular architecture and software toolkit for building routers and other packet processors has been introduced: the system Click. It includes a specification language with features for declaring and connecting router elements and for designing abstractions. We propose the use of a declarative multi-paradigm language, Curry, to specify routers. Since Curry is a fully declarative language, router specifications can be transformed, optimized, verified, etc., by using several existing formal techniques. Moreover, we will show that Curry's features are particularly useful in designing router components with a high level of abstraction. Our first experiments point out that the proposed methodology is both useful and practical...
 
Automatic Complexity Analysis by Program Transformation
There are very few approaches to measure the execution costs of lazy functional (logic) programs. Using a lazy execution mechanism implies that the complexity of an evaluation depends on its context, i.e., the evaluation of the same expression may have different costs depending on the degree of evaluation required by the different contexts where it appears. We have developed a novel approach to complexity analysis of functional (logic) programs. We focus on constructing equations that compute the time complexity of expressions. In contrast to previous approaches, it is simple, precise -i.e., it computes exact costs rather than upper/lower bounds-, and fully automatic.
 
Slicing XML Documents
Program slicing is a well-known technique to extract the program statements that (potentially) affect the values computed at some point of interest. In this work, we introduce a novel slicing method for XML documents. Essentially, given an XML document (which is valid w.r.t. some DTD), we produce a new XML document (a slice) that contains the relevant information in the original XML document according to some criterion. Furthermore, we also output a new DTD such that the computed slice is valid w.r.t. this DTD. A prototype implementation of the XML slicer has been undertaken.
 
Filtering HTML Documents
Nowadays, the Internet is the main source of information for millions of people and enterprises. However, information on the Internet has not yet been classified, and consequently, the search for information is one of the most important tasks and processes performed by users and systems. In particular, for WWW human users, searching for information is the main (time-consuming) task. To face this problem, both the industrial and the academic communities have developed many methods and tools to index and search web pages. The most extended solution is the use of search engines such as Google and Yahoo; however, while current search engines can be a suitable solution to find a particular webpage, they are useless in finding the relevant information on such a page. Hence, once a web page is found, the user must search it to verify if the information needed is there. This is a problem that has not been satisfactorily solved, and thus, there is no extended solution. In this project, we develop a tool able to automatically extract from a webpage the information (text, images, etc.) related to a filtering criterium without the use of semantic specifications or lexicons and without the need for offline parsing or compilation processes.
Pin More Information...
 
A Comparative of Algorithmic Debuggers
Algorithmic debugging is a semi-automatic debugging technique which is based on the answers of an oracle (usually the programmer) to a series of questions generated automatically by the algorithmic debugger. The technique typically traverses a record of the execution---the so-called execution tree---which only captures the declarative aspects of the execution and hides operational details. This work overviews and compares the most important algorithmic debuggers of different programming paradigms. In the study, we analyze the most important features incorporated by current algorithmic debuggers, and we identify some features that are not supported yet by any debugger. We then compare all the debuggers giving rise to a map of the state of the practice in algorithmic debugging.
 
NOFIB-Buggy: The Haskell Collection of Buggy Programs
This work presents the nofib-buggy suite: a collection of benchmarks written in Haskell. The suite is an extension of the well-known nofib suite but with the peculiarity that all the programs in the new suite are buggy. This characteristic makes the benchmarks useful to test and compare debugging methods. We describe here the kind of bugs used in the suite, and how they have been distributed. It is also explained how to download, use and contribute to the nofib-buggy suite.
 
SOC: A Slicer of CSP Specifications
SOC is a program slicer for CSP specifications. To increase the precision of program slicing, SOC uses a new data structure called a Context-sensitive Synchronized Control Flow Graph (CSCFG). Given a CSP specification, SOC generates its associated CSCFG and produces two different kinds of slices, which correspond to two different static analyses.
 
CSP2PN: A Tool to Transform a CSP Specification into an Equivalent Petri Net
CSP2PN is a tool that automatically builds a Petri net that produces the same sequences of observable events that a given CSP specification. In CSP terminology, these sequences are the so-called traces. In Petri nets, they correspond to transition firing sequences. The transformation algorithm uses an instrumentation of the standard CSP's operational semantics as defined by A.W. Roscoe to explore all possible computations of a specification. The semantics is deterministic because the initial configuration predetermines the rule applied in every step. Therefore, the algorithm can execute the semantics several times to iteratively explore all computations and, hence, generate the whole Petri net.

::TECHNICAL REPORTS


Copyrights are held variously by the authors or publishers. In general, these papers are provided for direct use in scholarship and education. If you are contemplating other uses, such as republication, you must obtain appropriate permissions. If you wish to cite any of the published work, please look up the formal publication and use that version. The preprints in this area are as accurate as I can make them, but they are not authoritative copies of the published versions.


If you cannot find a technical report, you can also try here.


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

::SELECTED PAPERS


Copyrights are held variously by the authors or publishers. In general, these papers are provided for direct use in scholarship and education. If you are contemplating other uses, such as republication, you must obtain appropriate permissions. If you wish to cite any of the published work, please look up the formal publication, and use that version. The preprints in this area are as accurate as I can make them, but they are not authoritative copies of the published versions.


You can select papers by year: 2024 / 2023 / 2022 / 2021 / 2020 / 2019 / 2018 / 2017 / 2016 / 2015 / 2014 / 2013 / 2012 / 2011 / 2010 / 2009 / 2008 / 2007 / 2006 / 2005 / 2004 / 2003 / 2002

  • Julian Alarte, Carlos Galindo, Josep Silva
    Programming Contests as Complementary Activities in University Programming Courses
    16th International Conference on Computer Supported Education (CSEDU 20204)
    DOI: https://csedu.scitevents.org/.
    Available:
    PDF preprint

2023

  • Carlos Galindo, Marisa Llorens, Sergio Perez, Josep Silva
    Slicing Shared-Memory Concurrent Programs The Threaded System Dependence Graph Revisited
    39th International Conference on Software Maintenance and Evolution (ICSME 2023): 73-83, 2023.
    Available: PDF Preprint
  • Carlos Galindo, Marisa Llorens, Sergio Perez, Josep Silva
    Slicing Petri Nets to Reduce Their Complexity
    ATAED/PN4TT@Petri Nets 2023.
    Available: Abstract

2022

  • Carlos Galindo, Sergio Perez, Josep Silva
    Program Slicing Techniques with Support for Unconditional Jumps
    23rd International Conference on Formal Engineering Methods (ICFEM 2022), pp. 123-139, 2022.
    Available: PDF preprint
  • Carlos Galindo, Jens Krinke, Sergio Perez, Josep Silva
    Field-Sensitive Program Slicing
    20th International Conference on Software Engineering and Formal Methods (SEFM 2022), pp. 74-90, 2022.
    Available: PDF preprint
  • Carlos Galindo, Sergio Perez, Josep Silva
    A Program Slicer for Java (Tool Paper)
    20th International Conference on Software Engineering and Formal Methods (SEFM 2022), pp. 146-151, 2022.
    Available: PDF preprint
  • Julian Alarte, Josep Silva Page-Level Main Content Extraction from Heterogeneous Webpages
    ACM Transactions on Knowledge Discovery from Data (TKDD)
    ACM, 2021.
    Available:
    PDF preprint
  • Carlos Galindo, Sergio Perez, Josep Silva
    Data Dependence for Object-Oriented Programs
    Proceedings of the 11th Workshop on Tools for Automatic Program Analysis (TAPAS 2020).
  • Carlos Galindo, Sergio Perez, Josep Silva
    Program slicing with exception handling
    Proceedings of the 11th Workshop on Tools for Automatic Program Analysis (TAPAS 2020).
  • Carlos Galindo, Sergio Perez, Josep Silva
    Slicing Unconditional Jumps with Unnecessary Control Dependencies
    Proceedings of the 29th International Conference on Logic Based Program Synthesis and Transformation (LOPSTR 2020). Springer LNCS, vol 12561. ISBN: 978-3-030-68445-7.
    Available:
    PDF preprint
  • Julian Alarte, David Insa, Josep Silva
    Main Content Extraction from Heterogeneous Webpages
    19th International Conference on Web Information Systems Engineering (WISE 2018), Dubai, United Arab Emirates, November 12-15, 2018.
    © Lecture Notes in Computer Science 11233, Springer 2018, ISBN 978-3-030-02921-0.
    Available:
    PDF preprint
  • Rafael Caballero, Adrian Riesco, Josep Silva
    A Survey of Algorithmic Debugging
    Journal ACM Computing Surveys (CSUR) Surveys. Volume 50 Issue 4, October 2017, Article No. 60. ACM New York, NY, USA.
    Available:
    PDF preprint
  • David Insa, Josep Silva
    Optimization Techniques for Algorithmic Debugging
    Bulletin of the EATCS 122.
    Available:
    Online paper
  • Salvador España-Boquera, David Guerrero-Lopez, Alvaro Hermida-Perez, Josep Silva, Jose V. Benlloch-Dualde
    Analyzing the learning process (in Programming) by using data collected from an online IDE
    16th International Conference on Information Technology Based Higher Education and Training (ITHET 2017), Ohrid, Macedonia, June 25-30, 2017.
    Available:
    PDF online
  • David Insa, Sergio Perez, Josep Silva, Salvador Tamarit
    Computing Super Reduced Program Slices by Composing Slicing Techniques
    32nd ACM/SIGAPP Symposium on Applied Computing (SAC 2017), Marrakech, Morocco, April 4-6, 2017.
    Available:
    PDF preprint
  • David Insa, Sergio Perez, Josep Silva, Salvador Tamarit
    Erlang Code Evolution Control
    27th International Symposium on Logic-based Program Synthesis and Transformation (LOPSTR 2017), Namur, Belgium, October 10-12, 2017.
    Available:
    PDF online
  • Julian Alarte, David Insa, Josep Silva
    Webpage Menu Detection Based on DOM
    43rd International Conference on Current Trends in Theory and Practice of Computer Science (SOFSEM 2017), Limerick, Ireland, January 16-20, 2017.
    Available:
    PDF preprint
  • Julian Alarte, David Insa, Josep Silva, Salvador Tamarit
    Analysis of Hyperlinks and DOM Comparison for Site-Level Web Template Extraction
    Tenth International Andrei Ershov Memorial Conference (PSI 2015), 2015.
    Available:
    PDF preprint

2014

  • David Insa, Josep Silva
    Automatic Transformation of Iterative Loops into Recursive Methods.
    The Journal of Information and Software Technology (JIST).
    © Elsevier
    , DOI: 10.1016/j.infsof.2014.10.001, 2014.
    Available:
    PDF preprint
  • Julian Alarte, David Insa, Josep Silva, Salvador Tamarit
    Automatic Detection of Webpages that Share the Same Web Template.
    10th International Workshop on Automated Specification and Verification of Web Systems (WWV 2014).
    Electronic Proceedings in Theoretical Computer Science
    .
    © EPTCS
    , DOI: 10.4204/EPTCS.163, 2014.
    Available:
    PDF online
  • Julian Alarte, David Insa, Josep Silva, Salvador Tamarit
    Site-Level Template Extraction Based on Hyperlink Analysis.
    XIV Jornadas de Programaci�n y Lenguajes (PROLE 2014).
    Electronic Proceedings in Theoretical Computer Science
    .
    © EPTCS
    , 2014.
    Available:
    PDF preprint
  • David Insa, Josep Silva, Salvador Tamarit
    Using the Words/Leafs Ratio in the DOM Tree for Content Extraction.
    The Journal of Logic and Algebraic Programming (JLAP).
    © Elsevier
    , Volume 82, Issue 8, November 2013, Pages 311�325, 2013.
    Available:
    PDF preprint
  • Juan Rodriguez, Josep Silva, David Insa
    Enhancing Trace Debugging with Algorithmic and Omniscient Debugging.
    Proceedings of the 23rd International Symposium on Logic-Based Program Synthesis and Transformation (LOPSTR 2013).
    Available:
    PDF preprint
  • Julian Alarte, David Insa, Josep Silva, Salvador Tamarit
    Template Extraction Based on Menu Information.
    9th International Workshop on Automated Specification and Verification of Web Systems (WWV 2013).
    Firenze (Italy), June 6th 2013.
    Available:
    PDF preprint
  • Josep Silva
    A Vocabulary of Program-Slicing Based Techniques
    ACM Computing Surveys. Volume 12, Issue 3. Article 12. 2012.
    © ACM Press

    Available:
    PDF preprint
  • Marisa Llorens, Javier Oliver, Josep Silva, Salvador Tamarit
    Generating a Petri Net from a CSP Specification: a Semantics-Based Method
    Advances in Engineering Software. Volume 50, Pages 110�130, 2012.
    © Elsevier
    Available:
    PDF preprint
  • Juan Rodriguez, Josep Silva, David Insa
    Enhancing Declarative Debugging with Loop Expansion and Tree Compression.
    Proceedings of the 22nd International Symposium on Logic-Based Program Synthesis and Transformation (LOPSTR 2012).
    Available:
    PDF preprint
  • Sergio López, Josep Silva, David Insa
    Content Extraction Using DOM Structures
    13th International Conference on Intelligent Text Processing and Computational Linguistics (CICLING 2012).

    Available:
    PDF preprint
  • Héctor Valero, Carlos Castillo, Josep Silva
    Information Extraction from Webpages Based on DOM Distances
    13th International Conference on Intelligent Text Processing and Computational Linguistics (CICLING 2012).

    © Springer-Verlag

    Available: PDF preprint

2011

  • Josep Silva
    A Survey on Algorithmic Debugging Strategies
    Advances in Engineering Software. Volume 42 Issue 11, November, 2011

    Available:
    PDF preprint
  • Jesús Almendros, Josep Silva, Salvador Tamarit
    XQuery Optimization Based on Program Slicing
    20th ACM Conference on Information and Knowledge Management (CIKM 2011).
    Glasgow, Scotland, UK. 24th-28th October 2011
    .
    © ACM Press
    Available:
    PDF preprint
  • David Insa, Josep Silva
    An Optimal Strategy for Algorithmic Debugging
    26th IEEE/ACM International Conference on Automated Software Engineering (ASE 2011).
    Oread, Lawrence, Kansas, USA. 6th-12th November 2011.
    © ACM Press
    Available:
    PDF preprint

  • David Insa, Josep Silva
    Optimal Divide and Query
    15th Portuguese Conference on Artificial Intelligence (EPIA 2011).
    Lisbon, Portugal. 10th-13th October 2011.
    © Springer-Verlag

    Available:
    PDF Extended Version

 

  • David Insa, Josep Silva
    An Algorithmic Debugger for Java
    Proceedings of the 26th IEEE International Conference on Software Maintenance (ICSM 2010).
    © IEEE

    Available:
    PDF preprint
  • David Insa, Josep Silva
    Debugging with Incomplete and Dynamically Generated Execution Trees
    Proceedings of the 20th International Symposium on Logic-based Program Synthesis and Transformation (LOPSTR 2010).
    © Springer-Verlag
    Available:
    PDF preprint
  • Sergio López, Josep Silva
    A New Information Filtering Method for Webpages
    7th International Workshop on Text.based Information Retrieval (TIR 2010). Bilbao, Spain. August 30, 2010.

    Available:
    PDF preprint
  • Héctor Valero, Carlos Castillo, Josep Silva
    Reconstructing Information Retrieved from Multiple Websites
    5th International Workshop on Automated Specification and Verification of Web Systems (WWV 2010). Vienna, Austria. July 30-31, 2010.

    Available:
    PDF preprint
  • Marisa Llorens, Javier Oliver, Josep Silva, Salvador Tamarit
    An Algorithm to Detect Synchronized Events of CSP Specifications
    Proceedings of the XVII Jornadas de Concurrencia y Sistemas Distribuidos (JCSD 2009). pp. 261-272, 2009.
    Available: PDF preprint
  • Josep Silva
    Information Filtering and Information Retrieval with the Web Filtering Toolbar

    4th Int'l Workshop on Automated Specification and Verification of Web Systems (WWV 2008).
    Electronic Notes in Theoretical Computer Science, Volume 235: 125-136, 2009.
    © Elsevier

    Available:
    Abstract / PDF preprint / BibTeX entr
  • Diego Cheda, Josep Silva
    State of the Practice in Algorithmic Debugging

    17th Int'l Workshop on Functional and (Constraint) Logic Programming (WFLP 2008).
    To appear in Electronic Notes in Theoretical Computer Science, 2009.
    © Elsevier

    Available:
    website / PDF preprint

 

  • Josep Silva
    Debugging Techniques for Declarative Languages: Profiling, Program Slicing, and Algorithmic Debugging

    AI Communications, Volume 21(1), pp. 91-92, 2008.
    © IOS Press

    Available:
    Abstract

 

 

  • Josep Silva
    A Comparative Study of Algorithmic Debugging Strategies

    Logic-Based Program Synthesis and Transformation (revised and selected papers from LOPSTR 2006). Springer LNCS 4407, pp. 60-76, 2007.
    © Springer-Verlag
    Available:
    Online paper / PDF preprint

 

  • Josep Silva
    A program Slicing Based Method to Filter XML/DTD Documents

    International Conference on Current Trends in Theory and Practice of Informatics (SOFSEM 2007), Czech Republic. Springer LNCS 4362, pp. 771-782, 2007.
    © Springer-Verlag
    Available: Online paper
    / Information

 

 

 

  • Josep Silva, Jorge Belenguer, Matilde Celma
    Multi-source Materialized Views Maintenance: Multi-level Views

    Advances in Databases and Information Systems, 2006. Springer LNCS 4152, pp. 71-80, 2006.
    © Springer-Verlag
    Available:
    Abstract / Online paper

 

 

 

  • Josep Silva
    Algorithmic Debugging Strategies

    International Symposium on Logic-based Program Synthesis and Transformation (LOPSTR 2006). pp. 134-140.
    Available:
    Online paper

 


2004

2003


    Josep Silva, Nour Hussein, José Á. Carsí, Isidro Ramos
    El aspecto de distribución de PRISMA
    VIII Jornadas Ingeniería del Software y Bases de Datos (JISBD'03), Alicante (Spain).
    Available: Online paper
2002

 

 

  • Algorithmic Debugging
  • Program Slicing
  • Self-Healing systems
  • Tracing
Research
Google translations: Français     Español     Deutsch     Italiano     Português