VaryLATEX: Learning Paper Variants That Meet Constraints

How to submit a research paper, a technical report, a grant proposal, or a curriculum vitae that respect imposed constraints such as formatting instructions and page limits? It is a challenging task, especially when coping with time pressure. In this work, we present VaryLATEX, a solution based on variability, constraint programming, and machine learning techniques for documents written in LATEX to meet constraints and deliver on time. Users simply have to annotate LATEX source files with variability information, e.g., (de)activating portions of text, tuning figures' sizes, or tweaking line spacing. Then, a fully automated procedure learns constraints among Boolean and numerical values for avoiding non-acceptable paper variants, and finally, users can further configure their papers (e.g., aesthetic considerations) or pick a (random) paper variant that meets constraints, e.g., page limits. We describe our implementation and report the results of two experiences with VaryLATEX.

[1]  Danilo Beuche Modeling and building software product lines with pure::variants , 2011, SPLC '11.

[2]  Sven Apel,et al.  Variability-aware performance prediction: A statistical learning approach , 2013, 2013 28th IEEE/ACM International Conference on Automated Software Engineering (ASE).

[3]  Charles W. Krueger,et al.  Systems and software product line engineering with BigLever software gears , 2012, SPLC Workshops.

[4]  Thomas Leich,et al.  FeatureIDE: A tool framework for feature-oriented software development , 2009, 2009 IEEE 31st International Conference on Software Engineering.

[5]  Mikolás Janota,et al.  On lazy and eager interactive reconfiguration , 2014, VaMoS '14.

[6]  Jean-Marc Jézéquel,et al.  Product lines can jeopardize their trade secrets , 2015, ESEC/SIGSOFT FSE.

[7]  Olivier Barais,et al.  Learning Contextual-Variability Models , 2017, IEEE Software.

[8]  Jean-Marc Jézéquel,et al.  Learning-Based Performance Specialization of Configurable Systems , 2017 .

[9]  Wei-Yin Loh,et al.  Classification and regression trees , 2011, WIREs Data Mining Knowl. Discov..

[10]  Charles W. Krueger,et al.  Systems and software product line engineering with BigLever software gears , 2012, SPLC.

[11]  Krzysztof Czarnecki,et al.  Empirical comparison of regression methods for variability-aware performance prediction , 2015, SPLC.

[12]  Mathieu Acher,et al.  FAMILIAR: A domain-specific language for large scale management of feature models , 2013, Sci. Comput. Program..

[13]  Sven Apel,et al.  Scalable Prediction of Non-functional Properties in Software Product Lines , 2011, 2011 15th International Software Product Line Conference.

[14]  Mathieu Acher,et al.  The Anatomy of a Sales Configurator: An Empirical Study of 111 Cases , 2013, CAiSE.

[15]  Sergio Segura,et al.  Automated analysis of feature models 20 years later: A literature review , 2010, Inf. Syst..

[16]  Jacques Klein,et al.  Variability Management and Assessment for User Interface Design , 2017, Human Centered Software Product Lines.

[17]  Sven Apel,et al.  Cost-Efficient Sampling for Performance Prediction of Configurable Systems (T) , 2015, 2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE).

[18]  Yi Zhang,et al.  Performance Prediction of Configurable Software Systems by Fourier Learning (T) , 2015, 2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE).

[19]  Jean-Marc Jézéquel,et al.  Using machine learning to infer constraints for product lines , 2016, SPLC.

[20]  Krzysztof Czarnecki,et al.  Generating range fixes for software configuration , 2012, 2012 34th International Conference on Software Engineering (ICSE).