Skip to content
Snippets Groups Projects
Commit 78acc03a authored by Jannik Dunkelau's avatar Jannik Dunkelau
Browse files

Add references example

parent b7454a78
No related branches found
No related tags found
No related merge requests found
File deleted
......@@ -18,7 +18,7 @@
\begin{frame}
\frametitle{Inhaltsverzeichnist}
\frametitle{Inhaltsverzeichnis}
\tableofcontents
\end{frame}
......@@ -133,4 +133,15 @@
No frame title, no logo.
\end{frame}
\begin{frame}{Bunch of references}
\cite{abrial1996b,ain2019codeclone,allamanis2018survey,alon2019code2vec,%
blanchette2016learning,blanchette2019machine,bobot2011why3}
\end{frame}
\begin{frame}[allowframebreaks]{References}
\bibliographystyle{plain}
\bibliography{references}
\end{frame}
\end{document}
@Book(abrial1996b,
Author = {Abrial, Jean-Raymond},
Title = {The {B}-Book: Assigning Programs to Meanings},
Publisher = {Cambridge University Press},
Year = 1996,
Address = {New York, NY, USA}
)
@Article(ain2019codeclone,
Author = {Q. U. {Ain} and W. H. {Butt} and M. W. {Anwar} and F. {Azam} and B. {Maqbool}},
Title = {A Systematic Review on Code Clone Detection},
Journal = {IEEE Access},
Year = 2019,
Volume = 7,
Pages = {86121--86144},
doi = {10.1109/ACCESS.2019.2918202}
)
@Article(allamanis2018survey,
Author = {Allamanis, Miltiadis and Barr, Earl T and Devanbu, Premkumar and Sutton, Charles},
Title = {A Survey of Machine Learning for Big Code and Naturalness},
Journal = {ACM Computing Surveys (CSUR)},
Year = 2018,
Volume = 51,
Number = 4,
Pages = {1--37}
)
@Article(alon2019code2vec,
Author = {Alon, Uri and Zilberstein, Meital and Levy, Omer and Yahav, Eran},
Title = {code2vec: Learning Distributed Representations of Code},
Journal = {Proceedings of the ACM on Programming Languages},
Year = 2019,
Volume = 3,
Number = {POPL},
Pages = {1--29}
)
@Article(blanchette2016learning,
Author = {Blanchette, Jasmin Christian and Greenaway, David and Kaliszyk, Cezary and K{\"u}hlwein, Daniel and Urban, Josef},
Title = {A Learning-Based Fact Selector for {Isabelle}/{HOL}},
Journal = {Journal of Automated Reasoning},
Year = 2016,
Volume = 57,
Number = 3,
Pages = {219--244},
doi = {10.1007/s10817-016-9362-8}
)
@InProceedings(blanchette2019machine,
Author = {Blanchette, Jasmin Christian and Ouraoui, Daniel El and Fontaine, Pascal and Kaliszyk, Cezary},
Title = {Machine Learning for Instance Selection in {SMT} Solving},
Booktitle = {{AITP} 2019 - 4th Conference on Artificial Intelligence and Theorem Proving},
Year = 2019,
Address = {Obergurgl, Austria},
Month = apr
)
@InProceedings(bobot2011why3,
Author = {Fran\c{c}ois Bobot and Jean-Christophe Filli\^atre and Claude March\'e and Andrei Paskevich},
Title = {{Why3}: Shepherd Your Herd of Provers},
Booktitle = {Boogie 2011: First International Workshop on Intermediate Verification Languages},
Year = 2011,
Pages = {53--64},
Address = {Wroc\l{}aw, Poland},
Month = aug
)
@InProceedings(bortolussi2015machine,
Author = {Bortolussi, Luca and Milios, Dimitrios and Sanguinetti, Guido},
Title = {Machine Learning Methods in Statistical Model Checking and System Design - Tutorial},
Booktitle = {Runtime Verification},
Year = 2015,
Series = {LNCS},
Volume = 9333,
Pages = {323--341},
Organization = {Springer}
)
@Article(buccafurri1999enhancing,
Author = {Buccafurri, Francesco and Eiter, Thomas and Gottlob, Georg and Leone, Nicola},
Title = {Enhancing model checking in verification by {AI} techniques},
Journal = {Artificial Intelligence},
Year = 1999,
Volume = 112,
Number = {1-2},
Pages = {57--104}
)
@Article(cai2019automatic,
Author = {Cai, Cheng-Hao and Sun, Jing and Dobbie, Gillian},
Title = {Automatic {B}-model repair using model checking and machine learning},
Journal = {Automated Software Engineering},
Year = 2019,
Volume = 26,
Number = 3,
Pages = {653--704}
)
@Article(chen2019literature,
Author = {Chen, Zimin and Monperrus, Martin},
Title = {A Literature Study of Embeddings on Source Code},
Journal = {arXiv preprint arXiv:1904.03061},
Year = 2019
)
@InProceedings(devlin2019bert,
Author = {Devlin, Jacob and Chang, Ming-Wei and Lee, Kenton and Toutanova, Kristina},
Title = {{BERT}: Pre-training of Deep Bidirectional Transformers for Language Understanding},
Booktitle = {Human Language Technologies},
Year = 2019,
Volume = 1,
Pages = {4171--4186},
Month = jun,
Publisher = {Association for Computational Linguistics},
doi = {10.18653/v1/N19-1423}
)
@InProceedings(dunkelau2019automated,
Author = {Dunkelau, Jannik and Krings, Sebastian and Schmidt, Joshua},
Title = {Automated Backend Selection for {ProB} Using Deep Learning},
Booktitle = {{NASA} Formal Methods},
Year = 2019,
Series = {LNCS},
Volume = 11460,
Pages = {130--147},
Month = may,
Publisher = {Springer},
doi = {10.1007/978-3-030-20652-9\_9}
)
@InProceedings(dunkelau2020analysing,
Author = {Dunkelau, Jannik and Schmidt, Joshua and Leuschel, Michael},
Title = {Analysing {ProB}'s Constraint Solving Backends},
Booktitle = {Rigorous State-Based Methods},
Year = 2020,
Series = {LNCS},
Volume = 12071,
Pages = {107--123},
Month = may,
Publisher = {Springer},
doi = {10.1007/978-3-030-48077-6\_8}
)
@InProceedings(farber2015random,
Author = {F{\"a}rber, Michael and Kaliszyk, Cezary},
Title = {Random Forests for Premise Selection},
Booktitle = {International Symposium on Frontiers of Combining Systems},
Year = 2015,
Pages = {325--340},
Organization = {Springer}
)
@InProceedings(garg2016inductive,
Author = {Garg, Pranav and Neider, Daniel and Madhusudan, P. and Roth, Dan},
Title = {Learning Invariants Using Decision Trees and Implication Counterexamples},
Booktitle = {Proceedings of the 43rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages},
Year = 2016,
Series = {POPL '16},
Volume = 51,
Pages = {499–512},
Month = jan,
Publisher = {Association for Computing Machinery},
Number = 1,
doi = {10.1145/2837614.2837664}
)
@Article(goldman2015employing,
Author = {Goldman, Robert P and Boldt, Michael W and Musliner, David J},
Title = {Employing {AI} Techniques in Probabilistic Model Checking Position Paper},
Year = 2015
)
@Article(healy2017predicting,
Author = {Healy, Andrew and Monahan, Rosemary and Power, James F.},
Title = {Predicting {SMT} Solver Performance for Software Verification},
Journal = {Electronic Proceedings in Theoretical Computer Science},
Year = 2017,
Volume = 240,
Pages = {20–37},
Month = jan,
doi = {10.4204/eptcs.240.2}
)
@InProceedings(hindle2012naturalness,
Author = {A. {Hindle} and E. T. {Barr} and Z. {Su} and M. {Gabel} and P. {Devanbu}},
Title = {On the naturalness of software},
Booktitle = {34th International Conference on Software Engineering (ICSE)},
Year = 2012,
Pages = {837--847},
doi = {10.1109/ICSE.2012.6227135}
)
@Article(irving2016deepmath,
Author = {Irving, Geoffrey and Szegedy, Christian and Alemi, Alexander A and E{\'e}n, Niklas and Chollet, Fran{\c{c}}ois and Urban, Josef},
Title = {{DeepMath} - Deep Sequence Models for Premise Selection},
Journal = {Advances in Neural Information Processing Systems},
Year = 2016,
Volume = 29,
Pages = {2235--2243}
)
@InProceedings(kaliszyk2015efficient,
Author = {Kaliszyk, Cezary and Urban, Josef and Vysko\v{c}il, Ji\v{r}\'{\i}},
Title = {Efficient Semantic Features for Automated Reasoning over Large Theories},
Booktitle = {Proceedings of the 24th International Conference on Artificial Intelligence},
Year = 2015,
Series = {IJCAI'15},
Pages = {3084–3090},
Publisher = {AAAI Press}
)
@InProceedings(kaliszyk2018reinforcement,
Author = {Kaliszyk, Cezary and Urban, Josef and Michalewski, Henryk and Ol\v{s}\'{a}k, Miroslav},
Title = {Reinforcement Learning of Theorem Proving},
Booktitle = {Advances in Neural Information Processing Systems},
Year = 2018,
Volume = 31,
Publisher = {Curran Associates, Inc.}
)
@InProceedings(kanade2020learning,
Author = {Kanade, Aditya and Maniatis, Petros and Balakrishnan, Gogul and Shi, Kensen},
Title = {Learning and Evaluating Contextual Embedding of Source Code},
Booktitle = {International Conference on Machine Learning},
Year = 2020,
Pages = {5110--5121},
Organization = {PMLR}
)
@InProceedings(lederman2019learning,
Author = {Lederman, Gil and Rabe, Markus and Seshia, Sanjit and Lee, Edward A},
Title = {Learning Heuristics for Quantified Boolean Formulas through Reinforcement Learning},
Booktitle = {International Conference on Learning Representations},
Year = 2019
)
@Article(leuschel2008prob,
Author = {Leuschel, Michael and Butler, Michael},
Title = {{ProB}: An Automated Analysis Toolset for the {B} Method},
Journal = {International Journal on Software Tools for Technology Transfer},
Year = 2008,
Volume = 10,
Number = 2,
Pages = {185--203},
Month = mar
)
@InProceedings(meinke2018survey,
Author = {K. {Meinke} and A. {Bennaceur}},
Title = {Machine Learning for Software Engineering: Models, Methods, and Applications},
Booktitle = {40th International Conference on Software Engineering: Companion (ICSE-Companion)},
Year = 2018,
Pages = {548--549},
Publisher = {IEEE/ACM}
)
@Article(mikolov2013efficient,
Author = {Mikolov, Tomas and Chen, Kai and Corrado, Greg and Dean, Jeffrey},
Title = {Efficient Estimation of Word Representations in Vector Space},
Journal = {arXiv preprint arXiv:1301.3781},
Year = 2013
)
@InProceedings(nagashima2018pamper,
Author = {Nagashima, Yutaka and He, Yilun},
Title = {PaMpeR},
Booktitle = {Proceedings of the 33rd ACM/IEEE International Conference on Automated Software Engineering},
Year = 2018,
Series = {ASE 2018},
Pages = {362–372},
Address = {New York, NY, USA},
Publisher = {Association for Computing Machinery},
doi = {10.1145/3238147.3238210}
)
@Article(pira2021using,
Author = {Pira, Einollah},
Title = {Using knowledge discovery to propose a two-phase model checking for safety analysis of graph transformations},
Journal = {Software Quality Journal},
Year = 2021,
Pages = {1--28},
doi = {10.1007/s11219-020-09542-x}
)
@Article(pira2018searching,
Author = {Pira, Einollah and Rafe, Vahid and Nikanjam, Amin},
Title = {Searching for violation of safety and liveness properties using knowledge discovery in complex systems specified through graph transformations},
Journal = {Information and Software Technology},
Year = 2018,
Volume = 97,
Pages = {110--134},
doi = {10.1016/j.infsof.2018.01.004}
)
@InProceedings(rahman2019classifying,
Author = {Rahman, Md Abdur and Haque, Md Ariful and Tawhid, Md Nurul Ahad and Siddik, Md Saeed},
Title = {Classifying Non-Functional Requirements using {RNN} Variants for Quality Software Development},
Booktitle = {Proceedings of the 3rd ACM SIGSOFT International Workshop on Machine Learning Techniques for Software Quality Evaluation},
Year = 2019,
Pages = {25--30}
)
@InProceedings(schmidt2018repair,
Author = {Schmidt, Joshua and Krings, Sebastian and Leuschel, Michael},
Title = {Repair and Generation of Formal Models Using Synthesis},
Editor = {Furia, Carlo A. and Winter, Kirsten},
Booktitle = {Integrated Formal Methods},
Year = 2018,
Series = {LNCS},
Volume = 11023,
Pages = {346--366},
Address = {Cham},
Publisher = {Springer International Publishing}
)
@InProceedings(sharma2014machine,
Author = {Sharma, Richa and Bhatia, Jaspreet and Biswas, KK},
Title = {Machine Learning for Constituency Test of Coordinating Conjunctions in Requirements Specifications},
Booktitle = {Proceedings of the 3rd International Workshop on Realizing Artificial Intelligence Synergies in Software Engineering},
Year = 2014,
Pages = {25--31}
)
@InProceedings(sultanov2013application,
Author = {H. {Sultanov} and J. H. {Hayes}},
Title = {Application of reinforcement learning to requirements engineering: requirements tracing},
Booktitle = {2013 21st IEEE International Requirements Engineering Conference (RE)},
Year = 2013,
Pages = {52--61},
doi = {10.1109/RE.2013.6636705}
)
@InProceedings(tulsian2014mux,
Author = {Tulsian, Varun and Kanade, Aditya and Kumar, Rahul and Lal, Akash and Nori, Aditya V},
Title = {{MUX}: Algorithm Selection for Software Model Checkers},
Booktitle = {Proceedings of the 11th Working Conference on Mining Software Repositories},
Year = 2014,
Pages = {132--141}
)
@InProceedings(turian2010word,
Author = {Turian, Joseph and Ratinov, Lev and Bengio, Yoshua},
Title = {Word representations: A simple and general method for semi-supervised learning},
Booktitle = {Proceedings of the 48th annual meeting of the association for computational linguistics},
Year = 2010,
Pages = {384--394}
)
@InProceedings(white2015deep,
Author = {White, Martin},
Title = {Deep Representations for Software Engineering},
Booktitle = {2015 IEEE/ACM 37th IEEE International Conference on Software Engineering},
Year = 2015,
Volume = 2,
Pages = {781--783},
Organization = {IEEE}
)
@Article(yousefian2016greedy,
Author = {Yousefian, Rosa and Aboutorabi, Shahryar and Rafe, Vahid},
Title = {A greedy algorithm versus metaheuristic solutions to deadlock detection in Graph Transformation Systems},
Journal = {Journal of Intelligent \& Fuzzy Systems},
Year = 2016,
Volume = 31,
Number = 1,
Pages = {137--149},
doi = {10.3233/IFS-162127}
)
@Article(zhu2019ltl,
Author = {W. {Zhu} and H. {Wu} and M. {Deng}},
Title = {{LTL} Model Checking Based on Binary Classification of Machine Learning},
Journal = {IEEE Access},
Year = 2019,
Volume = 7,
Pages = {135703--135719},
doi = {10.1109/ACCESS.2019.2942762}
)
%% BibTeX bibliography style `splncs03'
%%
%% BibTeX bibliography style for use with numbered references in
%% Springer Verlag's "Lecture Notes in Computer Science" series.
%% (See Springer's documentation for llncs.cls for
%% more details of the suggested reference format.) Note that this
%% file will not work for author-year style citations.
%%
%% Use \documentclass{llncs} and \bibliographystyle{splncs03}, and cite
%% a reference with (e.g.) \cite{smith77} to get a "[1]" in the text.
%%
%% This file comes to you courtesy of Maurizio "Titto" Patrignani of
%% Dipartimento di Informatica e Automazione Universita' Roma Tre
%%
%% ================================================================================================
%% This was file `titto-lncs-02.bst' produced on Wed Apr 1, 2009
%% Edited by hand by titto based on `titto-lncs-01.bst' (see below)
%%
%% CHANGES (with respect to titto-lncs-01.bst):
%% - Removed the call to \urlprefix (thus no "URL" string is added to the output)
%% ================================================================================================
%% This was file `titto-lncs-01.bst' produced on Fri Aug 22, 2008
%% Edited by hand by titto based on `titto.bst' (see below)
%%
%% CHANGES (with respect to titto.bst):
%% - Removed the "capitalize" command for editors string "(eds.)" and "(ed.)"
%% - Introduced the functions titto.bbl.pages and titto.bbl.page for journal pages (without "pp.")
%% - Added a new.sentence command to separate with a dot booktitle and series in the inproceedings
%% - Commented all new.block commands before urls and notes (to separate them with a comma)
%% - Introduced the functions titto.bbl.volume for handling journal volumes (without "vol." label)
%% - Used for editors the same name conventions used for authors (see function format.in.ed.booktitle)
%% - Removed a \newblock to avoid long spaces between title and "In: ..."
%% - Added function titto.space.prefix to add a space instead of "~" after the (removed) "vol." label
%% - Added doi
%% ================================================================================================
%% This was file `titto.bst',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% merlin.mbs (with options: `vonx,nm-rvvc,yr-par,jttl-rm,volp-com,jwdpg,jwdvol,numser,ser-vol,jnm-x,btit-rm,bt-rm,edparxc,bkedcap,au-col,in-col,fin-bare,pp,ed,abr,mth-bare,xedn,jabr,and-com,and-com-ed,xand,url,url-blk,em-x,nfss,')
%% ----------------------------------------
%% *** Tentative .bst file for Springer LNCS ***
%%
%% Copyright 1994-2007 Patrick W Daly
% ===============================================================
% IMPORTANT NOTICE:
% This bibliographic style (bst) file has been generated from one or
% more master bibliographic style (mbs) files, listed above.
%
% This generated file can be redistributed and/or modified under the terms
% of the LaTeX Project Public License Distributed from CTAN
% archives in directory macros/latex/base/lppl.txt; either
% version 1 of the License, or any later version.
% ===============================================================
% Name and version information of the main mbs file:
% \ProvidesFile{merlin.mbs}[2007/04/24 4.20 (PWD, AO, DPC)]
% For use with BibTeX version 0.99a or later
%-------------------------------------------------------------------
% This bibliography style file is intended for texts in ENGLISH
% This is a numerical citation style, and as such is standard LaTeX.
% It requires no extra package to interface to the main text.
% The form of the \bibitem entries is
% \bibitem{key}...
% Usage of \cite is as follows:
% \cite{key} ==>> [#]
% \cite[chap. 2]{key} ==>> [#, chap. 2]
% where # is a number determined by the ordering in the reference list.
% The order in the reference list is alphabetical by authors.
%---------------------------------------------------------------------
ENTRY
{ address
author
booktitle
chapter
doi
edition
editor
eid
howpublished
institution
journal
key
month
note
number
organization
pages
publisher
school
series
title
type
url
volume
year
}
{}
{ label }
INTEGERS { output.state before.all mid.sentence after.sentence after.block }
FUNCTION {init.state.consts}
{ #0 'before.all :=
#1 'mid.sentence :=
#2 'after.sentence :=
#3 'after.block :=
}
STRINGS { s t}
FUNCTION {output.nonnull}
{ 's :=
output.state mid.sentence =
{ ", " * write$ }
{ output.state after.block =
{ add.period$ write$
% newline$
% "\newblock " write$ % removed for titto-lncs-01
" " write$ % to avoid long spaces between title and "In: ..."
}
{ output.state before.all =
'write$
{ add.period$ " " * write$ }
if$
}
if$
mid.sentence 'output.state :=
}
if$
s
}
FUNCTION {output}
{ duplicate$ empty$
'pop$
'output.nonnull
if$
}
FUNCTION {output.check}
{ 't :=
duplicate$ empty$
{ pop$ "empty " t * " in " * cite$ * warning$ }
'output.nonnull
if$
}
FUNCTION {fin.entry}
{ duplicate$ empty$
'pop$
'write$
if$
newline$
}
FUNCTION {new.block}
{ output.state before.all =
'skip$
{ after.block 'output.state := }
if$
}
FUNCTION {new.sentence}
{ output.state after.block =
'skip$
{ output.state before.all =
'skip$
{ after.sentence 'output.state := }
if$
}
if$
}
FUNCTION {add.blank}
{ " " * before.all 'output.state :=
}
FUNCTION {add.colon}
{ duplicate$ empty$
'skip$
{ ":" * add.blank }
if$
}
FUNCTION {date.block}
{
new.block
}
FUNCTION {not}
{ { #0 }
{ #1 }
if$
}
FUNCTION {and}
{ 'skip$
{ pop$ #0 }
if$
}
FUNCTION {or}
{ { pop$ #1 }
'skip$
if$
}
STRINGS {z}
FUNCTION {remove.dots}
{ 'z :=
""
{ z empty$ not }
{ z #1 #1 substring$
z #2 global.max$ substring$ 'z :=
duplicate$ "." = 'pop$
{ * }
if$
}
while$
}
FUNCTION {new.block.checka}
{ empty$
'skip$
'new.block
if$
}
FUNCTION {new.block.checkb}
{ empty$
swap$ empty$
and
'skip$
'new.block
if$
}
FUNCTION {new.sentence.checka}
{ empty$
'skip$
'new.sentence
if$
}
FUNCTION {new.sentence.checkb}
{ empty$
swap$ empty$
and
'skip$
'new.sentence
if$
}
FUNCTION {field.or.null}
{ duplicate$ empty$
{ pop$ "" }
'skip$
if$
}
FUNCTION {emphasize}
{ skip$ }
FUNCTION {embolden}
{ duplicate$ empty$
{ pop$ "" }
{ "\textbf{" swap$ * "}" * }
if$
}
FUNCTION {tie.or.space.prefix}
{ duplicate$ text.length$ #5 <
{ "~" }
{ " " }
if$
swap$
}
FUNCTION {titto.space.prefix} % always introduce a space
{ duplicate$ text.length$ #3 <
{ " " }
{ " " }
if$
swap$
}
FUNCTION {capitalize}
{ "u" change.case$ "t" change.case$ }
FUNCTION {space.word}
{ " " swap$ * " " * }
% Here are the language-specific definitions for explicit words.
% Each function has a name bbl.xxx where xxx is the English word.
% The language selected here is ENGLISH
FUNCTION {bbl.and}
{ "and"}
FUNCTION {bbl.etal}
{ "et~al." }
FUNCTION {bbl.editors}
{ "eds." }
FUNCTION {bbl.editor}
{ "ed." }
FUNCTION {bbl.edby}
{ "edited by" }
FUNCTION {bbl.edition}
{ "edn." }
FUNCTION {bbl.volume}
{ "vol." }
FUNCTION {titto.bbl.volume} % for handling journals
{ "" }
FUNCTION {bbl.of}
{ "of" }
FUNCTION {bbl.number}
{ "no." }
FUNCTION {bbl.nr}
{ "no." }
FUNCTION {bbl.in}
{ "in" }
FUNCTION {bbl.pages}
{ "pp." }
FUNCTION {bbl.page}
{ "p." }
FUNCTION {titto.bbl.pages} % for journals
{ "" }
FUNCTION {titto.bbl.page} % for journals
{ "" }
FUNCTION {bbl.chapter}
{ "chap." }
FUNCTION {bbl.techrep}
{ "Tech. Rep." }
FUNCTION {bbl.mthesis}
{ "Master's thesis" }
FUNCTION {bbl.phdthesis}
{ "Ph.D. thesis" }
MACRO {jan} {"Jan."}
MACRO {feb} {"Feb."}
MACRO {mar} {"Mar."}
MACRO {apr} {"Apr."}
MACRO {may} {"May"}
MACRO {jun} {"Jun."}
MACRO {jul} {"Jul."}
MACRO {aug} {"Aug."}
MACRO {sep} {"Sep."}
MACRO {oct} {"Oct."}
MACRO {nov} {"Nov."}
MACRO {dec} {"Dec."}
MACRO {acmcs} {"ACM Comput. Surv."}
MACRO {acta} {"Acta Inf."}
MACRO {cacm} {"Commun. ACM"}
MACRO {ibmjrd} {"IBM J. Res. Dev."}
MACRO {ibmsj} {"IBM Syst.~J."}
MACRO {ieeese} {"IEEE Trans. Software Eng."}
MACRO {ieeetc} {"IEEE Trans. Comput."}
MACRO {ieeetcad}
{"IEEE Trans. Comput. Aid. Des."}
MACRO {ipl} {"Inf. Process. Lett."}
MACRO {jacm} {"J.~ACM"}
MACRO {jcss} {"J.~Comput. Syst. Sci."}
MACRO {scp} {"Sci. Comput. Program."}
MACRO {sicomp} {"SIAM J. Comput."}
MACRO {tocs} {"ACM Trans. Comput. Syst."}
MACRO {tods} {"ACM Trans. Database Syst."}
MACRO {tog} {"ACM Trans. Graphic."}
MACRO {toms} {"ACM Trans. Math. Software"}
MACRO {toois} {"ACM Trans. Office Inf. Syst."}
MACRO {toplas} {"ACM Trans. Progr. Lang. Syst."}
MACRO {tcs} {"Theor. Comput. Sci."}
FUNCTION {bibinfo.check}
{ swap$
duplicate$ missing$
{
pop$ pop$
""
}
{ duplicate$ empty$
{
swap$ pop$
}
{ swap$
pop$
}
if$
}
if$
}
FUNCTION {bibinfo.warn}
{ swap$
duplicate$ missing$
{
swap$ "missing " swap$ * " in " * cite$ * warning$ pop$
""
}
{ duplicate$ empty$
{
swap$ "empty " swap$ * " in " * cite$ * warning$
}
{ swap$
pop$
}
if$
}
if$
}
FUNCTION {format.url}
{ url empty$
{ "" }
% { "\urlprefix\url{" url * "}" * }
{ "\url{" url * "}" * } % changed in titto-lncs-02.bst
if$
}
FUNCTION {format.doi} % added in splncs04.bst
{ doi empty$
{ "" }
{ after.block 'output.state :=
"\doi{" doi * "}" * }
if$
}
INTEGERS { nameptr namesleft numnames }
STRINGS { bibinfo}
FUNCTION {format.names}
{ 'bibinfo :=
duplicate$ empty$ 'skip$ {
's :=
"" 't :=
#1 'nameptr :=
s num.names$ 'numnames :=
numnames 'namesleft :=
{ namesleft #0 > }
{ s nameptr
"{vv~}{ll}{, jj}{, f{.}.}"
format.name$
bibinfo bibinfo.check
't :=
nameptr #1 >
{
namesleft #1 >
{ ", " * t * }
{
s nameptr "{ll}" format.name$ duplicate$ "others" =
{ 't := }
{ pop$ }
if$
"," *
t "others" =
{
" " * bbl.etal *
}
{ " " * t * }
if$
}
if$
}
't
if$
nameptr #1 + 'nameptr :=
namesleft #1 - 'namesleft :=
}
while$
} if$
}
FUNCTION {format.names.ed}
{
'bibinfo :=
duplicate$ empty$ 'skip$ {
's :=
"" 't :=
#1 'nameptr :=
s num.names$ 'numnames :=
numnames 'namesleft :=
{ namesleft #0 > }
{ s nameptr
"{f{.}.~}{vv~}{ll}{ jj}"
format.name$
bibinfo bibinfo.check
't :=
nameptr #1 >
{
namesleft #1 >
{ ", " * t * }
{
s nameptr "{ll}" format.name$ duplicate$ "others" =
{ 't := }
{ pop$ }
if$
"," *
t "others" =
{
" " * bbl.etal *
}
{ " " * t * }
if$
}
if$
}
't
if$
nameptr #1 + 'nameptr :=
namesleft #1 - 'namesleft :=
}
while$
} if$
}
FUNCTION {format.authors}
{ author "author" format.names
}
FUNCTION {get.bbl.editor}
{ editor num.names$ #1 > 'bbl.editors 'bbl.editor if$ }
FUNCTION {format.editors}
{ editor "editor" format.names duplicate$ empty$ 'skip$
{
" " *
get.bbl.editor
% capitalize
"(" swap$ * ")" *
*
}
if$
}
FUNCTION {format.note}
{
note empty$
{ "" }
{ note #1 #1 substring$
duplicate$ "{" =
'skip$
{ output.state mid.sentence =
{ "l" }
{ "u" }
if$
change.case$
}
if$
note #2 global.max$ substring$ * "note" bibinfo.check
}
if$
}
FUNCTION {format.title}
{ title
duplicate$ empty$ 'skip$
{ "t" change.case$ }
if$
"title" bibinfo.check
}
FUNCTION {output.bibitem}
{ newline$
"\bibitem{" write$
cite$ write$
"}" write$
newline$
""
before.all 'output.state :=
}
FUNCTION {n.dashify}
{
't :=
""
{ t empty$ not }
{ t #1 #1 substring$ "-" =
{ t #1 #2 substring$ "--" = not
{ "--" *
t #2 global.max$ substring$ 't :=
}
{ { t #1 #1 substring$ "-" = }
{ "-" *
t #2 global.max$ substring$ 't :=
}
while$
}
if$
}
{ t #1 #1 substring$ *
t #2 global.max$ substring$ 't :=
}
if$
}
while$
}
FUNCTION {word.in}
{ bbl.in capitalize
":" *
" " * }
FUNCTION {format.date}
{
month "month" bibinfo.check
duplicate$ empty$
year "year" bibinfo.check duplicate$ empty$
{ swap$ 'skip$
{ "there's a month but no year in " cite$ * warning$ }
if$
*
}
{ swap$ 'skip$
{
swap$
" " * swap$
}
if$
*
remove.dots
}
if$
duplicate$ empty$
'skip$
{
before.all 'output.state :=
" (" swap$ * ")" *
}
if$
}
FUNCTION {format.btitle}
{ title "title" bibinfo.check
duplicate$ empty$ 'skip$
{
}
if$
}
FUNCTION {either.or.check}
{ empty$
'pop$
{ "can't use both " swap$ * " fields in " * cite$ * warning$ }
if$
}
FUNCTION {format.bvolume}
{ volume empty$
{ "" }
{ bbl.volume volume tie.or.space.prefix
"volume" bibinfo.check * *
series "series" bibinfo.check
duplicate$ empty$ 'pop$
{ emphasize ", " * swap$ * }
if$
"volume and number" number either.or.check
}
if$
}
FUNCTION {format.number.series}
{ volume empty$
{ number empty$
{ series field.or.null }
{ output.state mid.sentence =
{ bbl.number }
{ bbl.number capitalize }
if$
number tie.or.space.prefix "number" bibinfo.check * *
series empty$
{ "there's a number but no series in " cite$ * warning$ }
{ bbl.in space.word *
series "series" bibinfo.check *
}
if$
}
if$
}
{ "" }
if$
}
FUNCTION {format.edition}
{ edition duplicate$ empty$ 'skip$
{
output.state mid.sentence =
{ "l" }
{ "t" }
if$ change.case$
"edition" bibinfo.check
" " * bbl.edition *
}
if$
}
INTEGERS { multiresult }
FUNCTION {multi.page.check}
{ 't :=
#0 'multiresult :=
{ multiresult not
t empty$ not
and
}
{ t #1 #1 substring$
duplicate$ "-" =
swap$ duplicate$ "," =
swap$ "+" =
or or
{ #1 'multiresult := }
{ t #2 global.max$ substring$ 't := }
if$
}
while$
multiresult
}
FUNCTION {format.pages}
{ pages duplicate$ empty$ 'skip$
{ duplicate$ multi.page.check
{
bbl.pages swap$
n.dashify
}
{
bbl.page swap$
}
if$
tie.or.space.prefix
"pages" bibinfo.check
* *
}
if$
}
FUNCTION {format.journal.pages}
{ pages duplicate$ empty$ 'pop$
{ swap$ duplicate$ empty$
{ pop$ pop$ format.pages }
{
", " *
swap$
n.dashify
pages multi.page.check
'titto.bbl.pages
'titto.bbl.page
if$
swap$ tie.or.space.prefix
"pages" bibinfo.check
* *
*
}
if$
}
if$
}
FUNCTION {format.journal.eid}
{ eid "eid" bibinfo.check
duplicate$ empty$ 'pop$
{ swap$ duplicate$ empty$ 'skip$
{
", " *
}
if$
swap$ *
}
if$
}
FUNCTION {format.vol.num.pages} % this function is used only for journal entries
{ volume field.or.null embolden
duplicate$ empty$ 'skip$
{
% bbl.volume swap$ tie.or.space.prefix
titto.bbl.volume swap$ titto.space.prefix
% rationale for the change above: for journals you don't want "vol." label
% hence it does not make sense to attach the journal number to the label when
% it is short
"volume" bibinfo.check
* *
}
if$
number "number" bibinfo.check duplicate$ empty$ 'skip$
{
swap$ duplicate$ empty$
{ "there's a number but no volume in " cite$ * warning$ }
'skip$
if$
swap$
"(" swap$ * ")" *
}
if$ *
eid empty$
{ format.journal.pages }
{ format.journal.eid }
if$
}
FUNCTION {format.chapter.pages}
{ chapter empty$
'format.pages
{ type empty$
{ bbl.chapter }
{ type "l" change.case$
"type" bibinfo.check
}
if$
chapter tie.or.space.prefix
"chapter" bibinfo.check
* *
pages empty$
'skip$
{ ", " * format.pages * }
if$
}
if$
}
FUNCTION {format.booktitle}
{
booktitle "booktitle" bibinfo.check
}
FUNCTION {format.in.ed.booktitle}
{ format.booktitle duplicate$ empty$ 'skip$
{
% editor "editor" format.names.ed duplicate$ empty$ 'pop$ % changed by titto
editor "editor" format.names duplicate$ empty$ 'pop$
{
" " *
get.bbl.editor
% capitalize
"(" swap$ * ") " *
* swap$
* }
if$
word.in swap$ *
}
if$
}
FUNCTION {empty.misc.check}
{ author empty$ title empty$ howpublished empty$
month empty$ year empty$ note empty$
and and and and and
key empty$ not and
{ "all relevant fields are empty in " cite$ * warning$ }
'skip$
if$
}
FUNCTION {format.thesis.type}
{ type duplicate$ empty$
'pop$
{ swap$ pop$
"t" change.case$ "type" bibinfo.check
}
if$
}
FUNCTION {format.tr.number}
{ number "number" bibinfo.check
type duplicate$ empty$
{ pop$ bbl.techrep }
'skip$
if$
"type" bibinfo.check
swap$ duplicate$ empty$
{ pop$ "t" change.case$ }
{ tie.or.space.prefix * * }
if$
}
FUNCTION {format.article.crossref}
{
key duplicate$ empty$
{ pop$
journal duplicate$ empty$
{ "need key or journal for " cite$ * " to crossref " * crossref * warning$ }
{ "journal" bibinfo.check emphasize word.in swap$ * }
if$
}
{ word.in swap$ * " " *}
if$
" \cite{" * crossref * "}" *
}
FUNCTION {format.crossref.editor}
{ editor #1 "{vv~}{ll}" format.name$
"editor" bibinfo.check
editor num.names$ duplicate$
#2 >
{ pop$
"editor" bibinfo.check
" " * bbl.etal
*
}
{ #2 <
'skip$
{ editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
{
"editor" bibinfo.check
" " * bbl.etal
*
}
{
bbl.and space.word
* editor #2 "{vv~}{ll}" format.name$
"editor" bibinfo.check
*
}
if$
}
if$
}
if$
}
FUNCTION {format.book.crossref}
{ volume duplicate$ empty$
{ "empty volume in " cite$ * "'s crossref of " * crossref * warning$
pop$ word.in
}
{ bbl.volume
capitalize
swap$ tie.or.space.prefix "volume" bibinfo.check * * bbl.of space.word *
}
if$
editor empty$
editor field.or.null author field.or.null =
or
{ key empty$
{ series empty$
{ "need editor, key, or series for " cite$ * " to crossref " *
crossref * warning$
"" *
}
{ series emphasize * }
if$
}
{ key * }
if$
}
{ format.crossref.editor * }
if$
" \cite{" * crossref * "}" *
}
FUNCTION {format.incoll.inproc.crossref}
{
editor empty$
editor field.or.null author field.or.null =
or
{ key empty$
{ format.booktitle duplicate$ empty$
{ "need editor, key, or booktitle for " cite$ * " to crossref " *
crossref * warning$
}
{ word.in swap$ * }
if$
}
{ word.in key * " " *}
if$
}
{ word.in format.crossref.editor * " " *}
if$
" \cite{" * crossref * "}" *
}
FUNCTION {format.org.or.pub}
{ 't :=
""
address empty$ t empty$ and
'skip$
{
t empty$
{ address "address" bibinfo.check *
}
{ t *
address empty$
'skip$
{ ", " * address "address" bibinfo.check * }
if$
}
if$
}
if$
}
FUNCTION {format.publisher.address}
{ publisher "publisher" bibinfo.warn format.org.or.pub
}
FUNCTION {format.organization.address}
{ organization "organization" bibinfo.check format.org.or.pub
}
FUNCTION {article}
{ output.bibitem
format.authors "author" output.check
add.colon
new.block
format.title "title" output.check
new.block
crossref missing$
{
journal
"journal" bibinfo.check
"journal" output.check
add.blank
format.vol.num.pages output
format.date "year" output.check
}
{ format.article.crossref output.nonnull
format.pages output
}
if$
% new.block
format.doi output
format.url output
% new.block
format.note output
fin.entry
}
FUNCTION {book}
{ output.bibitem
author empty$
{ format.editors "author and editor" output.check
add.colon
}
{ format.authors output.nonnull
add.colon
crossref missing$
{ "author and editor" editor either.or.check }
'skip$
if$
}
if$
new.block
format.btitle "title" output.check
crossref missing$
{ format.bvolume output
new.block
new.sentence
format.number.series output
format.publisher.address output
}
{
new.block
format.book.crossref output.nonnull
}
if$
format.edition output
format.date "year" output.check
% new.block
format.doi output
format.url output
% new.block
format.note output
fin.entry
}
FUNCTION {booklet}
{ output.bibitem
format.authors output
add.colon
new.block
format.title "title" output.check
new.block
howpublished "howpublished" bibinfo.check output
address "address" bibinfo.check output
format.date output
% new.block
format.doi output
format.url output
% new.block
format.note output
fin.entry
}
FUNCTION {inbook}
{ output.bibitem
author empty$
{ format.editors "author and editor" output.check
add.colon
}
{ format.authors output.nonnull
add.colon
crossref missing$
{ "author and editor" editor either.or.check }
'skip$
if$
}
if$
new.block
format.btitle "title" output.check
crossref missing$
{
format.bvolume output
format.chapter.pages "chapter and pages" output.check
new.block
new.sentence
format.number.series output
format.publisher.address output
}
{
format.chapter.pages "chapter and pages" output.check
new.block
format.book.crossref output.nonnull
}
if$
format.edition output
format.date "year" output.check
% new.block
format.doi output
format.url output
% new.block
format.note output
fin.entry
}
FUNCTION {incollection}
{ output.bibitem
format.authors "author" output.check
add.colon
new.block
format.title "title" output.check
new.block
crossref missing$
{ format.in.ed.booktitle "booktitle" output.check
format.bvolume output
format.chapter.pages output
new.sentence
format.number.series output
format.publisher.address output
format.edition output
format.date "year" output.check
}
{ format.incoll.inproc.crossref output.nonnull
format.chapter.pages output
}
if$
% new.block
format.doi output
format.url output
% new.block
format.note output
fin.entry
}
FUNCTION {inproceedings}
{ output.bibitem
format.authors "author" output.check
add.colon
new.block
format.title "title" output.check
new.block
crossref missing$
{ format.in.ed.booktitle "booktitle" output.check
new.sentence % added by titto
format.bvolume output
format.pages output
new.sentence
format.number.series output
publisher empty$
{ format.organization.address output }
{ organization "organization" bibinfo.check output
format.publisher.address output
}
if$
format.date "year" output.check
}
{ format.incoll.inproc.crossref output.nonnull
format.pages output
}
if$
% new.block
format.doi output
format.url output
% new.block
format.note output
fin.entry
}
FUNCTION {conference} { inproceedings }
FUNCTION {manual}
{ output.bibitem
author empty$
{ organization "organization" bibinfo.check
duplicate$ empty$ 'pop$
{ output
address "address" bibinfo.check output
}
if$
}
{ format.authors output.nonnull }
if$
add.colon
new.block
format.btitle "title" output.check
author empty$
{ organization empty$
{
address new.block.checka
address "address" bibinfo.check output
}
'skip$
if$
}
{
organization address new.block.checkb
organization "organization" bibinfo.check output
address "address" bibinfo.check output
}
if$
format.edition output
format.date output
% new.block
format.doi output
format.url output
% new.block
format.note output
fin.entry
}
FUNCTION {mastersthesis}
{ output.bibitem
format.authors "author" output.check
add.colon
new.block
format.btitle
"title" output.check
new.block
bbl.mthesis format.thesis.type output.nonnull
school "school" bibinfo.warn output
address "address" bibinfo.check output
format.date "year" output.check
% new.block
format.doi output
format.url output
% new.block
format.note output
fin.entry
}
FUNCTION {misc}
{ output.bibitem
format.authors output
add.colon
title howpublished new.block.checkb
format.title output
howpublished new.block.checka
howpublished "howpublished" bibinfo.check output
format.date output
% new.block
format.doi output
format.url output
% new.block
format.note output
fin.entry
empty.misc.check
}
FUNCTION {phdthesis}
{ output.bibitem
format.authors "author" output.check
add.colon
new.block
format.btitle
"title" output.check
new.block
bbl.phdthesis format.thesis.type output.nonnull
school "school" bibinfo.warn output
address "address" bibinfo.check output
format.date "year" output.check
% new.block
format.doi output
format.url output
% new.block
format.note output
fin.entry
}
FUNCTION {proceedings}
{ output.bibitem
editor empty$
{ organization "organization" bibinfo.check output
}
{ format.editors output.nonnull }
if$
add.colon
new.block
format.btitle "title" output.check
format.bvolume output
editor empty$
{ publisher empty$
{ format.number.series output }
{
new.sentence
format.number.series output
format.publisher.address output
}
if$
}
{ publisher empty$
{
new.sentence
format.number.series output
format.organization.address output }
{
new.sentence
format.number.series output
organization "organization" bibinfo.check output
format.publisher.address output
}
if$
}
if$
format.date "year" output.check
% new.block
format.doi output
format.url output
% new.block
format.note output
fin.entry
}
FUNCTION {techreport}
{ output.bibitem
format.authors "author" output.check
add.colon
new.block
format.title
"title" output.check
new.block
format.tr.number output.nonnull
institution "institution" bibinfo.warn output
address "address" bibinfo.check output
format.date "year" output.check
% new.block
format.doi output
format.url output
% new.block
format.note output
fin.entry
}
FUNCTION {unpublished}
{ output.bibitem
format.authors "author" output.check
add.colon
new.block
format.title "title" output.check
format.date output
% new.block
format.url output
% new.block
format.note "note" output.check
fin.entry
}
FUNCTION {default.type} { misc }
READ
FUNCTION {sortify}
{ purify$
"l" change.case$
}
INTEGERS { len }
FUNCTION {chop.word}
{ 's :=
'len :=
s #1 len substring$ =
{ s len #1 + global.max$ substring$ }
's
if$
}
FUNCTION {sort.format.names}
{ 's :=
#1 'nameptr :=
""
s num.names$ 'numnames :=
numnames 'namesleft :=
{ namesleft #0 > }
{ s nameptr
"{ll{ }}{ ff{ }}{ jj{ }}"
format.name$ 't :=
nameptr #1 >
{
" " *
namesleft #1 = t "others" = and
{ "zzzzz" * }
{ t sortify * }
if$
}
{ t sortify * }
if$
nameptr #1 + 'nameptr :=
namesleft #1 - 'namesleft :=
}
while$
}
FUNCTION {sort.format.title}
{ 't :=
"A " #2
"An " #3
"The " #4 t chop.word
chop.word
chop.word
sortify
#1 global.max$ substring$
}
FUNCTION {author.sort}
{ author empty$
{ key empty$
{ "to sort, need author or key in " cite$ * warning$
""
}
{ key sortify }
if$
}
{ author sort.format.names }
if$
}
FUNCTION {author.editor.sort}
{ author empty$
{ editor empty$
{ key empty$
{ "to sort, need author, editor, or key in " cite$ * warning$
""
}
{ key sortify }
if$
}
{ editor sort.format.names }
if$
}
{ author sort.format.names }
if$
}
FUNCTION {author.organization.sort}
{ author empty$
{ organization empty$
{ key empty$
{ "to sort, need author, organization, or key in " cite$ * warning$
""
}
{ key sortify }
if$
}
{ "The " #4 organization chop.word sortify }
if$
}
{ author sort.format.names }
if$
}
FUNCTION {editor.organization.sort}
{ editor empty$
{ organization empty$
{ key empty$
{ "to sort, need editor, organization, or key in " cite$ * warning$
""
}
{ key sortify }
if$
}
{ "The " #4 organization chop.word sortify }
if$
}
{ editor sort.format.names }
if$
}
FUNCTION {presort}
{ type$ "book" =
type$ "inbook" =
or
'author.editor.sort
{ type$ "proceedings" =
'editor.organization.sort
{ type$ "manual" =
'author.organization.sort
'author.sort
if$
}
if$
}
if$
" "
*
year field.or.null sortify
*
" "
*
title field.or.null
sort.format.title
*
#1 entry.max$ substring$
'sort.key$ :=
}
ITERATE {presort}
SORT
STRINGS { longest.label }
INTEGERS { number.label longest.label.width }
FUNCTION {initialize.longest.label}
{ "" 'longest.label :=
#1 'number.label :=
#0 'longest.label.width :=
}
FUNCTION {longest.label.pass}
{ number.label int.to.str$ 'label :=
number.label #1 + 'number.label :=
label width$ longest.label.width >
{ label 'longest.label :=
label width$ 'longest.label.width :=
}
'skip$
if$
}
EXECUTE {initialize.longest.label}
ITERATE {longest.label.pass}
FUNCTION {begin.bib}
{ preamble$ empty$
'skip$
{ preamble$ write$ newline$ }
if$
"\begin{thebibliography}{" longest.label * "}" *
write$ newline$
"\providecommand{\url}[1]{\texttt{#1}}"
write$ newline$
"\providecommand{\urlprefix}{URL }"
write$ newline$
"\providecommand{\doi}[1]{https://doi.org/#1}"
write$ newline$
}
EXECUTE {begin.bib}
EXECUTE {init.state.consts}
ITERATE {call.type$}
FUNCTION {end.bib}
{ newline$
"\end{thebibliography}" write$ newline$
}
EXECUTE {end.bib}
%% End of customized bst file
%%
%% End of file `titto.bst'.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment