add UDD paper, draft version of
[homepage.git] / research / publications.mdwn
1 [[!meta stylesheet=papers rel="stylesheet"]]
2
3 [[!img img/emblem-documents.png link="no" class="flow" alt="documents"]]
4 Here is a list of my **academic papers**, classified by type of publication and
5 in reverse chronological order.
6 [[!toc ]]
7
8 # <span title="international, peer-reviewed journals">journal articles</span>
9
10  1. <a class="paper_download" href="nrhm-overlapping-conversions.pdf"><img src="../../img/pdf-format-logo.png" alt=""/>[.pdf]</a> <span class="doi_logo"><a href="http://dx.doi.org/10.1080/13614560802316145" title="Document Object Identifier">doi&gt;</a></span> <a href="http://vitali.web.cs.unibo.it/Main/PaoloMarinelli">Paolo Marinelli</a>, <a href="http://vitali.web.cs.unibo.it">Fabio Vitali</a>, <a href="http://upsilon.cc/~zack">Stefano Zacchiroli</a>. **Towards the unification of formats for overlapping markup**.  <em>
11         In <a href="http://www.tandf.co.uk/journals/titles/13614568.asp">New
12           Review of Hypermedia and
13           Multimedia</a>,
14         <a href="http://www.informaworld.com/smpp/title~content=t713599880~db=all~tab=issueslist~branches=14#v14">Volume 14</a>,
15         <a href="http://www.informaworld.com/smpp/title~content=g903097087~db=all">Issue 1</a>, January
16         2008, <a href="http://www.informaworld.com/smpp/content~db=all?content=10.1080/13614560802316145">pp. 57-94</a>.
17         <a href="http://www.tandf.co.uk/">Taylor and Francis</a>,
18         <a href="http://www.informaworld.com/smpp/title~content=t713599880~link=cover">ISSN 1361-4568</a>.
19       </em>
20     [[!toggle id=id20 text="Abstract..."]] [[!toggleable id=id20 text="""
21     *Abstract:* Overlapping markup refers to the issue of how to represent data structures more expressive than trees—for example direct acyclic graphs—using markup (meta-)languages which have been designed with trees in mind—for example XML. In this paper we observe that the state of the art in overlapping markup is far from being the widespread and consistent stack of standards and technologies readily available for XML and develop a roadmap for closing the gap. In particular we present in the paper the design and implementation of what we believe to be the first needed step, namely: a syntactic conversion framework among the plethora of overlapping markup serialization formats. The algorithms needed to perform the various conversions are presented in pseudo-code, they are meant to be used as blueprints for researchers and practitioners which need to write batch translation programs from one format to the other.
22     """]]
23  1. <a class="paper_download" href="mcs-disambiguation-errors.pdf"><img src="../../img/pdf-format-logo.png" alt=""/>[.pdf]</a> <span class="doi_logo"><a href="http://dx.doi.org/10.1007/s11786-008-0058-2" title="Document Object Identifier">doi&gt;</a></span> <a href="http://www.cs.unibo.it/~sacerdot">Claudio Sacerdoti Coen</a>, <a href="http://upsilon.cc/~zack">Stefano Zacchiroli</a>. **Spurious Disambiguation Errors and How to Get Rid of Them**.  <em>
24         In <a href="http://www.springerlink.com/content/1661-8270">Mathematics
25         in Computer Science</a>, Volume 2, Number
26         2, <a href="http://www.springerlink.com/content/1p816h3610g8k854/">pp. 355-378</a>,
27         December 2008.
28         <a href="http://www.cs.bham.ac.uk/~mmk/events/mcs/">Special Issue on Management of Mathematical Knowledge</a>,
29         Springer Birkhäuser,
30         <a href="http://www.springerlink.com/content/1661-8270">ISSN 1661-8270</a>.
31       </em>
32     [[!toggle id=id19 text="Abstract..."]] [[!toggleable id=id19 text="""
33     *Abstract:* The disambiguation approach to the input of formulae enables users of mathematical assistants to type correct formulae in a terse syntax close to the usual ambiguous mathematical notation. When it comes to incorrect formulae however, far too many typing errors are generated; among them we want to present only errors related to the formula interpretation meant by the user, hiding errors related to other interpretations. We study disambiguation errors and how to classify them into the spurious and genuine error classes. To this end we give a general presentation of the classes of disambiguation algorithms and efficient disambiguation algorithms. We also quantitatively assess the quality of the presented error classification criteria benchmarking them in the setting of a formal development of constructive algebra.
34     """]]
35  1. <a class="paper_download" href="matita.pdf"><img src="../../img/pdf-format-logo.png" alt=""/>[.pdf]</a> <span class="doi_logo"><a href="http://dx.doi.org/10.1007/s10817-007-9070-5" title="Document Object Identifier">doi&gt;</a></span> <a href="http://www.cs.unibo.it/~asperti">Andrea Asperti</a>, <a href="http://www.cs.unibo.it/~sacerdot">Claudio Sacerdoti Coen</a>, <a href="http://www.cs.unibo.it/~tassi">Enrico Tassi</a>, <a href="http://upsilon.cc/~zack">Stefano Zacchiroli</a>. **User Interaction with the Matita Proof Assistant**.  <em>
36         In <a href="http://www-unix.mcs.anl.gov/JAR/">Journal of Automated
37           Reasoning</a>, <a href="http://springerlink.metapress.com/content/h81468706x24/">Volume
38           39, Number 2, Special Issue on User Interfaces for Theorem
39           Proving</a>, Springer Netherlands,
40           <a href="http://www.springerlink.com/content/0168-7433">ISSN 0168-7433</a>,
41           <a href="http://springerlink.metapress.com/content/y4wt440q28136q47">pp. 109-139</a>,
42           2007.
43       </em>
44     [[!toggle id=id9 text="Abstract..."]] [[!toggleable id=id9 text="""
45     *Abstract:* Matita is a new, document-centric, tactic-based interactive theorem prover. This paper focuses on some of the distinctive features of the user interaction with Matita, mostly characterized by the organization of the library as a searchable knowledge base, the emphasis on a high-quality notational rendering, and the complex interplay between syntax, presentation, and semantics.
46     """]]
47
48 # book chapters
49
50  1. <a class="paper_download" href="web30-semantics-templating.pdf"><img src="../../img/pdf-format-logo.png" alt=""/>[.pdf]</a> <a href="http://diiorio.web.cs.unibo.it/">Angelo Di Iorio</a>, <a href="http://vitali.web.cs.unibo.it">Fabio Vitali</a>, <a href="http://upsilon.cc/~zack">Stefano Zacchiroli</a>. **Web Semantics via Wiki Templating**.  <em>
51         Chapter 34 of <a href="http://www.amazon.com/Handbook-Research-Web-2-0-3-0/dp/1605663840">Handbook
52         of research on Web 2.0, 3.0 and x.0: technologies, business and social
53         applications</a>. San Murugesan Ed., November 2009, ISBN
54         978-1605663845.
55       </em>
56     [[!toggle id=id21 text="Abstract..."]] [[!toggleable id=id21 text="""
57     *Abstract:* A foreseeable incarnation of Web 3.0 could inherit machine understandability from the Semantic Web, and collaborative editing from Web 2.0 applications. We review the research and development trends which are getting today Web nearer to such an incarnation. We present semantic wikis, microformats, and the so-called "lowercase semantic web": they are the main approaches at closing the technological gap between content authors and Semantic Web technologies. We discuss a too often neglected aspect of the associated technologies, namely how much they adhere to the wiki philosophy of open editing: is there an intrinsic incompatibility between semantic rich content and unconstrained editing? We argue that the answer to this question can be "no", provided that a few yet relevant shortcomings of current Web technologies will be fixed soon.
58     """]]
59
60 # <span title="international, peer-reviewed conferences">conference proceedings</span>
61
62  1. <a class="paper_download" href="msr2010-udd.pdf"><img src="../../img/pdf-format-logo.png" alt=""/>[.pdf]</a> <a href="http://www.loria.fr/~lnussbau/">Lucas Nussbaum</a>, <a href="http://upsilon.cc/~zack">Stefano Zacchiroli</a>. **The Ultimate Debian Database: Consolidating Bazaar Metadata for Quality Assurance and Data Mining**.  <em>To appear in proceedings of MSR 2010 (the <a href="http://msr.uwaterloo.ca/msr2010/">7th IEEE Working Conference on
63       Mining Software Repositories</a>, co-located with <a href="http://www.sbs.co.za/ICSE2010/">ICSE 2010</a>),
64       IEEE. 02-03/05/2010, Cape Town, South Africa.</em>
65     [[!toggle id=id33 text="Abstract..."]] [[!toggleable id=id33 text="""
66     *Abstract:* FLOSS distributions like RedHat and Ubuntu require a lot more complex infrastructures than most other FLOSS projects. In the case of community-driven distributions like Debian, the development of such an infrastructure is often not very organized, leading to new data sources being added in an impromptu manner while hackers set up new services that gain acceptance in the community. Mixing and matching data is then harder than should be, albeit being badly needed for Quality Assurance and data mining. Massive refactoring and integration is not a viable solution either, due to the constraints imposed by the bazaar development model. This paper presents the Ultimate Debian Database (UDD), which is the countermeasure adopted by the Debian project to the above "data hell". UDD gathers data from various data sources into a single, central SQL database, turning Quality Assurance needs that could not be easily implemented before into simple SQL queries. The paper also discusses the customs that have contributed to the data hell, the lessons learnt while designing UDD, and its applications and potentialities for data mining on FLOSS distributions.
67     """]]
68  1. <a class="paper_download" href="jfla10-dh-ocaml.pdf"><img src="../../img/pdf-format-logo.png" alt=""/>[.pdf]</a> <a href="http://www.pps.jussieu.fr/~dogguy/">Mehdi Dogguy</a>, <a href="http://stephane.glondu.net/">Stéphane Glondu</a>, <a href="http://sylvain.le-gall.net/">Sylvain Le Gall</a>, <a href="http://upsilon.cc/~zack">Stefano Zacchiroli</a>. **Enforcing Type-Safe Linking using Inter-Package Relationships**.  <em>To appear in proceedings of JFLA 2010 (the <a href="http://jfla.inria.fr/2010/">21st Journée Francophones des Langages
69       Applicatifs</a>). 30/01-02/02/2010 - La Ciotat, France.</em>
70     [[!toggle id=id32 text="Abstract..."]] [[!toggleable id=id32 text="""
71     *Abstract:* Strongly-typed languages rely on link-time checks to ensure that type safety is not violated at the borders of compilation units. Such checks entail very fine-grained dependencies among compilation units, which are at odds with the implicit assumption of backward compatibility that is relied upon by common library packaging techniques adopted by FOSS (Free and Open Source Software) package-based distributions. As a consequence, package managers are often unable to prevent users to install a set of libraries which cannot be linked together. We discuss how to guarantee link-time compatibility using inter-package relationships; in doing so, we take into account real-life maintainability problems such as support for automatic package rebuild and manageability of ABI (Application Binary Interface) strings by humans. We present the dh_ocaml implementation of the proposed solution, which is currently in use in the Debian distribution to safely deploy more than 300 OCaml-related packages.
72     """]]
73  1. <a class="paper_download" href="sac10-coclo.pdf"><img src="../../img/pdf-format-logo.png" alt=""/>[.pdf]</a> <a href="http://www.cs.unibo.it/~gdangelo/">Gabriele D'Angelo</a>, <a href="http://vitali.web.cs.unibo.it">Fabio Vitali</a>, <a href="http://upsilon.cc/~zack">Stefano Zacchiroli</a>. **Content Cloaking: Preserving Privacy with Google Docs and other Web Applications**.  <em>To appear in proceedings of ACM SAC 2010 (the <a href="http://www.acm.org/conferences/sac/sac2010/">25th Annual ACM
74       Symposium on Applied Computing</a>). 22-26/03/2010 - Sierre,
75       Switzerland.</em>
76     [[!toggle id=id31 text="Abstract..."]] [[!toggleable id=id31 text="""
77     *Abstract:* Web office suites such as Google Docs offer unparalleled collaboration experiences in terms of low software requirements, ease of use, data ubiquity, and availability. When the data holder (Google, Microsoft, etc.) is not perceived as trusted though, those benefits are considered at stake with important privacy requirements. Content cloaking is a lightweight, cryptographic, client-side solution to protect content from data holders while using web office suites and other "Web 2.0", AJAX-based, collaborative applications.
78     """]]
79  1. <a class="paper_download" href="mooml-iwoce-2009.pdf"><img src="../../img/pdf-format-logo.png" alt=""/>[.pdf]</a> <span class="doi_logo"><a href="http://doi.acm.org/10.1145/1595800.1595806" title="Document Object Identifier">doi&gt;</a></span> <a href="http://www.pps.jussieu.fr/~treinen">Ralf Treinen</a>, <a href="http://upsilon.cc/~zack">Stefano Zacchiroli</a>. **Expressing Advanced User preferences in Component Installation**.  <em>
80         In proceedings of <a href="http://www.iwoce.org">IWOCE 2009</a>
81         International Workshop on Open Component Ecosystem, affiliated
82         with <a href="http://www.esec-fse-2009.ewi.tudelft.nl/">ESEC/FSE
83         2009</a>. Foundations of Software Engineering, ISBN 978-1-60558-677-9,
84         <a href="http://portal.acm.org/citation.cfm?id=1595800.1595806">pp. 31-40</a>,
85         ACM 2009.
86       </em>
87     [[!toggle id=id30 text="Abstract..."]] [[!toggleable id=id30 text="""
88     *Abstract:* State of the art component-based software collections, such as FOSS distributions, are made of up to dozens of thousands components, with complex inter-dependencies and conflicts. Given a particular installation of such a system, each request to alter the set of installed components has potentially (too) many satisfying answers. We present an architecture that allows to express advanced user preferences about package selection in FOSS distributions. The architecture is composed by a distribution-independent format for describing available and installed packages called CUDF (Common Upgradeability Description Format), and a foundational language called MooML to specify optimization criteria. We present the syntax and semantics of CUDF and MooML, and discuss the partial evaluation mechanism of MooML which allows to gain efficiency in package dependency solvers.
89     """]]
90  1. <a class="paper_download" href="modernization-iwoce-2009.pdf"><img src="../../img/pdf-format-logo.png" alt=""/>[.pdf]</a> <span class="doi_logo"><a href="http://doi.acm.org/10.1145/1595800.1595803" title="Document Object Identifier">doi&gt;</a></span> <a href="http://www.di.univaq.it/diruscio/">Davide Di Ruscio</a>, <a href="http://www.di.univaq.it/pellicci/index_personal.php">Patrizio Pelliccione</a>, <a href="http://www.di.univaq.it/di/home.php?username=alfonso">Alfonso Pierantonio</a>, <a href="http://upsilon.cc/~zack">Stefano Zacchiroli</a>. **Towards maintainer script modernization in FOSS distributions**.  <em>
91         In proceedings of <a href="http://www.iwoce.org">IWOCE 2009</a>
92         International Workshop on Open Component Ecosystem, affiliated
93         with <a href="http://www.esec-fse-2009.ewi.tudelft.nl/">ESEC/FSE
94         2009</a>. Foundations of Software Engineering, ISBN 978-1-60558-677-9,
95         <a href="http://portal.acm.org/citation.cfm?id=1595800.1595803">pp. 11-20</a>,
96         ACM 2009.
97       </em>
98     [[!toggle id=id29 text="Abstract..."]] [[!toggleable id=id29 text="""
99     *Abstract:* Free and Open Source Software (FOSS) distributions are complex software systems, made of thousands packages that evolve rapidly, independently, and without centralized coordination. During packages upgrades, corner case failures can be encountered and are hard to deal with, especially when they are due to misbehaving maintainer scripts: executable code snippets used to finalize package configuration. In this paper we report a software modernization experience, the process of representing existing legacy systems in terms of models, applied to FOSS distributions. We present a process to define meta-models that enable dealing with upgrade failures and help rolling back from them, taking into account maintainer scripts. The process has been applied to widely used FOSS distributions and we report about such experiences.
100     """]]
101  1. <a class="paper_download" href="strongdeps-esem-2009.pdf"><img src="../../img/pdf-format-logo.png" alt=""/>[.pdf]</a> <span class="doi_logo"><a href="http://dx.doi.org/10.1109/ESEM.2009.5316017" title="Document Object Identifier">doi&gt;</a></span> Pietro Abate, Jaap Boender, <a href="http://www.dicosmo.org">Roberto Di Cosmo</a>, <a href="http://upsilon.cc/~zack">Stefano Zacchiroli</a>. **Strong Dependencies between Software Components**.  <em>
102         In proceedings of <a href="http://www.csc2.ncsu.edu/conferences/esem/">ESEM 2009</a> (3rd
103         International Symposium on Empirical Software Engineering and
104         Measurement), ISBN 978-1-4244-4842-5, <a href="http://ieeexplore.ieee.org/search/wrapper.jsp?arnumber=5316017">pp. 89-99</a>. October
105         15-16, 2009 - Lake Buena Vista, Florida, USA.
106       </em>
107     [[!toggle id=id28 text="Abstract..."]] [[!toggleable id=id28 text="""
108     *Abstract:* Component-based systems often describe context requirements in terms of explicit inter-component dependencies. Studying large instances of such systems—such as free and open source software (FOSS) distributions—in terms of declared dependencies between packages is appealing. It is however also misleading when the language to express dependencies is as expressive as boolean formulae, which is often the case. In such settings, a more appropriate notion of component dependency exists: strong dependency. This paper introduces such notion as a first step towards modeling semantic, rather then syntactic, inter-component relationships. Furthermore, a notion of component sensitivity is derived from strong dependencies, with applications to quality assurance and to the evaluation of upgrade risks. An empirical study of strong dependencies and sensitivity is presented, in the context of one of the largest, freely available, component-based system.
109     """]]
110  1. <a class="paper_download" href="enase2009-upgrade.pdf"><img src="../../img/pdf-format-logo.png" alt=""/>[.pdf]</a> <a href="http://www.di.univaq.it/cicchetti">Antonio Cicchetti</a>, <a href="http://www.di.univaq.it/diruscio/">Davide Di Ruscio</a>, <a href="http://www.di.univaq.it/pellicci/index_personal.php">Patrizio Pelliccione</a>, <a href="http://www.di.univaq.it/di/home.php?username=alfonso">Alfonso Pierantonio</a>, <a href="http://upsilon.cc/~zack">Stefano Zacchiroli</a>. **Towards a Model Driven Approach to Upgrade Complex Software Systems**.  <em>In proceedings
111       of <a href="http://www.enase.org/">ENASE 2009</a> (4th
112       international conference on Evaluation of Novel Aspects to
113       Software Engineering); held in conjunction
114       with <a href="http://www.iceis.org/">ICEIS 2009</a>. 6-10 May
115       2009, Milan, Italy.</em>
116     [[!toggle id=id26 text="Abstract..."]] [[!toggleable id=id26 text="""
117     *Abstract:* Complex software systems are more and more based on the abstraction of package, brought to popularity by Free and Open Source Software (FOSS) distributions. While helpful as an encapsulation layer, packages do not solve all problems of deployment, and more generally of management, of large software collections. In particular upgrades, which often affect several packages at once due to inter-package dependencies, often fail and do not hold good transactional properties. This paper shows how to apply model driven techniques to describe and manage software upgrades of FOSS distributions. It is discussed how to model static and dynamic aspects of package upgrades---the latter being the most challenging aspect to deal with---in order to be able to predict common causes of upgrade failures and undo residual effects of failed or undesired upgrades.
118     """]]
119  1. <a class="paper_download" href="sac09-manners.pdf"><img src="../../img/pdf-format-logo.png" alt=""/>[.pdf]</a> <span class="doi_logo"><a href="http://doi.acm.org/10.1145/1529282.1529422" title="Document Object Identifier">doi&gt;</a></span> <a href="http://diiorio.web.cs.unibo.it/">Angelo Di Iorio</a>, <a href="http://www.cs.unibo.it/~rossi/">Davide Rossi</a>, <a href="http://vitali.web.cs.unibo.it">Fabio Vitali</a>, <a href="http://upsilon.cc/~zack">Stefano Zacchiroli</a>. **Where are your Manners? Sharing Best Community Practices in the Web 2.0**.  <em>In <a href="http://portal.acm.org/toc.cfm?id=1529282&amp;type=proceeding&amp;coll=ACM&amp;dl=ACM&amp;idx=SERIES179&amp;part=series&amp;WantType=Proceedings&amp;title=SAC&amp;CFID=35227042&amp;CFTOKEN=62299452">proceedings
120         of ACM SAC 2009</a>
121         (the <a href="http://www.acm.org/conferences/sac/sac2009/">24th
122         Annual ACM Symposium on Applied Computing</a>). ISBN
123         978-1-60558-166-8, <a href="http://portal.acm.org/citation.cfm?id=1529282.1529422&amp;coll=ACM&amp;dl=ACM&amp;type=series&amp;idx=SERIES179&amp;part=series&amp;WantType=Proceedings&amp;title=SAC">pp. 681-687</a></em>
124     [[!toggle id=id23 text="Abstract..."]] [[!toggleable id=id23 text="""
125     *Abstract:* The Web 2.0 fosters the creation of communities by offering users a wide array of social software tools. But, while the success of these tools is based on their ability to support different interaction patterns among users by imposing as less limitations as possible, the communities they support are not free of rules (just think about the posting rules in a community forum or the editing rules in a thematic wiki). In this paper we propose a framework for the sharing of best community practices in the form of a (potentially rule-based) annotation layer that can be integrated with existing Web 2.0 community tools (with specific focus on wikis). This solution is characterized by minimal intrusiveness and plays nicely within the open spirit of the Web 2.0 by proving users with behavioral hints rather than by enforcing the strict adherence to a set of rules.
126     """]]
127  1. <a class="paper_download" href="hotswup-package-upgrade.pdf"><img src="../../img/pdf-format-logo.png" alt=""/>[.pdf]</a> <span class="doi_logo"><a href="http://doi.acm.org/10.1145/1490283.1490292" title="Document Object Identifier">doi&gt;</a></span> <a href="http://www.dicosmo.org">Roberto Di Cosmo</a>, <a href="http://paulotrezentos.polo-sul.org/">Paulo Trezentos</a>, <a href="http://upsilon.cc/~zack">Stefano Zacchiroli</a>. **Package Upgrades in FOSS Distributions: Details and Challenges**.  <em>In proceedings
128           of <a href="http://www.hotswup.org/">HotSWUp'08 (Hot Topics
129           in Software Upgrades)</a>. October 20, 2008, Nashville,
130           Tennessee, USA. ACM ISBN 978-1-60558-304-4.</em>
131     [[!toggle id=id22 text="Abstract..."]] [[!toggleable id=id22 text="""
132     *Abstract:* The upgrade problems faced by Free and Open Source Software distributions have characteristics not easily found elsewhere. We describe the structure of packages and their role in the upgrade process. We show that state of the art package managers have shortcomings inhibiting their ability to cope with frequent upgrade failures. We survey current countermeasures to such failures, argue that they are not satisfactory, and sketch alternative solutions.
133     """]]
134  1. <a class="paper_download" href="wiki-templating.pdf"><img src="../../img/pdf-format-logo.png" alt=""/>[.pdf]</a> <span class="doi_logo"><a href="http://dx.doi.org/10.1145/1367497.1367581" title="Document Object Identifier">doi&gt;</a></span> <a href="http://diiorio.web.cs.unibo.it/">Angelo Di Iorio</a>, <a href="http://vitali.web.cs.unibo.it">Fabio Vitali</a>, <a href="http://upsilon.cc/~zack">Stefano Zacchiroli</a>. **Wiki Content Templating**.  <em>
135         In Proceedings of <a href="http://www2008.org">WWW 2008</a>: 17th
136         International World Wide Web Conference. April 21-25, 2008 Beijing,
137         China. ACM 978-1-60558-085-2/08/04,
138         <a href="http://portal.acm.org/citation.cfm?doid=1367497.1367581">pp.
139           615-624</a>.
140       </em>
141     [[!toggle id=id18 text="Abstract..."]] [[!toggleable id=id18 text="""
142     *Abstract:* Wiki content templating enables reuse of content structures among wiki pages. In this paper we present a thorough study of this widespread feature, showing how its two state of the art models (functional and creational templating) are sub-optimal. We then propose a third, better, model called lightly constrained (LC) templating and show its implementation in the Moin wiki engine. We also show how LC templating implementations are the appropriate technologies to push forward semantically rich web pages on the lines of (lowercase) semantic web and microformats.
143     """]]
144  1. <a class="paper_download" href="steve-latvia.pdf"><img src="../../img/pdf-format-logo.png" alt=""/>[.pdf]</a> <a href="http://vitali.web.cs.unibo.it/Main/PaoloMarinelli">Paolo Marinelli</a>, <a href="http://vitali.web.cs.unibo.it">Fabio Vitali</a>, <a href="http://upsilon.cc/~zack">Stefano Zacchiroli</a>. **Streaming Validation of Schemata: the Lazy Typing Discipline**.  <em>
145         In Proceedings of <a href="http://www.extrememarkup.com/extreme/index.html">Extreme Markup
146           Languages 2007</a>: The Markup Theory and Practice Conference.
147         August 7-10, 2007 Montreal, Canada.
148       </em>
149     [[!toggle id=id15 text="Abstract..."]] [[!toggleable id=id15 text="""
150     *Abstract:* Assertions, identity constraints, and conditional type assignments are (planned) features of XML Schema which rely on XPath evaluation to various ends. The allowed XPath subset exploitable in those features is trimmed down for streamability concerns partly understandable (the apparent wish to avoid buffering to determine the evaluation of an expression) and partly artificial. In this paper we dissect the XPath language in subsets with varying streamability characteristics. We also identify the larger subset which is compatible with the typing discipline we believe underlies some of the choices currently present in the XML Schema specifications. We describe such a discipline as imposing that the type of an element has to be decided when its start tag is encountered and its validity has to be when its end tag is. We also propose an alternative lazy typing discipline where both type assignment and validity assessment are fired as soon as they are available in a best effort manner. We believe our discipline is more flexible and delegate to schema authors the choice of where to place in the trade-off between using larger XPath subsets and increasing buffering requirements or expeditiousness of typing information availability.
151     """]]
152  1. <a class="paper_download" href="disambiguation-errors.pdf"><img src="../../img/pdf-format-logo.png" alt=""/>[.pdf]</a> <span class="doi_logo"><a href="http://dx.doi.org/10.1007/978-3-540-73086-6_30" title="Document Object Identifier">doi&gt;</a></span> <a href="http://www.cs.unibo.it/~sacerdot">Claudio Sacerdoti Coen</a>, <a href="http://upsilon.cc/~zack">Stefano Zacchiroli</a>. **Spurious Disambiguation Error Detection**.  <em>
153         In Proceedings of <a href="http://www.cs.bham.ac.uk/~mmk/events/MKM07/">MKM 2007</a>: The
154         6th International Conference on Mathematical Knowledge Management.
155         Hagenberg, Austria -- 27-30 June 2007. <a href="http://www.springerlink.com/content/u10172854312/">LNAI
156           4573</a>, Springer Berlin / Heidelberg, ISBN 978-3-540-73083-5, <a href="http://www.springerlink.com/content/87747204m4r45565/">pp.
157           381-392</a>, 2007.
158       </em>
159     [[!toggle id=id14 text="Abstract..."]] [[!toggleable id=id14 text="""
160     *Abstract:* The disambiguation approach to the input of formulae enables the user to type correct formulae in a terse syntax close to the usual ambiguous mathematical notation. When it comes to incorrect formulae we want to present only errors related to the interpretation meant by the user, hiding errors related to other interpretations (spurious errors). We propose a heuristic to recognize spurious errors, which has been integrated with the disambiguation algorithm of [1].
161     """]]
162  1. <a class="paper_download" href="streaming-co-constraints.pdf"><img src="../../img/pdf-format-logo.png" alt=""/>[.pdf]</a> <a href="http://vitali.web.cs.unibo.it/Main/PaoloMarinelli">Paolo Marinelli</a>, <a href="http://upsilon.cc/~zack">Stefano Zacchiroli</a>. **Co-Constraint Validation in a Streaming Context**.  <em>
163         In Proceedings of <a href="http://2006.xmlconference.org/">XML 2006</a>,
164         "The world's oldest and biggest XML conference".  <em>Award</em>: Winner
165         of the <a href="http://2006.xmlconference.org/scholarship.html">XML
166                 Scholarship 2006</a> as best student paper.  Boston, MA --
167         December 5-7, 2006.
168       </em>
169     [[!toggle id=id13 text="Abstract..."]] [[!toggleable id=id13 text="""
170     *Abstract:* In many use cases applications are bound to be run consuming only a limited amount of memory. When they need to validate large XML documents, they have to adopt streaming validation, which does not rely on an in-memory representation of the whole input document. In order to validate an XML document, different kinds of constraints need to be verified. Co-constraints---which relate the content of elements to the presence and values of other attributes or elements---are one such kind of constraints. In this paper we propose an approach to the problem of validating in a streaming fashion an XML document against a schema also specifying co-constraints. We describe how the streaming evaluation of co-constraints influences the output of the validation process. Our proposal makes use of the validation language SchemaPath, a light extension to XML Schema, adding conditional type assignment for the support of co-constraints. The paper is based on the description of our streaming SchemaPath validator.
171     """]]
172  1. <a class="paper_download" href="matita-crafting.pdf"><img src="../../img/pdf-format-logo.png" alt=""/>[.pdf]</a> <span class="doi_logo"><a href="http://dx.doi.org/10.1007/978-3-540-74464-1_2" title="Document Object Identifier">doi&gt;</a></span> <a href="http://www.cs.unibo.it/~asperti">Andrea Asperti</a>, <a href="http://www.cs.unibo.it/~sacerdot">Claudio Sacerdoti Coen</a>, <a href="http://www.cs.unibo.it/~tassi">Enrico Tassi</a>, <a href="http://upsilon.cc/~zack">Stefano Zacchiroli</a>. **Crafting a Proof Assistant**.  <em>
173         In Proceedings of <a href="http://www.cs.nott.ac.uk/types06/">Types
174           2006</a>: Types for Proofs and Programs. Nottingham, UK -- April
175         18-21, 2006.  <a href="http://www.springerlink.com/content/u4h217614314/">LNCS
176           4502</a>, Springer Berlin / Heidelberg, ISBN 978-3-540-74463-4, <a href="http://www.springerlink.com/content/148x29r15435650l/">pp.
177           18-32</a>, 2007.
178       </em>
179     [[!toggle id=id10 text="Abstract..."]] [[!toggleable id=id10 text="""
180     *Abstract:* Proof assistants are complex applications whose development has never been properly systematized or documented. This work is a contribution in this direction, based on our experience with the development of Matita: a new interactive theorem prover based---as Coq---on the Calculus of Inductive Constructions (CIC). In particular, we analyze its architecture focusing on the dependencies of its components, how they implement the main functionalities, and their degree of reusability. The work is a first attempt to provide a ground for a more direct comparison between different systems and to highlight the common functionalities, not only in view of reusability but also to encourage a more systematic comparison of different softwares and architectural solutions.
181     """]]
182  1. <a class="paper_download" href="tinycals.pdf"><img src="../../img/pdf-format-logo.png" alt=""/>[.pdf]</a> <span class="doi_logo"><a href="http://dx.doi.org/10.1016/j.entcs.2006.09.026" title="Document Object Identifier">doi&gt;</a></span> <a href="http://www.cs.unibo.it/~sacerdot">Claudio Sacerdoti Coen</a>, <a href="http://www.cs.unibo.it/~tassi">Enrico Tassi</a>, <a href="http://upsilon.cc/~zack">Stefano Zacchiroli</a>. **Tinycals: Step by Step Tacticals**.  <em>
183         In Proceedings of
184         <a href="http://www.ags.uni-sb.de/~omega/workshops/UITP06/">UITP
185           2006</a>: User Interfaces for Theorem Provers. Seattle, WA -- August
186         21, 2006. <a href="http://www.elsevier.com/locate/issn/15710661">ENTCS (Elsevier, ISSN 1571-0661)</a>, <a href="http://www.sciencedirect.com/science/journal/15710661">Volume 174, Issue 2, pp. 125-142 (15 May 2007)</a>.
187       </em>
188     [[!toggle id=id8 text="Abstract..."]] [[!toggleable id=id8 text="""
189     *Abstract:* Most of the state-of-the-art proof assistants are based on procedural proof languages, scripts, and rely on LCF tacticals as the primary tool for tactics composition. In this paper we discuss how these ingredients do not interact well with user interfaces based on the same interaction paradigm of Proof General (the de facto standard in this field), identifying in the coarse-grainedness of tactical evaluation the key problem. We propose Tinycals as an alternative to a subset of LCF tacticals, showing that the user does not experience the same problem if tacticals are evaluated in a more fine-grained manner. We present the formal operational semantics of tinycals as well as their implementation in the Matita proof assistant.
190     """]]
191  1. <a class="paper_download" href="constrainedwiki.pdf"><img src="../../img/pdf-format-logo.png" alt=""/>[.pdf]</a> <span class="doi_logo"><a href="http://dx.doi.org/10.1145/1149453.1149471" title="Document Object Identifier">doi&gt;</a></span> <a href="http://diiorio.web.cs.unibo.it/">Angelo Di Iorio</a>, <a href="http://upsilon.cc/~zack">Stefano Zacchiroli</a>. **Constrained Wiki: an Oxymoron?**.  <em>
192         In Proceedings of
193         <a href="http://www.wikisym.org/ws2006/">WikiSym 2006</a>: the 2006
194         International Symposium on Wikis. Odense, Denmark -- August 21-23, 2006.
195         ACM Press, 2006, ISBN 1-59593-417-0,
196         <a href="http://www.wikisym.org/ws2006/proceedings/p89.pdf">pp.
197           89-98</a>.
198       </em>
199     [[!toggle id=id7 text="Abstract..."]] [[!toggleable id=id7 text="""
200     *Abstract:* In this paper we propose a new wiki concept -- light constraints -- designed to encode community best practices and domain-specific requirements, and to assist in their application. While the idea of constraining user editing of wiki content seems to inherently contradict "The Wiki Way", it is well-known that communities of users involved in wiki sites have the habit of establishing best authoring practices. For domain-specific wiki systems which process wiki content, it is often useful to enforce some well-formedness conditions on specific page contents. This paper describes a general framework to think about the interaction of wiki system with constraints, and presents a generic architecture which can be easily incorporated into existing wiki systems to exploit the capabilities enabled by light constraints.
201     """]]
202  1. <a class="paper_download" href="notation.pdf"><img src="../../img/pdf-format-logo.png" alt=""/>[.pdf]</a> <span class="doi_logo"><a href="http://dx.doi.org/10.1007/11812289_16" title="Document Object Identifier">doi&gt;</a></span> <a href="http://www.sti.uniurb.it/padovani/">Luca Padovani</a>, <a href="http://upsilon.cc/~zack">Stefano Zacchiroli</a>. **From Notation to Semantics: There and Back Again**.  <em>
203         In Proceedings of <a href="http://www.mkm-ig.org/meetings/mkm06/">MKM
204           2006</a>: The 5th International Conference on Mathematical Knowledge
205         Management.  Wokingham, UK -- August 11-12, 2006. <a href="http://www.springerlink.com/content/978-3-540-37104-5/">LNAI
206           4108</a>, Springer Berlin / Heidelberg, ISBN 978-3-540-37104-5, <a href="http://www.springerlink.com/content/h603702tj6306100/">pp.
207           194-207</a>, 2006.
208       </em>
209     [[!toggle id=id6 text="Abstract..."]] [[!toggleable id=id6 text="""
210     *Abstract:* Mathematical notation is a structured, open, and ambiguous language. In order to support mathematical notation in MKM applications one must necessarily take into account presentational as well as semantic aspects. The former are required to create a familiar, comfortable, and usable interface to interact with. The latter are necessary in order to process the information meaningfully. In this paper we investigate a framework for dealing with mathematical notation in a meaningful, extensible way, and we show an effective instantiation of its architecture to the field of interactive theorem proving. The framework builds upon well-known concepts and widely-used technologies and it can be easily adopted by other MKM applications.
211     """]]
212  1. <a class="paper_download" href="whelp.pdf"><img src="../../img/pdf-format-logo.png" alt=""/>[.pdf]</a> <span class="doi_logo"><a href="http://dx.doi.org/10.1007/11617990_2" title="Document Object Identifier">doi&gt;</a></span> <a href="http://www.cs.unibo.it/~asperti">Andrea Asperti</a>, <a href="http://www.cs.unibo.it/~fguidi">Ferruccio Guidi</a>, <a href="http://www.cs.unibo.it/~sacerdot">Claudio Sacerdoti Coen</a>, <a href="http://www.cs.unibo.it/~tassi">Enrico Tassi</a>, <a href="http://upsilon.cc/~zack">Stefano Zacchiroli</a>. **A Content Based Mathematical Search Engine: Whelp**.  <em>
213         In Proceedings of
214         <a href="http://types2004.lri.fr/">TYPES 2004</a> conference: Types for
215         Proofs and Programs. Paris, France -- December 15-18, 2004.
216         <a href="http://www.springerlink.com/content/978-3-540-31428-8/">LNCS
217           3839</a>, Springer Berlin / Heidelberg, ISBN 3-540-31428-8, <a href="http://www.springerlink.com/content/y13172v735082217/">pp.
218           17-32</a>, 2006.
219       </em>
220     [[!toggle id=id5 text="Abstract..."]] [[!toggleable id=id5 text="""
221     *Abstract:* The prototype of a content based search engine for mathematical knowledge supporting a small set of queries requiring matching and/or typing operations is described. The prototype, called Whelp, exploits a metadata approach for indexing the information that looks far more flexible than traditional indexing techniques for structured expressions like substitution, discrimination, or context trees. The prototype has been instantiated to the standard library of the Coq proof assistant extended with many user contributions.
222     """]]
223  1. <a class="paper_download" href="gmetadom.pdf"><img src="../../img/pdf-format-logo.png" alt=""/>[.pdf]</a> <span class="doi_logo"><a href="http://dx.doi.org/10.1007/b101929" title="Document Object Identifier">doi&gt;</a></span> <a href="http://www.sti.uniurb.it/padovani/">Luca Padovani</a>, <a href="http://www.cs.unibo.it/~sacerdot">Claudio Sacerdoti Coen</a>, <a href="http://upsilon.cc/~zack">Stefano Zacchiroli</a>. **A Generative Approach to the Implementation of Language Bindings for the Document Object Model**.  <em>
224         In Proceedings of <a href="http://www.gpce.org/04/">GPCE'04</a> Third
225         International Conference on Generative Programming and Component
226         Engineering. Vancouver, Canada -- October 24-28, 2004
227         <a href="http://www.springerlink.com/content/978-3-540-23580-4/">LNCS
228           3286</a>, Springer Berlin / Heidelberg, ISBN 3-540-23580-9,
229         <a href="http://www.springerlink.com/content/3cf6a7vvry9d1la1/">pp.
230           469-487</a>, 2004.
231       </em>
232     [[!toggle id=id4 text="Abstract..."]] [[!toggleable id=id4 text="""
233     *Abstract:* The availability of a C implementation for the Document Object Model (DOM) gives the interesting opportunity of generating bindings for different programming languages automatically. Because of the DOM bias towards Java-like languages, a C implementation that fakes objects, inheritance, polymorphism, exceptions and uses reference-counting introduces a gap between the API specification and its actual implementation that the bindings should try to close. In this paper we overview the generative approach in this particular context and apply it for the generation of C++ and OCaml bindings.
234     """]]
235  1. <a class="paper_download" href="mathsearch.pdf"><img src="../../img/pdf-format-logo.png" alt=""/>[.pdf]</a> <a href="http://www.cs.unibo.it/~asperti">Andrea Asperti</a>, <a href="http://upsilon.cc/~zack">Stefano Zacchiroli</a>. **Searching Mathematics on the Web: State of the Art and Future Developments**.  <em>
236         In Proceedings
237         of <a href="http://eic-ecm4.sub.uni-goettingen.de/">New
238         Developments in Electronic Publishing AMS/SMM</a> Special
239         Session, Houston, May 2004 ECM4 Satellite Conference,
240         Stockholm, June
241         2004 <a href="http://www.emis.de/proceedings/Stockholm2004/asperti.pdf">p. 9-18</a>. FIZ
242         Karlsruhe, ISBN 3-88127-107-4.
243       </em>
244     [[!toggle id=id3 text="Abstract..."]] [[!toggleable id=id3 text="""
245     *Abstract:* A huge amount of mathematical knowledge is nowadays available on the World Wide Web. Many different solutions and technologies for searching that knowledge have been developed as well. We present the state of the art of searching mathematics on the Web, giving some insight on future developments in this area.
246     """]]
247  1. <a class="paper_download" href="disambiguation.pdf"><img src="../../img/pdf-format-logo.png" alt=""/>[.pdf]</a> <a href="http://www.cs.unibo.it/~sacerdot">Claudio Sacerdoti Coen</a>, <a href="http://upsilon.cc/~zack">Stefano Zacchiroli</a>. **Efficient Ambiguous Parsing of Mathematical Formulae**.  <em>
248         In Proceedings of <a href="http://www.mkm-ig.org/meetings/mkm04/">MKM
249           2004</a> Third International Conference on Mathematical Knowledge
250         Management. September 19-21, 2004 Bialowieza - Poland.
251         <a href="http://www.springerlink.com/content/978-3-540-23029-8/">LNCS
252           3119</a>, Springer Berlin / Heidelberg, ISBN 3-540-23029-7,
253         <a href="http://www.springerlink.com/content/kxkbpg34y5xrtenu/">pp.
254           347-362</a>, 2004.
255       </em>
256     [[!toggle id=id2 text="Abstract..."]] [[!toggleable id=id2 text="""
257     *Abstract:* Mathematical notation has the characteristic of being ambiguous: operators can be overloaded and information that can be deduced is often omitted. Mathematicians are used to this ambiguity and can easily disambiguate a formula making use of the context and of their ability to find the right interpretation. Software applications that have to deal with formulae usually avoid these issues by fixing an unambiguous input notation. This solution is annoying for mathematicians because of the resulting tricky syntaxes and becomes a show stopper to the simultaneous adoption of tools characterized by different input languages. In this paper we present an efficient algorithm suitable for ambiguous parsing of mathematical formulae. The only requirement of the algorithm is the existence of a validity predicate over abstract syntax trees of incomplete formulae with placeholders. This requirement can be easily fulfilled in the applicative area of interactive proof assistants, and in several other areas of Mathematical Knowledge Management.
258     """]]
259  1. <a class="paper_download" href="hbugs.pdf"><img src="../../img/pdf-format-logo.png" alt=""/>[.pdf]</a> <a href="http://www.cs.unibo.it/~sacerdot">Claudio Sacerdoti Coen</a>, <a href="http://upsilon.cc/~zack">Stefano Zacchiroli</a>. **Brokers and Web-Services for Automatic Deduction: a Case Study**.  <em>
260         In Proceedings of
261         <a href="http://www-calfor.lip6.fr/~rr/Calculemus03/">Calculemus
262           2003</a>
263         11th Symposium on the Integration of Symbolic Computation and Mechanized
264         Reasoning. Roma, Italy -- September 10-12, 2003, Aracne Editrice S.R.L.
265         ISBN 88-7999-545-6, pp. 43-57, 2003.
266       </em>
267     [[!toggle id=id1 text="Abstract..."]] [[!toggleable id=id1 text="""
268     *Abstract:* We present a planning broker and several Web-Services for automatic deduction. Each Web-Service implements one of the tactics usually available in interactive proof-assistants. When the broker is submitted a proof status (an incomplete proof tree and a focus on an open goal) it dispatches the proof to the Web-Services, collects the successful results, and send them back to the client as hints as soon as they are available. In our experience this architecture turns out to be helpful both for experienced users (who can take benefit of distributing heavy computations) and beginners (who can learn from it).
269     """]]
270
271 # <span title="official research reports of research institutions">technical reports</span>
272
273  1. <a class="paper_download" href="strongdeps-tr.pdf"><img src="../../img/pdf-format-logo.png" alt=""/>[.pdf]</a> Pietro Abate, Jaap Boender, <a href="http://www.dicosmo.org">Roberto Di Cosmo</a>, <a href="http://upsilon.cc/~zack">Stefano Zacchiroli</a>. **Strong Dependencies between Software Components**.  <em>
274         <a href="http://www.mancoosi.org">Mancoosi project</a>
275         <a href="http://www.mancoosi.org/reports/">technical report
276         0002</a>, 22/05/2009.
277       </em>
278     [[!toggle id=id27 text="Abstract..."]] [[!toggleable id=id27 text="""
279     *Abstract:* Component-based systems often describe context requirements in terms of explicit inter-component dependencies. Studying large instances of such systems—such as free and open source software (FOSS) distributions—in terms of declared dependencies between packages is appealing. It is however also misleading when the language to express dependencies is as expressive as boolean formulae, which is often the case. In such settings, a more appropriate notion of component dependency exists: strong dependency. This paper introduces such notion as a first step towards modeling semantic, rather then syntactic, inter-component relationships. Furthermore, a notion of component sensitivity is derived from strong dependencies, with applications to quality assurance and to the evaluation of upgrade risks. An empirical study of strong dependencies and sensitivity is presented, in the context of one of the largest, freely available, component-based system.
280     """]]
281  1. <a class="paper_download" href="mancoosi-d2.1.pdf"><img src="../../img/pdf-format-logo.png" alt=""/>[.pdf]</a> <a href="http://www.di.univaq.it/diruscio/">Davide Di Ruscio</a>, <a href="http://www.di.univaq.it/pellicci/index_personal.php">Patrizio Pelliccione</a>, <a href="http://www.di.univaq.it/di/home.php?username=alfonso">Alfonso Pierantonio</a>, <a href="http://upsilon.cc/~zack">Stefano Zacchiroli</a>. **Metamodel for Describing System Structure and State**.  <em>
282         <a href="http://www.mancoosi.org">Mancoosi project</a>
283         deliverable,
284         <a href="http://www.mancoosi.org/deliverables/d2.1.pdf">D2.1</a>,
285         work package 2. January 2009.
286       </em>
287     [[!toggle id=id25 text="Abstract..."]] [[!toggleable id=id25 text="""
288     *Abstract:* Today's software systems are very complex modular entities, made up of many interacting components that must be deployed and coexist in the same context. Modern operating systems provide the basic infrastructure for deploying and handling all the components that are used as the basic blocks for building more complex systems even though a generic and comprehensive support is far from being provided. In fact, in Free and Open Source Software (FOSS) systems, components evolve independently from each other and because of the huge amount of available components and their different project origins, it is not easy to manage the life cycle of a distribution. Users are in fact allowed to choose and install a wide variety of alternatives whose consistency cannot be checked a priori to their full extent. It is possible to easily make the system unusable by installing or removing some packages that "break" the consistency of what is installed in the system itself. This document proposes a model-driven approach to simulate system upgrades in advance and to detect predictable upgrade failures, possibly by notifying the user before the system is affected. The approach relies on an abstract representation of the systems and packages which are given in terms of models that are expressive enough to isolate inconsistent configurations (e.g., situations in which installed components rely on the presence of disappeared sub-components) that are currently not expressible as inter-package relationships.
289     """]]
290  1. <a class="paper_download" href="mancoosi-d5.1.pdf"><img src="../../img/pdf-format-logo.png" alt=""/>[.pdf]</a> <a href="http://www.pps.jussieu.fr/~treinen">Ralf Treinen</a>, <a href="http://upsilon.cc/~zack">Stefano Zacchiroli</a>. **Description of the CUDF Format**.  <em>
291         <a href="http://www.mancoosi.org">Mancoosi project</a>
292         deliverable,
293         <a href="http://www.mancoosi.org/deliverables/d5.1.pdf">D5.1</a>,
294         work package 5. November 2008.
295       </em>
296     [[!toggle id=id24 text="Abstract..."]] [[!toggleable id=id24 text="""
297     *Abstract:* This document contains several related specifications, taken together they describe the document formats related to the solver competition which will be organized by Mancoosi. In particular, this document describes: DUDF (Distribution Upgradeability Description Format), the document format to be used to submit upgrade problem instances from user machines to a (distribution-specific) database of upgrade problems; CUDF (Common Upgradeability Description Format), the document format used to encode upgrade problems, abstracting over distribution-specific details. Solvers taking part in the competition will be fed with input in CUDF format.
298     """]]
299  1. <a class="paper_download" href="flea.pdf"><img src="../../img/pdf-format-logo.png" alt=""/>[.pdf]</a> <a href="http://www.sti.uniurb.it/padovani/">Luca Padovani</a>, <a href="http://upsilon.cc/~zack">Stefano Zacchiroli</a>. **Stream Processing of XML Documents Made Easy with LALR(1) Parser Generators**.  <em>
300         <a href="http://www.cs.unibo.it/pub/TR/UBLCS/ABSTRACTS/2007.bib?ncstrl.cabernet//BOLOGNA-UBLCS-2007-23">Technical
301           report UBLCS-2007-23</a>, September 2007, <a href="http://www.cs.unibo.it">Department of Computer Science</a>, <a href="http://www.unibo.it">University of Bologna</a>.
302       </em>
303     [[!toggle id=id17 text="Abstract..."]] [[!toggleable id=id17 text="""
304     *Abstract:* Because of their fully annotated structure, XML documents are normally believed to require a straightforward parsing phase. However, the standard APIs for accessing their content (the Document Object Model and the Simple API for XML) provide a programming interface that is very low-level and is thus inadequate for the recognition of any structure that is not isomorphic to its XML encoding. Even when the document undergoes validation, its unmarshalling into application-specific data using these APIs requires poorly maintainable, tedious-to-write, and possibly inefficient code. We describe a technique for the simultaneous parsing, validation, and unmarshalling of XML documents that combines a stream-oriented XML parser with a LALR(1) parser in order to guarantee efficient stream processing, expressive validation capabilities, and the possibility to associate user-provided actions with specific patterns occurring in the source documents.
305     """]]
306  1. <a class="paper_download" href="wiki-templating-tr.pdf"><img src="../../img/pdf-format-logo.png" alt=""/>[.pdf]</a> <a href="http://diiorio.web.cs.unibo.it/">Angelo Di Iorio</a>, <a href="http://vitali.web.cs.unibo.it">Fabio Vitali</a>, <a href="http://upsilon.cc/~zack">Stefano Zacchiroli</a>. **Templating Wiki Content for Fun and Profit**.  <em>
307         <a href="http://www.cs.unibo.it/pub/TR/UBLCS/ABSTRACTS/2007.bib?ncstrl.cabernet//BOLOGNA-UBLCS-2007-21">Technical
308           report UBLCS-2007-21</a>, August 2007, <a href="http://www.cs.unibo.it">Department of Computer Science</a>, <a href="http://www.unibo.it">University of Bologna</a>.
309       </em>
310     [[!toggle id=id16 text="Abstract..."]] [[!toggleable id=id16 text="""
311     *Abstract:* Content templating enables reuse of content structures between wiki pages. Such a feature is implemented in several mainstream wiki engines. Systematic study of its conceptual models and comparison of the available implementations are unfortunately missing in the wiki literature. In this paper we aim to fill this gap first analyzing template-related user needs, and then reviewing existing approaches at content templating. Our investigation shows that two models emerge---functional and creational templating---and that both have weakness failing to properly fit in "The Wiki Way". As a solution, we propose the adoption of creational templates enriched with light constraints, showing that such a solution has a low implementative footprint in state-of-the-art wiki engines, and that it has a synergy with semantic wikis.
312     """]]
313
314 # dissertations
315
316  1. <a class="paper_download" href="phd-thesis.pdf"><img src="../../img/pdf-format-logo.png" alt=""/>[.pdf]</a> <a href="http://upsilon.cc/~zack">Stefano Zacchiroli</a>. **User Interaction Widgets for Interactive Theorem Proving**.  <em>
317         Ph.D. dissertation, <a href="http://www.cs.unibo.it/pub/TR/UBLCS/ABSTRACTS/2007.bib?ncstrl.cabernet//BOLOGNA-UBLCS-2007-10">Technical
318           report UBLCS-2007-10</a>, March 2007, <a href="http://www.cs.unibo.it">Department of Computer Science</a>, <a href="http://www.unibo.it">University of Bologna</a> (advisor: <a href="http://www.cs.unibo.it/~asperti">Andrea Asperti</a>; refereed
319         by: <a href="http://www.ags.uni-sb.de/~chris/">Christoph
320           Benzmueller</a>, <a href="http://users.dimi.uniud.it/~marino.miculan/">Marino
321           Miculan</a>).
322       </em>
323     [[!toggle id=id12 text="Abstract..."]] [[!toggleable id=id12 text="""
324     *Abstract:* Matita (that means pencil in Italian) is a new interactive theorem prover under development at the University of Bologna. When compared with state-of-the-art proof assistants, Matita presents both traditional and innovative aspects. The underlying calculus of the system, namely the Calculus of (Co)Inductive Constructions (CIC for short), is well-known and is used as the basis of another mainstream proof assistant---Coq---with which Matita is to some extent compatible. In the same spirit of several other systems, proof authoring is conducted by the user as a goal directed proof search, using a script for storing textual commands for the system. In the tradition of LCF, the proof language of Matita is procedural and relies on tactic and tacticals to proceed toward proof completion. The interaction paradigm offered to the user is based on the script management technique at the basis of the popularity of the Proof General generic interface for interactive theorem provers: while editing a script the user can move forth the execution point to deliver commands to the system, or back to retract (or "undo") past commands. Matita has been developed from scratch in the past 8 years by several members of the Helm research group, this thesis author is one of such members. Matita is now a full-fledged proof assistant with a library of about 1.000 concepts. Several innovative solutions spun-off from this development effort. This thesis is about the design and implementation of some of those solutions, in particular those relevant for the topic of user interaction with theorem provers, and of which this thesis author was a major contributor. Joint work with other members of the research group is pointed out where needed. The main topics discussed in this thesis are briefly summarized below. Disambiguation. Most activities connected with interactive proving require the user to input mathematical formulae. Being mathematical notation ambiguous, parsing formulae typeset as mathematicians like to write down on paper is a challenging task; a challenge neglected by several theorem provers which usually prefer to fix an unambiguous input syntax. Exploiting features of the underlying calculus, Matita offers an efficient disambiguation engine which permit to type formulae in the familiar mathematical notation. Step-by-step tacticals. Tacticals are higher-order constructs used in proof scripts to combine tactics together. With tacticals scripts can be made shorter, readable, and more resilient to changes. Unfortunately they are de facto incompatible with state-of-the-art user interfaces based on script management. Such interfaces indeed do not permit to position the execution point inside complex tacticals, thus introducing a trade-off between the usefulness of structuring scripts and a tedious big step execution behavior during script replaying. In Matita we break this trade-off with tinycals: an alternative to a subset of LCF tacticals which can be evaluated in a more fine-grained manner. Extensible yet meaningful notation. Proof assistant users often face the need of creating new mathematical notation in order to ease the use of new concepts. The framework used in Matita for dealing with extensible notation both accounts for high quality bidimensional rendering of formulae (with the expressivity of MathML-Presentation) and provides meaningful notation, where presentational fragments are kept synchronized with semantic representation of terms. Using our approach interoperability with other systems can be achieved at the content level, and direct manipulation of formulae acting on their rendered forms is possible too. Publish/subscribe hints. Automation plays an important role in interactive proving as users like to delegate tedious proving sub-tasks to decision procedures or external reasoners. Exploiting the Web-friendliness of Matita we experimented with a broker and a network of web services (called tutors) which can try independently to complete open sub-goals of a proof, currently being authored in Matita. The user receives hints from the tutors on how to complete sub-goals and can interactively or automatically apply them to the current proof. Another innovative aspect of Matita, only marginally touched by this thesis, is the embedded content-based search engine Whelp which is exploited to various ends, from automatic theorem proving to avoiding duplicate work for the user. We also discuss the (potential) reusability in other systems of the widgets presented in this thesis and how we envisage the evolution of user interfaces for interactive theorem provers in the Web 2.0 era.
325     """]]
326  1. <a class="paper_download" href="master-thesis.pdf"><img src="../../img/pdf-format-logo.png" alt=""/>[.pdf]</a> <a href="http://upsilon.cc/~zack">Stefano Zacchiroli</a>. **Web services per il supporto alla dimostrazione interattiva (Web services for interactive theorem proving)**.  <em>
327         Master thesis (Italian only), March 2003, <a href="http://www.cs.unibo.it">Department of Computer Science</a>, <a href="http://www.unibo.it">University of Bologna</a> (advisor: <a href="http://www.cs.unibo.it/~asperti">Andrea Asperti</a>; refereed
328         by: <a href="http://www.cs.unibo.it/~busi">Nadia Busi</a>).
329       </em>
330
331 # miscellanea
332
333  1. <a class="paper_download" href="debconf8-mancoosi.pdf"><img src="../../img/pdf-format-logo.png" alt=""/>[.pdf]</a> <a href="http://www.pps.jussieu.fr/~treinen">Ralf Treinen</a>, <a href="http://upsilon.cc/~zack">Stefano Zacchiroli</a>. **Solving package dependencies: from EDOS to Mancoosi**.  <em>In proceedings
334         of <a href="http://debconf8.debconf.org/">DebConf8</a> (9th
335         annual conference of
336         the <a href="http://www.debian.org">Debian</a> project
337         developers). August 10-16, 2008, Mar del Plata,
338         Argentina.</em>
339     [[!toggle id=id21.1 text="Abstract..."]] [[!toggleable id=id21.1 text="""
340     *Abstract:* Mancoosi (Managing the Complexity of the Open Source Infrastructure) is an ongoing research project funded by the European Union for addressing some of the challenges related to the "upgrade problem" of interdependent software components of which Debian packages are prototypical examples. Mancoosi is the natural continuation of the EDOS project which has already contributed tools for distribution-wide quality assurance in Debian and other GNU/Linux distributions. The consortium behind the project consists of several European public and private research institutions as well as some commercial GNU/Linux distributions from Europe and South America. Debian is represented by a small group of Debian Developers who are working in the ranks of the involved universities to drive and integrate back achievements into Debian. This paper presents relevant results from EDOS in dependency management and gives an overview of the Mancoosi project and its objectives, with a particular focus on the prospective benefits for Debian.
341     """]]
342