Det är vanligt att utvecklare av användarvänlig programvara omvandlar en prototyp av ett grafiskt användargränssnitt (GUI) till kod. Denna process äger rum både i början av ett program och i ett evolutionärt sammanhang då GUI-förändringar håller jämna steg med föränderliga funktioner. Tyvärr är denna praxis utmanande och tidskrävande. I detta dokument presenterar vi ett tillvägagångssätt som automatiserar denna process genom att möjliggöra korrekt prototypering av grafiska gränssnitt via tre uppgifter: detektion, klassificering och montering. Först, logiska komponenter i ett grafiskt gränssnitt upptäcks från en mock-up artefakt med antingen datorseende tekniker eller mock-up metadata. Sedan, programvara arkivbrytning, automatiserad dynamisk analys, och djupa konvolutionella neurala nätverk används för att exakt klassificera GUI-komponenter i domänspecifika typer (t.ex., växla-knapp). Slutligen, en datadriven, K-nearest-grannar algoritm genererar en lämplig hierarkisk GUI struktur från vilken en prototypapplikation kan monteras automatiskt. Vi implementerade detta tillvägagångssätt för Android i ett system som kallas REDRAW. Vår utvärdering visar att REDRAW uppnår en genomsnittlig GUI-komponentklassificeringsnoggrannhet på 91 procent och monterar prototypapplikationer som noga speglar mock-ups i form av visuell affinitet samtidigt som den uppvisar en rimlig kodstruktur. Intervjuer med industriutövare illustrerar Redraws potential att förbättra arbetsflöden för verklig utveckling.
I detta tillvägagångssätt, en djup CNN används för att klassificera grafiska komponenter som senare kan användas för att generera en prototyp GUI för en specifik app REF.
Machine Learning-Based Prototyping of Graphical User Interfaces for Mobile Apps
{'venue': 'IEEE Transactions on Software Engineering', 'journal': 'IEEE Transactions on Software Engineering', 'mag_field_of_study': ['Computer Science']}